Welcher Befehl in Linux / UNIX druckt über die sh
Shell (nicht bash
) mein aktuelles Verzeichnis aus?
$ *showmewhereiam*
/sys/kernel/debug
$
unix whereami
Welcher Befehl in Linux / UNIX druckt über die sh
Shell (nicht bash
) mein aktuelles Verzeichnis aus?
$ *showmewhereiam*
/sys/kernel/debug
$
unix whereami
Antworten:
Versuchen Sie es pwd
.
$ pwd
/home/<username>
/dev
etwas über entwicklung (
Während die allgemeine Antwort ist pwd
, dass Notiz kann dies zu unterschiedlichen Ergebnissen führen , je nachdem , wie Sie ein bestimmtes Verzeichnis erreicht, und ob die Route enthalten symbolische Links.
Wenn Sie beispielsweise ein Verzeichnis mit dem Namen real
und eine symbolische Verknüpfung zu diesem Verzeichnis virtual
und cd
zu dem virtual
Verzeichnis haben, pwd
wird dieser virtual
Verzeichnisname angezeigt, obwohl sich das aktuelle Verzeichnis in dem Sie befinden real
.
Verwenden Sie zum Anzeigen des tatsächlichen zugrunde liegenden Verzeichnisses entweder pwd -P
oder readlink -f
(für einen beliebigen Pfad):
$ mkdir real $ ln -s echt virtuell $ cd virtual $ pwd / home / benutzername / tmp / virtual $ pwd -P / home / benutzername / tmp / real $ readlink -f. / home / benutzername / tmp / real
Beachten Sie, dass Schalen oft den ersetzen pwd
Befehl mit ihrer eigenen internen Version, so auf meinem System (RHEL6), auch wenn die pwd(1)
manuelle Seite , dass deutet darauf hin , --physical
wie gut funktionieren wie -P
, weil ich laufe bash
, tut es nicht:
$ pwd --physical bash: pwd: -: ungültige Option pwd: usage: pwd [-LP] $ / bin / pwd --physical / home / benutzername / tmp / real $ / usr / bin / env pwd --physical / home / benutzername / tmp / real
Wie andere sagten, pwd
erledigt die Arbeit in der Regel gut genug. Ich möchte jedoch eine Idee hinzufügen, die mir geholfen hat.
Auf allen heute gebräuchlichen Shells können Sie das Erscheinungsbild der Eingabeaufforderung anpassen. Ich passe meine gerne so an, dass sowohl der Name des Computers, auf dem ich mich befinde, als auch mein Arbeitsverzeichnis angezeigt werden. So weiß ich immer, wo ich bin. (Der Teil mit dem Computernamen hilft mir zu erkennen, ob das von mir verwendete Terminalfenster für SSH auf einem Remote-Server verwendet wurde.) Wenn ich beispielsweise ein neues Terminalfenster auf meinem Laptop öffne, das ich Plastico nenne, sehe ich Folgendes:
Plastico ~> cd Desktop/
Plastico ~/Desktop> cd ~/Sites/raygunrobot.com
Plastico ~/Sites/raygunrobot.com> cd /usr
Plastico /usr>
Sie können sehen, dass es mein Ausgangsverzeichnis als abkürzt ~
. Ich finde es unglaublich praktisch, dies für meine Terminal-Eingabeaufforderungen zu tun - ich weiß immer auf einen Blick, wo ich mich gerade befinde, und das noch mehr, als wenn ich in ein Finder-Fenster schaue.
Unter tcsh set prompt = 'Plastico %~%# '
füge ich dies zu meiner .tcshrc-Datei in meinem Ausgangsverzeichnis hinzu . Ich habe es auch auf ksh gemacht, indem ich export PS1="Plastico $PWD $ "
es meiner .profile-Datei hinzugefügt habe. Aber als Linux-Benutzer verwenden Sie wahrscheinlich Bash, mit dem ich nicht viel Erfahrung habe (ich bin so ein Verrückter). Aber es sieht so aus, als könnte ich es schaffen, indem ich PS1="Plastico \w $ "
es meiner .bashrc-Datei hinzufüge .
Edit: Ich habe gerade die OP-Zustände bemerkt, die dich interessieren, sh, nicht bash. Naja; Ich hoffe, die Leute finden das trotzdem nützlich.
Plastico /var/www/vhosts/myveryexcellentwebsite.com/public_html/wp-content/themes/myveryexcellenttheme/js/vendor/excellentjs/ >
oder so.
$ pwd
/your/current/directory
$
pwd
kommt aus dem Druck-Arbeitsverzeichnis .
Name
pwd - druckt den Namen des aktuellen / Arbeitsverzeichnisses
Zusammenfassung
pwd [OPTION] ...
Beschreibung
Gibt den vollständigen Dateinamen des aktuellen Arbeitsverzeichnisses aus.
-L , --logisch
Verwenden Sie PWD aus der Umgebung, auch wenn es Symlinks enthält
-P , --physikalisch
Vermeiden Sie alle Symlinks
--Hilfe
Diese Hilfe anzeigen und beenden
--Ausführung
Versionsinformationen ausgeben und beenden
ANMERKUNG: Ihre Shell verfügt möglicherweise über eine eigene Version von pwd, die normalerweise die hier beschriebene Version ersetzt. Weitere Informationen zu den unterstützten Optionen finden Sie in der Dokumentation Ihrer Shell.
(...)