Ubuntu terminalindeki “cd \” ve “cd /” komutları arasındaki fark nedir?


10

Verirken cd \, >dizinimdeki işareti cd /değiştirirken sembolü ~alıyorum /.

Ayrıca lsbeni gibi dizinleri gösterileri komuta dev, root, usrdurumunda cd /.

Yanıtlar:


15

Bash'te, kabuğunuzda \(ters eğik çizgi) bir kaçış karakteri belirtir. Kabuk sözdizimi için anlamlı olan boşluklar, tırnak işaretleri ve diğer karakterler gibi karakterlerden kaçmak istediğiniz durumlarda kullanılmalıdır , ancak çalıştırdığınız komuta veri olarak yayılmasını istiyorsunuz. Bunu satırdaki son karakter olarak alarak yeni satırdan kaçıyorsunuz ve Bash daha fazla girdi bekliyor (birden çok satır).

/sadece eğik çizgi ( dizin ayırıcı anlamına gelir ). Sadece /bu kök anlamına gelir, örneğin ls /kök içeriğini listeler. Çalışma dizinini olarak değiştirdiğinizde, /kabuğunuzdaki gösterge de ~(giriş dizini kısaltması, örneğin /home/gert/) bulunduğunuz dizine ( /) dönüşür .


gösteri

$ 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 hayır, niyetim bu isimle bir dosya oluşturmaktı a filename with spaces. Yani, burada \boşluklardan kaçmak için kullanıyoruz . Bu, kabuğun dört argüman sağlamasını engeller, touchbunun yerine içerilen boşlukları içeren tek bir argüman sağlar.

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

Tabii ki, tırnak ( touch "a filename with spaces") kullanarak aynı şeyi elde edebilirsiniz.

Ayrıca yeni satırlar gibi özel karakterleri bildirmek için kullanılır:

$ echo -e "bla\nnewline" # \n means a newline character
bla
newline

Biz gerek -eburada seçeneği echomanpage dediği gibi, çünkü: -e enable interpretation of backslash escapes.


Daha fazla açıklama için: OP örneğinde, cd \ satır sonundan kaçar (Return tuşu). Bu, terminalin hala komutun geri kalanını beklediği anlamına gelir. Komut istemi >beklediğini gösterir. Genel bilgi istemi geçerli dizini gösterir, bu yüzden /kullandıktan sonra gösterilir cd /. ~Gösterir yüzden ev dizinine için kısa eldir ~yerine /home/user.
Paddy Landau

1

Ters eğik çizgi girerseniz, kodunuzu birden çok satıra girebilirsiniz. '>' Önekinin anlamı budur.


1

>Önceki komut eksik olduğundan istemi, daha girişine sizi bekliyor işareti anlamına gelir. Bunu sadece değil, herhangi bir şeyle de üretebilirsiniz cd. Sadece yazın whateveryouwant\, elde edersiniz >.

Gördüğünüz bölüm ~geçerli çalışma dizinini gösterir. Çalışma dizinini değiştirmek için, cddizini değiştir (klasör) anlamına gelen komutu kullanırsınız . Eğer yaparsanız cd /, dizini olarak değiştirir /. Bunu yaparsanız cd /usr/bin, değişir /usr/bin, vb.

lsgeçerli dizinde / klasörde ne olduğunu listeleyen bir komuttur. Yani, bunu yaparsanız cd /(yani dizini değiştirdiğiniz anlamına gelir /), lsorada hangi dosya ve klasörleri listeler. Bunu yapar cd /etc/ve sonra ls, içinde ne olursa olsun dosya ve klasörleri listeleyecektir /etc/.


ÇOK ÇOK TEŞEKKÜR
EDERİM
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.