Welcher Befehl in der Linux/UNIX sh Shell gibt mein aktuelles Verzeichnis zurück?
Welcher Befehl in Linux/UNIX druckt mit der Shell sh
(nicht bash
) mein aktuelles Verzeichnis aus?
$ *showmewhereiam*
/sys/kernel/debug
$
4 answers
Versuche pwd
.
$ pwd
/home/<username>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-06-21 10:32:09
Während die allgemeine Antwort pwd
ist, beachten Sie, dass dies je nachdem, wie Sie ein bestimmtes Verzeichnis erreicht haben und ob die Route symbolische Links enthält, unterschiedliche Ergebnisse liefern kann.
Wenn Sie beispielsweise ein Verzeichnis mit dem Namen real
und einen symbolischen Link zu diesem Verzeichnis mit dem Namen virtual
und cd
zum Verzeichnis virtual
haben, dann zeigt pwd
diesen Verzeichnisnamen an, obwohl sich das tatsächliche Verzeichnis in dem Sie befinden real
.
Um das eigentliche zugrunde liegende Verzeichnis anzuzeigen, verwenden Sie entweder pwd -P
oder readlink -f
(für einen beliebigen Pfad):
$ mkdir real $ ln -s real virtual $ cd virtual $ pwd /home/username/tmp/virtual $ pwd -P /home/username/tmp/real $ readlink -f . /home/username/tmp/real
Beachten Sie, dass Shells häufig den Befehl pwd
durch ihre eigene interne Version ersetzen, also auf meinem System (RHEL6), obwohl die pwd(1)
- Handbuchseite vorschlägt, dass --physical
genauso gut funktioniert wie -P
, weil ich bash
ausführe, nicht:
$ pwd --physical bash: pwd: --: invalid option pwd: usage: pwd [-LP] $ /bin/pwd --physical /home/username/tmp/real $ /usr/bin/env pwd --physical /home/username/tmp/real
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-08-17 13:54:15
Wie andere sagten, macht pwd
normalerweise die Arbeit 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 möchte meine so anpassen, dass sie mir sowohl den Namen des Computers, auf dem ich mich befinde, als auch mein Arbeitsverzeichnis anzeigt. So weiß ich immer, wo ich bin. (Der Computernamenteil hilft mir zu erkennen, ob das von mir verwendete Terminalfenster zum SSH auf einem Remote-Server verwendet wurde.) Für 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 mein Home-Verzeichnis als ~
abgekürzt wird. Ich finde es unglaublich praktisch, dies für mein Terminal zu tun - ich weiß immer auf einen Blick genau, wo ich bin, noch mehr als durch einen Blick in ein Finder-Fenster.
Auf tcsh mache ich dies, indem ich set prompt = 'Plastico %~%# '
zu my hinzufüge .tcshrc Datei in meinem home-Verzeichnis. Ich habe es auch auf ksh gemacht, indem ich export PS1="Plastico $PWD $ "
zu meinem hinzugefügt habe .Profildatei. Aber sein als Linux-Benutzer verwenden Sie wahrscheinlich Bash, mit dem ich nicht viel Erfahrung habe (ich bin so ein Verrückter). Aber es sieht aus wie Ich könnte es tun, indem ich PS1="Plastico \w $ "
zu meinem hinzufüge .bashrc-Datei.
Edit: Gerade bemerkt, dass das OP besagt, dass Sie an sh interessiert sind, nicht bash. Na ja; Hoffe, die Leute finden das trotzdem nützlich.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-06-22 03:44:20
$ pwd
/your/current/directory
$
pwd
kommt aus dem Arbeitsverzeichnis print .
Von Linux Manpage:
Namen
Pwd - Druckname des aktuellen / Arbeitsverzeichnisses
Übersicht
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, - physikalische
Vermeide alle Symlinks
--Hilfe
Zeige diese Hilfe an und beende
--version
Versionsinformationen ausgeben und beenden
HINWEIS: Ihre Shell hat möglicherweise eine eigene Version von pwd, die normalerweise die hier beschriebene Version ersetzt. Einzelheiten zu den unterstützten Optionen finden Sie in der Dokumentation Ihrer Shell.
(...)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-12 13:48:39