Das schnörkelige Ding wird "Tilde" genannt.
Es wird zu Ihrem Heimatverzeichnis erweitert.
Versuchen
echo ~ echo $HOME
Beide Anweisungen setzen Ihr Home-Verzeichnis von selbst in eine Zeile.
Einzelheiten finden Sie unter bash Tilde Expansion .
Ich habe zwei Fälle davon, und ich wundere mich, was jeder macht:
service=~
mv ~/Desktop/Service$version.tgz $service
Was macht das kleine Geschwätz ~
?
Was würde danach cd $service
tun?
Das schnörkelige Ding wird "Tilde" genannt.
Es wird zu Ihrem Heimatverzeichnis erweitert.
Versuchen
echo ~ echo $HOME
Beide Anweisungen setzen Ihr Home-Verzeichnis von selbst in eine Zeile.
Einzelheiten finden Sie unter bash Tilde Expansion .
Das "Squiggly" wird Tilde genannt. Es wird verwendet, um auf Ihr Home-Verzeichnis zu verweisen, das normalerweise unter Linux verwendet wird /home/username
. Sie wird auch in der $HOME
Umgebungsvariablen gespeichert . Die Erweiterung ~
auf den Speicherort des Home-Verzeichnisses ist Aufgabe der Shell (wie zsh oder bash) oder des Dateimanagers (wie Nautilus) und nicht des Dateisystems oder des Betriebssystems.
Sie können dies auch verwenden, um auf das Heimatverzeichnis eines anderen Benutzers zu verweisen. Wenn der Benutzername des anderen Benutzers beispielsweise lautet bob
, können Sie auf das Heimatverzeichnis von verweisen ~bob
, das erweitert wird /home/bob/
.
In dem ersten Beispiel, das Sie angegeben haben, wird die Variable service
auf " ~
home" gesetzt. Dies ist äquivalent zu service=/home/username
oder service=$HOME
.
Das zweite Beispiel kopiert die Datei ~/Desktop/Service$version.tgz
(oder /home/username/Desktop/Service$version.tgz
) nach /home/username
. Dieser Befehl entspricht:
mv ~/Desktop/Service$version.tgz ~
oder
mv ~/Desktop/Service$version.tgz $HOME
oder
mv ~/Desktop/Service$version.tgz /home/username/
Beim dritten wird das aktuelle Arbeitsverzeichnis ( $PWD
) in geändert /home/username/
. Das ist äquivalent zu:
cd /home/username/
oder
cd $HOME
In # 1 und # 2: ~ ist ~ Ihr Heimatverzeichnis. Wenn Sie also qwerty sind, handelt es sich wahrscheinlich um das Verzeichnis / home / qwerty. Also versuchen Sie das ls ~
zu sehen.
Für # 1: Es sieht für mich so aus, als würde der Variablendienst als Ihr Heimatverzeichnis definiert.
Das heißt, nachdem # 2 die TGZ-Datei aus dem Desktop-Unterverzeichnis in Ihr Home-Verzeichnis verschoben hat, wechselt # 3 in das Home-Verzeichnis.
Es sieht so aus, als würden die Befehle Folgendes tun.
Weisen Sie Ihrem Heimatordner eine Variable namens service zu, zum Beispiel:
/home/user
Die Datei wird von Ihrem Desktop auf die oberste Ebene Ihres Basisverzeichnisses verschoben. Beispiel:
/home/user/Desktop/Service$version.tgz $service
Das Skript ändert dann das Verzeichnis auf die oberste Ebene des Basisverzeichnisses.
Das Skript muss also lediglich den Desktop bereinigen, indem die Datei /home/user
stattdessen in den Ordner verschoben wird.
Ich füge hier hinzu, dass ~ user auch das Home-Verzeichnis von [user] erweitert, sodass es nicht nur eine Verknüpfung für Ihr eigenes Home-Verzeichnis ist.
Z.B:
[guy@abox anotherdir]$ cd ~ [guy@abox ~]$ pwd /home/guy [guy@abox ~]$ cd ~john [guy@abox john]$ pwd /home/john