Apa perbedaan antara perintah "cd \" dan "cd /" di terminal ubuntu?

10

Saat memberi cd \, saya mendapatkan >simbol sambil cd /mengubah ~tanda di direktori saya menjadi /.

lsPerintah juga menunjukkan kepada saya direktori seperti dev, root, usrdalam kasus cd /.

ShailyGarg
sumber

Jawaban:

15

Di Bash, shell Anda, \(garis miring terbalik) menunjukkan karakter pelarian. Ini harus digunakan dalam kasus di mana Anda ingin melarikan diri karakter seperti spasi, tanda kutip dan karakter lain yang bermakna bagi sintaksis shell, tetapi Anda ingin agar itu menyebar sebagai data ke perintah yang Anda jalankan. Dengan memiliki ini sebagai karakter terakhir pada baris Anda keluar dari baris baru dan Bash sedang menunggu input lebih lanjut (beberapa baris).

/ hanyalah garis miring (artinya pemisah direktori ). Hanya dengan /ini berarti root, jadi misalnya ls /daftar isi root. Dengan mengubah direktori kerja /, indikator di shell Anda juga berubah dari ~(kependekan dari direktori home, mis. /home/gert/) Ke direktori Anda saat itu ( /).


Demo

$ 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 noes, itu maksud saya untuk membuat satu file dengan nama a filename with spaces. Jadi, di sini kita gunakan \untuk keluar dari ruang. Ini mencegah shell untuk memberikan empat argumen touch, tetapi sebaliknya memberikan satu argumen dengan spasi yang disertakan.

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

Tentu saja, dengan menggunakan tanda kutip ( touch "a filename with spaces") seseorang dapat mencapai hal yang sama.

Ini juga digunakan untuk mendeklarasikan karakter khusus seperti baris baru:

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

Kita membutuhkan -epilihan di sini untuk echo, karena sebagai manualnya menaruhnya: -e enable interpretation of backslash escapes.

gertvdijk
sumber
Untuk klarifikasi lebih lanjut: Dalam contoh OP, cd \ lolos dari garis akhir (tombol Kembali). Ini berarti bahwa terminal masih menunggu sisa perintah. Prompt >menunjukkan bahwa ia menunggu. Prompt yang biasa menampilkan direktori saat ini, itulah sebabnya ia muncul /setelah menggunakan cd /. Ini ~adalah kependekan dari direktori home Anda, itulah sebabnya ia tampil ~sebagai ganti /home/user.
Paddy Landau
1

Jika Anda memasukkan backslash, Anda dapat memasukkan perintah pada beberapa baris. Inilah yang merupakan awalan '>'.

terima kasih
sumber
1

The >tanda berarti bahwa prompt yang menunggu untuk Anda untuk memasukkan lebih banyak, karena perintah sebelumnya tidak lengkap. Anda dapat mereproduksi ini dengan apa saja, bukan hanya cd. Cukup ketik whateveryouwant\, dan Anda akan mendapatkannya >.

Bagian di mana Anda melihat ~menunjukkan direktori kerja saat ini. Untuk mengubah direktori kerja, Anda menggunakan perintah cd, yang berarti mengubah direktori (folder). Jadi jika Anda melakukannya cd /, itu mengubah direktori menjadi /. Jika Anda melakukannya cd /usr/bin, itu akan berubah menjadi /usr/bin, dan seterusnya.

lsadalah perintah untuk mendaftar apa yang ada di direktori / folder saat ini. Jadi, jika Anda melakukannya cd /(artinya Anda telah mengubah direktori /), lsakan mencantumkan file dan folder apa pun di sana. Jika Anda melakukannya cd /etc/dan kemudian ls, itu akan mencantumkan file dan folder apa pun yang ada di dalamnya /etc/, dan seterusnya.

Alaa Ali
sumber
TERIMA KASIH SANGAT BANYAK :-) untuk teman bantuan langsung ini ...
ShailyGarg