Was bedeutet Linux .(Punkt)?

(*-*)浩
(*-*)浩Original
2019-11-04 09:23:019782Durchsuche

Was bedeutet Linux .(Punkt)?

Der Punktbefehl „.“ ist ein interner Befehl der Shell. Er liest alle Befehlsanweisungen aus der angegebenen Shell-Datei und führt sie aus aktuellen Prozess umsetzen. (Empfohlenes Lernen: Linux-Betrieb und -Wartung )

Wenn daher mehrere Shell-Prozesse (entweder Eltern-Kind-Prozesse oder nicht verwandte Prozesse) einen Satz von Variablenwerten gemeinsam nutzen, können diese Variablen dies tun be Die Zuweisungsanweisung ist in einer Shell-Datei definiert, und Punktanweisungen werden verwendet, um in Programmen, die diese Variablenwerte erfordern, auf die Shell-Datei zu verweisen, wodurch die gemeinsame Nutzung von Variablenwerten realisiert wird (Änderungen an diesen Variablenwerten betreffen nur diese Shell-Datei).

Es ist jedoch zu beachten, dass diese Shell-Datei keine Anweisungen mit Positionsparametern enthalten kann, d. h. sie kann keine Befehlszeilenparameter wie $1, $2 usw. akzeptieren.

Nehmen wir diesen unscheinbaren Punkt (.) als Beispiel. Wenn es am Parameter eines Befehls platziert wird, der einen Verzeichnisnamen erfordert, bedeutet es „das aktuelle Verzeichnis“:

find . -name "*.jpg"

bedeutet „Suchen Sie im aktuellen Verzeichnis (einschließlich Unterverzeichnissen) nach Dateien mit der Endung .jpg ) dokumentieren".

ls und cd funktionieren ebenfalls wie erwartet, sie zählen das aktuelle Verzeichnis auf und geben es ein, obwohl dieser Punkt in beiden Fällen überflüssig ist.

Und zwei Punkte, die unmittelbar aufeinander folgen, bedeuten im selben Szenario (d. h. wenn Ihr Befehl ein Dateiverzeichnis erwartet) „das übergeordnete Verzeichnis des aktuellen Verzeichnisses“. Wenn Sie sich derzeit in /home/Ihr_Verzeichnis befinden und Folgendes ausführen:

cd ..

, befinden Sie sich in /home. Man könnte also denken, dass dies immer noch zum Narrativ „Punkte repräsentieren nahegelegene Verzeichnisse“ passt und unkompliziert ist, oder?

Was wird als nächstes passieren? Wenn Sie am Anfang einer Datei oder eines Verzeichnisses einen Punkt hinzufügen, bedeutet dies, dass die Datei oder das Verzeichnis ausgeblendet wird:

$ touch somedir/file01.txt somedir/file02.txt somedir/.secretfile.txt
$ ls -l somedir/
total 0
-rw-r--r-- 1 paul paul 0 Jan 13 19:57 file01.txt
-rw-r--r-- 1 paul paul 0 Jan 13 19:57 file02.txt
$ # 注意上面列举的文件中没有 .secretfile.txt
$ ls -la somedir/
total 8
drwxr-xr-x 2 paul paul 4096 Jan 13 19:57 .
drwx------ 48 paul paul 4096 Jan 13 19:57 ..
-rw-r--r-- 1 paul paul 0 Jan 13 19:57 file01.txt
-rw-r--r-- 1 paul paul 0 Jan 13 19:57 file02.txt
-rw-r--r-- 1 paul paul 0 Jan 13 19:57 .secretfile.txt
$ # 这个 -a  选项告诉 ls 去展示“all”文件,包括那些隐藏的

Dann können Sie . Ja, hör mir zu: . ist ein echter Befehl. Es ist gleichbedeutend mit dem Quellbefehl, Sie können ihn also verwenden, um eine Datei in der aktuellen Shell auszuführen, anstatt auf andere Weise eine Skriptdatei auszuführen (dies bedeutet normalerweise, dass Bash eine neue Shell erzeugt, um sie auszuführen)

Das obige ist der detaillierte Inhalt vonWas bedeutet Linux .(Punkt)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn