GNU/Linux >> Belajar Linux >  >> Linux

Penggunaan / saat menggunakan cd

Ini adalah perilaku Unix standar.

/ di awal jalur mewakili akar disk (atau tingkat awal/tertinggi dari pohon sistem file). Sebagai Documents bukan dari root, /Documents tidak dapat ditemukan.

/Users berada di luar direktori root, sehingga masalah ini tidak terjadi.

Anda bisa menggunakan cd /Users/lukas/Documents untuk mengubah ke jalur itu.

Sebagai alternatif, Anda dapat menggunakan pengalamatan relatif. Filesystem berbasis Unix memiliki 2 direktori khusus:

  • . yang berarti "direktori ini",
  • .. yang berarti direktori induk.

Jika Anda berada di /Users/lukas , cd ./Documents akan membawa Anda ke tempat yang benar.

Anggaplah Anda berada di /Users/Lukas/Documents dan ingin pergi ke /Users/Janes/Documents , Anda dapat mengeluarkan perintah cd ../../Janes/Documents - menggunakan .. akan membawa Anda kembali ke level - jadi Anda akan melakukannya dua kali, sebelum masuk ke jalur relatif baru.


/Users/lukas adalah jalur "absolut". / terkemuka mewakili direktori root sistem file Anda.

lukas adalah jalur "relatif". Karena tidak berlabuh ke root, artinya "cari ini di saat ini direktori". Kecuali jika direktori saat ini adalah /Users (atau beberapa direktori lain dengan lukas di dalamnya), ini akan gagal.

Jadi, mari jelajahi contoh Anda, dengan asumsi Anda berada di /Users/lukas :

$ cd Documents/
/Users/lukas/Documents

Jalur relatif yang diberikan => ubah ke direktori "Dokumen" yang ada di dalam /Users/lukas .

$ cd /Documents
-bash: cd: /Documents: No such file or directory

Jalur absolut yang diberikan => ubah ke direktori /Documents .

$ pwd
/

Ini menunjukkan bahwa Anda sekarang telah mengubah direktori kerja ke direktori root, / (meskipun cd perintah untuk melakukan ini tidak ditampilkan).

$ cd Users
/Users

Jalur relatif yang diberikan => ubah ke direktori "Pengguna" yang ada di dalam / .

$ cd /Users
/Users

Jalur absolut yang diberikan => ubah ke direktori /Users .

Kuncinya setiap saat adalah / yang memimpin . Dengan itu, jalannya mutlak. Tanpanya, jalannya relatif. Aturan ini tidak ambigu karena semua jalur absolut dimulai dengan / (karena direktori root selalu disebut / ).

Berikut ini beberapa kodesemu yang secara longgar menjelaskan algoritme tersebut:

MakePathAbsolute(path):
   if <path> starts with '/'
      return <path>
   else
      return <current directory>/<path>

Argumen yang Anda teruskan ke cd melewati algoritma ini; direktori yang akhirnya Anda ubah adalah jalur yang dikembalikan algoritme.

Bacaan lebih lanjut:

  • Tutorial File dan Direktori Unix
    Joseph L. Zachary
    "Pengantar Pemrograman Ilmiah"

Linux
  1. Cd Ke Direktori Nama-Tidak Dikenal Di Jalur yang Diketahui?

  2. Kapan harus menggunakan Server Khusus

  3. Membuat direktori baru di C

  1. Tambahkan skrip bash ke jalur

  2. Bagaimana cara membuat bazel menggunakan penyimpanan eksternal saat membangun?

  3. Membuat program di bin

  1. [Linux] :Cara mengecualikan direktori saat menggunakan perintah shell "tar"

  2. Kapan Saya Harus Menggunakan Trailing Slash Pada Direktori??

  3. Kapan Menggunakan Nohup?