Die Frage ist über Windows, aber Sie haben getaggt Linux Daher gilt meine Antwort für Linux.
Jedes Mal, wenn Sie einen Befehl aufrufen, gibt es einen Arbeitsverzeichnis Du bist gerade dabei; .
bezeichnet dieses Verzeichnis. pwd
ist ein allgemeiner Befehl, um zu wissen, was dieses Verzeichnis ist. Während der Arbeit in einer Muschel wie bash
Sie können mit in ein anderes Verzeichnis wechseln cd /another/directory/path
.
Einige Befehle (wie cd
oben) Verzeichnisse (d. h. deren Pfade) als Argumente akzeptieren. Jetzt möchte ich über offensichtliche Grundlagen sprechen. aber deine frage scheint einfach zu sein, also los geht's. Die allgemeine Syntax, an die ein Argument übergeben werden soll some_command
ist wie:
some_command argument
oder sogar eine beliebige Anzahl von Argumenten (vier in diesem Beispiel):
some_command argument1 argument2 "argument3 with spaces" argument4
Sie können verwenden .
als Argument anstelle des von zurückgegebenen Pfades pwd
. Ob Der Befehl interpretiert es als Pfad zum Verzeichnis, dann sollte es als das aktuelle Arbeitsverzeichnis verstanden werden. Obwohl cd .
hat wenig Sinn, weil es Ihre Shell dazu bringt, in dasselbe Verzeichnis zu "wechseln", in dem sie sich bereits befindet. Die Syntax ist vollkommen gültig. Nützliches Beispiel ist
df .
Es wird der Speicherplatzbedarf des Dateisystems gemeldet, in dem sich Ihr aktuelles Arbeitsverzeichnis befindet.
Es gibt Befehle, die standardmäßig für das aktuelle Arbeitsverzeichnis ausgeführt werden: ls
ist äquivalent zu ls .
, du
ist äquivalent zu du .
. Beachten Sie, dass dies nicht immer der Fall ist: df
druckt dabei alle verfügbaren Dateisysteme aus df .
druckt nur einen davon.
Ich hab geschrieben " ob Der Befehl interpretiert ihn als Pfad zum Verzeichnis ", da einige Befehle dies nicht tun bash
der Befehl
tr . , <<< foo.bar
wird gedruckt foo,bar
( tr
ersetzt .
mit ,
im gegebenen foo.bar
Zeichenfolge). Das ist weil tr
interpretiert .
als Einzelzeichenfolge.
Das zeigt .
wird von der Shell nicht in den aktuellen Verzeichnispfad übersetzt. Vergleichen Sie dies mit ~
was auf den Wert von übersetzt wird $HOME
(Versuchen echo ~
im bash
). Die Interpretation von .
da ein bestimmter Pfad weit in das Design des Verzeichnisbaums unter Linux hineinreicht (allgemeiner: unter UNIX).
So kann jeder Befehl interpretieren .
allein. Wenn es sich jedoch um einen Verzeichnispfad handelt, sollte es sich laut Konvention um das aktuelle Arbeitsverzeichnis handeln. Linux versteht dies und bietet Tools, um diese "Konvertierung" zu unterstützen.
Beachten Sie auch ls -a
fast immer druckt .
unter dem "echten" Verzeichnisinhalt. Interessant wird es, wenn Ihr aktuelles Arbeitsverzeichnis gelöscht wird. In diesem Fall ls -a
druckt nichts, aber ls .
oder df .
noch arbeiten, als ob .
war dort.