Dając cd \
, dostaję >
symbol, podczas gdy cd /
zmieniam ~
znak w moim katalogu na /
.
Również ls
polecenie pokazuje mi katalogi jak dev, root, usr
w przypadku cd /
.
źródło
Dając cd \
, dostaję >
symbol, podczas gdy cd /
zmieniam ~
znak w moim katalogu na /
.
Również ls
polecenie pokazuje mi katalogi jak dev, root, usr
w przypadku cd /
.
W Bash twoja powłoka \
(ukośnik odwrotny) oznacza znak ucieczki. Powinno to być używane w przypadkach, gdy chcesz uciec od znaków, takich jak spacje, cudzysłowy i inne znaki mające znaczenie dla składni powłoki, ale chcesz, aby propagowała się jako dane do uruchomionego polecenia. Mając to jako ostatni znak w linii, uciekasz od nowej linii, a Bash czeka na dalsze dane wejściowe (wiele linii).
/
jest tylko ukośnikiem (oznaczającym separator katalogu ). Tylko /
to oznacza root, więc na przykład ls /
wyświetla zawartość roota. Zmieniając katalog roboczy na /
, wskaźnik w powłoce również zmienia się z ~
(skrót od katalogu domowego, np. /home/gert/
) Na katalog, w którym się znajdujesz ( /
).
$ 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
O nie, moim zamiarem było utworzenie jednego pliku o nazwie a filename with spaces
. Więc tutaj używamy \
do ucieczki w kosmos. Zapobiega to dostarczaniu przez powłokę czterech argumentów touch
, ale zamiast tego zapewnia jeden z dołączonymi spacjami.
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
Oczywiście, używając quotes ( touch "a filename with spaces"
) można osiągnąć to samo.
Służy również do deklarowania znaków specjalnych, takich jak znaki nowej linii:
$ echo -e "bla\nnewline" # \n means a newline character
bla
newline
Musimy -e
opcję tutaj echo
, bo jak manpage mówiąc: -e enable interpretation of backslash escapes
.
>
pokazuje, że czeka. Zwykły monit wyświetla bieżący katalog, dlatego pokazuje go/
po użyciucd /
.~
Jest krótki ręki do swojego katalogu domowego, dlatego pokazuje~
zamiast/home/user
.Jeśli wpiszesz ukośnik odwrotny, możesz wpisać polecenie w wielu wierszach. Oto, co oznacza przedrostek „>”.
źródło
Na
>
znak oznacza, że szybka czeka na ciebie, aby wprowadzić więcej, ponieważ poprzednia komenda była niekompletna. Możesz to odtworzyć w dowolny sposób, nie tylkocd
. Po prostu wpiszwhateveryouwant\
, a dostaniesz>
.Część, w której widać,
~
oznacza bieżący katalog roboczy. Aby zmienić katalog roboczy, użyj poleceniacd
, co oznacza zmianę katalogu (folderu). Jeśli takcd /
, zmieni katalog na/
. Jeśli to zrobiszcd /usr/bin
, zmieni się na/usr/bin
i tak dalej.ls
to polecenie, które wyświetla listę tego, co znajduje się w bieżącym katalogu / folderze. Więc jeśli to zrobiszcd /
(co oznacza, że zmieniłeś katalog na/
), wyświetliszls
listę plików i folderów. Jeśli to zrobiszcd /etc/
, a następniels
, byłoby wymienić cokolwiek pliki i foldery, które są w/etc/
, i tak dalej.źródło