whereis pwd
pwd: /bin/pwd /usr/include/pwd.h /usr/share/man/man1/pwd.1.gz
Das pwd im Binärordner ist nicht dasselbe wie
type pwd
pwd is a shell builtin
wäre es also nicht harmlos, mit dem externen pwd zu experimentieren? Wie das Hinzufügen eines „Hallo Muschel!“ Cout, nur um das Prinzip zu demonstrieren?
Wo ist die Quelle für pwd? Bekommst du es normalerweise mit der Distribution (ich bin auf Debian) oder installierst oder lädst du es irgendwie herunter? Ist es in C? Kompiliere ich es wie jede andere Datei mit gcc und lege das Ergebnis (mit passendem chmod) in einen Ordner, der vom Pfad umfasst ist? Was ist mit Upgrades? Wie Sie verstehen, fehlt mir hier das Gesamtbild.
(Übrigens scheint die Header-Datei nichts damit zu tun zu haben:pwd wie im Passwort, nicht print/present working directory.)
Akzeptierte Antwort:
Wäre es nicht harmlos, mit dem externen pwd zu experimentieren?
Es ist eine schlechte Wette, dass nichts /bin/pwd
verwendet . Es hat sich bewährt, in Shell-Skripten – insbesondere solchen, die üblicherweise von root ausgeführt werden – aus Sicherheitsgründen vollständige Pfade für externe Programme anzugeben.
Dennoch könnten Sie sicher ein benutzerdefiniertes pwd
erstellen und legen Sie es irgendwo in Ihrem Home-Verzeichnis ab. Wenn das Paket Autoconf verwendet, reicht dies normalerweise aus, um ein Paket zu konfigurieren, das in Ihrem Home-Verzeichnis installiert werden soll:
$ ./configure --prefix=$HOME
Sie könnten etwas wie --prefix=$HOME/pwd-test
sagen stattdessen, um Konflikte zu vermeiden.
Solange das Build-System des Pakets korrekt eingerichtet ist, können Sie, wenn Sie es so konfiguriert haben, getrost make install
sagen ohne root zu sein, da alle Dateien, die es schreibt, unter dem von Ihnen angegebenen Präfix stehen sollten.
Wo ist die Quelle für pwd?
pwd
ist Teil von coreutils
. Solche Dinge finden Sie mit der Debian-Paketsuchmaschine heraus.
Bekommst du es normalerweise mit der Distribution (ich verwende Debian)
Sie haben die Distributionsquellen wahrscheinlich noch nicht heruntergeladen, aber ja, es wird als Teil der Debian-Distribution betrachtet. Sie sind in ein Quell-DVD-Set mit sechs (!) DVDs aufgeteilt, das etwa 25 GB umfasst, weshalb die meisten Leute sie nie herunterladen.
Wenn Sie jedoch nicht versuchen, die gesamte Debian-Distribution neu zu erstellen oder eine abgeleitete Distribution zu erstellen, sollten Sie sie wahrscheinlich auch jetzt nicht herunterladen. A la carte Downloads sind in diesem Stadium wahrscheinlich eine bessere Idee.
installierst oder lädst du es irgendwie herunter?
Ja, Sie können auch apt-get
verwenden um Quellcode für Pakete zu installieren. Dazu gibt es ein ganzes Kapitel im APT HOWTO.
(Dieses Dokument ist als veraltet markiert, aber ich sehe kein Ersatzdokument.)
Ist es in C?
Aller Wahrscheinlichkeit nach ja.
Kompiliere ich sie wie jede andere Datei mit gcc und lege das Ergebnis (mit passendem chmod) in einen vom Pfad eingeschlossenen Ordner?
Wahrscheinlich führen Sie gcc nicht direkt aus, Sie führen wahrscheinlich die standardmäßige configure ; make ; make install
tanzen. Wenn Sie den Quell-Tarball von der Debian-Paketsuchseite herunterladen, werden Sie wahrscheinlich einen INSTALL
finden oder README
Datei im Tarball, die Bauanweisungen enthält.
Was ist mit Upgrades?
Was ist mit denen? Die Paketsuchmaschine hilft Ihnen, jede gewünschte Version der Software zu finden, und apt-get
hilft Ihnen dabei, Änderungen an den Quellen nachzuverfolgen, genau wie bei Binärdateien.
Mir fehlt hier das Gesamtbild.
Dann sollten Sie vielleicht einen Blick in die Debian-Dokumentation werfen.
die Header-Datei scheint nichts damit zu tun zu haben:pwd wie im Passwort, nicht print/present working directory.)
Jep. Es ist ein Utility-Header für C-Programmierer, um Zugriff auf die Benutzerdatenbank zu erhalten. Sagen Sie man 3 getpwent
um eine Vorstellung davon zu bekommen, was über diese Schnittstelle verfügbar ist.