whereis pwd
pwd: /bin/pwd /usr/include/pwd.h /usr/share/man/man1/pwd.1.gz
Pwd v binární složce není totéž jako
type pwd
pwd is a shell builtin
takže by nebylo neškodné udělat nějaké experimenty na externím pwd? Jako přidání „Ahoj shell!“ cout jen proto, aby demonstroval princip?
Kde je zdroj pro pwd? Získáváte to obvykle s distribucí (jsem na Debianu) nebo to nějak instalujete nebo stahujete? Je to v C? Zkompiluji to jako jakýkoli jiný soubor s gcc a vložím výsledek (s odpovídajícím chmod) do složky zahrnuté v cestě? A co upgrady? Jak jste pochopili, chybí mi zde celkový obraz.
(Mimochodem, soubor záhlaví se zdá být nesouvisející:pwd jako heslo, nikoli pracovní adresář print/sent.)
Přijatá odpověď:
nebylo by neškodné udělat nějaké experimenty na externím pwd?
Je špatné, že nic nepoužívá /bin/pwd
. Ve skriptech shellu – zejména těch, které běžně spouští root – je dobré z bezpečnostních důvodů uvádět úplné cesty k externím programům.
Přesto můžete bezpečně vytvořit vlastní pwd
a vložte jej někam do svého domovského adresáře. Pokud balíček používá Autoconf, obvykle to stačí ke konfiguraci balíčku, který se má nainstalovat do vašeho domovského adresáře:
$ ./configure --prefix=$HOME
Můžete říct něco jako --prefix=$HOME/pwd-test
místo toho, abyste se vyhnuli jakékoli možnosti konfliktu.
Pokud je systém sestavení balíčku správně nastaven, můžete po jeho konfiguraci bezpečně říci make install
aniž by byl root, protože všechny soubory, které zapisuje, by měly spadat pod vámi zadanou předponu.
Kde je zdroj pro pwd?
pwd
je součástí coreutils
. Takové věci zjistíte pomocí vyhledávače balíčků Debianu.
Obvykle to dostanete s distribucí (jsem na Debianu)
Pravděpodobně jste si ještě nestáhli zdroje distribuce, ale ano, je to považováno za součást distribuce Debian. Jsou rozděleny do šestidiskové (!) zdrojové DVD sady, obsahující asi 25 GB, což je důvod, proč je většina lidí nikdy nestáhne.
Pokud se nesnažíte udělat něco jako přestavět celou distribuci Debianu nebo vytvořit odvozenou distribuci, pravděpodobně byste je neměli stahovat ani nyní. A la carte stahování je v této fázi pravděpodobně lepší nápad.
instalujete nebo stahujete to nějak?
Ano, můžete také použít apt-get
k instalaci zdrojového kódu pro balíčky. V APT HOWTO je o tom celá kapitola.
(Tento dokument je označen jako zastaralý, ale nevidím náhradní dokument.)
Je to v C?
S největší pravděpodobností ano.
Mám to zkompilovat jako jakýkoli jiný soubor s gcc a vložit výsledek (s odpovídajícím chmod) do složky zahrnuté v cestě?
Pravděpodobně nespouštíte gcc přímo, pravděpodobně provádíte standardní konfiguraci configure ; make ; make install
tanec. Pokud si stáhnete zdrojový tarball ze stránky pro vyhledávání balíčků Debianu, pravděpodobně najdete INSTALL
nebo README
soubor v tarballu, který bude obsahovat pokyny pro sestavení.
A co upgrady?
co s nimi? Vyhledávač balíčků vám pomůže najít jakoukoli verzi softwaru, kterou pravděpodobně budete chtít, a apt-get
vám pomůže sledovat změny ve zdrojích stejně jako u binárních souborů.
Chybí mi tu velký obrázek.
Pak se můžete podívat na dokumentaci k Debianu.
hlavičkový soubor se zdá být nesouvisející:pwd jako v hesle, nikoli pracovní adresář print/prezentovat.)
Ano. Je to hlavička nástroje pro programátory v jazyce C pro získání přístupu k databázi uživatelů. Řekněte man 3 getpwent
abyste získali představu o tom, co je prostřednictvím tohoto rozhraní k dispozici.