Beim Geben cd \
erhalte ich das >
Symbol, während ich cd /
das ~
Zeichen in meinem Verzeichnis in ändere /
.
Auch ls
Befehl zeigt mir Verzeichnisse wie dev, root, usr
im Fall von cd /
.
quelle
Beim Geben cd \
erhalte ich das >
Symbol, während ich cd /
das ~
Zeichen in meinem Verzeichnis in ändere /
.
Auch ls
Befehl zeigt mir Verzeichnisse wie dev, root, usr
im Fall von cd /
.
In Bash, Ihrer Shell, bezeichnet der \
(Backslash) einen Escape-Charakter. Dies sollte in Fällen verwendet werden, in denen Sie Zeichen wie Leerzeichen, Anführungszeichen und andere Zeichen, die für die Shell-Syntax von Bedeutung sind, maskieren möchten, diese jedoch als Daten an den von Ihnen ausgeführten Befehl weitergeben möchten. Wenn Sie dies als letztes Zeichen in der Zeile haben, entkommen Sie der neuen Zeile und Bash wartet auf weitere Eingaben (mehrere Zeilen).
/
ist nur ein Schrägstrich (dh Verzeichnis-Trennzeichen ). Mit genau dem /
bedeutet die Wurzel, so ls /
listet zum Beispiel der Inhalt der Wurzel auf. Durch Ändern des Arbeitsverzeichnisses /
in ändert sich der Indikator in Ihrer Shell auch von ~
(kurz für Home-Verzeichnis, z. B. /home/gert/
) zu dem Verzeichnis, in dem Sie sich dann befinden ( /
).
$ touch a filename with spaces
$ ls -l
total 0
-rw-rw-r-- 1 gert gert 0 Jul 1 02:33 a
-rw-rw-r-- 1 gert gert 0 Jul 1 02:33 filename
-rw-rw-r-- 1 gert gert 0 Jul 1 02:33 spaces
-rw-rw-r-- 1 gert gert 0 Jul 1 02:33 with
Oh nein, ich wollte eine Datei mit dem Namen erstellen a filename with spaces
. Also, hier benutzen wir das \
, um den Räumen zu entkommen. Dies verhindert, dass die Shell vier Argumente bereitstellt touch
, sondern stattdessen ein einziges mit den enthaltenen Leerzeichen.
touch a\ filename\ with\ spaces
$ touch a\ filename\ with\ spaces
$ ls -al
total 24
drwxrwxr-x 2 gert gert 4096 Jul 1 02:35 .
drwxrwxr-x 55 gert gert 20480 Jul 1 02:33 ..
-rw-rw-r-- 1 gert gert 0 Jul 1 02:35 a filename with spaces
Natürlich kann man mit quote ( touch "a filename with spaces"
) dasselbe erreichen.
Es wird auch verwendet, um Sonderzeichen wie Zeilenumbrüche zu deklarieren:
$ echo -e "bla\nnewline" # \n means a newline character
bla
newline
Wir brauchen die -e
Option hier für echo
, weil, wie die Manpage es ausdrückte : -e enable interpretation of backslash escapes
.
>
zeigt an, dass es wartet. Die übliche Eingabeaufforderung zeigt das aktuelle Verzeichnis an, weshalb es/
nach der Verwendung angezeigt wirdcd /
. Das~
ist eine Abkürzung für Ihr Home-Verzeichnis, weshalb es~
stattdessen angezeigt wird/home/user
.Wenn Sie einen Backslash eingeben, können Sie Ihren Befehl in mehreren Zeilen eingeben. Dafür steht das Präfix '>'.
quelle
Das
>
Zeichen bedeutet, dass die Eingabeaufforderung darauf wartet, dass Sie weitere Eingaben machen, da der vorherige Befehl unvollständig war. Sie können dies mit allem reproduzieren, nicht nurcd
. Gebenwhateveryouwant\
Sie einfach ein und Sie werden bekommen>
.Der Teil, in dem Sie das sehen,
~
bezeichnet das aktuelle Arbeitsverzeichnis. Um das Arbeitsverzeichnis zu ändern, verwenden Sie den Befehlcd
, dh Verzeichnis (Ordner) ändern. Wenn Sie dies tuncd /
, wird das Verzeichnis in geändert/
. Wenn Sie dies tuncd /usr/bin
, ändert sich dies zu/usr/bin
und so weiter.ls
ist ein Befehl zum Auflisten der Inhalte im aktuellen Verzeichnis / Ordner. Wenn Sie dies tuncd /
(dh Sie haben das Verzeichnis in geändert/
), werdenls
alle darin enthaltenen Dateien und Ordner aufgelistet. Wenn Sie das tun ,cd /etc/
und dannls
wäre es Liste unabhängig von Dateien und Ordner , die in sind/etc/
, und so weiter.quelle