Topik ini membahas tiga perintah inti untuk bergerak di dalam sistem berkas, yaitu pwd, cd, dan ls. Perpindahan yang tepat berangkat dari satu mental model yang benar, yaitu memandang seluruh berkas dan direktori sebagai satu pohon tunggal dengan satu titik akar. Setelah model tersebut terbentuk, perbedaan path absolut dan path relatif mudah dipahami, dan isi direktori dapat ditelusuri dengan opsi ls yang tepat. Seluruh contoh dijalankan secara berurutan di dalam satu direktori kerja, sehingga setiap keluaran dapat direproduksi ulang.
Mental model pohon direktori#
Sistem berkas pada Linux dan UNIX tersusun sebagai satu pohon tunggal. Titik paling atas pohon itu disebut direktori akar dan dilambangkan dengan satu garis miring /. Seluruh berkas dan direktori berada di bawah direktori akar, sehingga tidak ada pemisahan per perangkat seperti huruf C: yang dijumpai pada sistem operasi lain. Setiap berkas memiliki satu path, yaitu alamat yang menunjukkan letaknya di dalam pohon mulai dari akar hingga cabang tempat berkas itu berada.
Sebuah path absolut selalu dimulai dari garis miring direktori akar, misalnya /usr/share/doc, sehingga dapat ditulis dari posisi mana pun. Karena setiap cabang hanya memiliki satu induk, sebuah path absolut menunjuk tepat satu berkas atau satu direktori di dalam pohon. Sebuah path relatif justru diukur dari direktori kerja, yaitu direktori tempat shell berada saat perintah dijalankan. Notasi . menunjuk direktori kerja itu sendiri, sedangkan notasi .. menunjuk direktori satu tingkat di atasnya. Konsep direktori kerja menjadi kunci topik ini karena pwd membaca posisinya, cd mengubahnya, dan ls menelusuri isinya.
Berpindah posisi dengan pwd dan cd#
Perintah pwd mencetak path absolut dari direktori kerja. Nama pwd merupakan singkatan dari print working directory, yakni cetak direktori kerja. Perintah cd mengubah direktori kerja dan menerima satu argumen berupa path tujuan, absolut maupun relatif. Kedua perintah itu hampir selalu digunakan berpasangan karena cd tidak mencetak apa pun ketika berhasil, sehingga posisi baru perlu diperiksa dengan pwd.
Contoh di bawah membuat struktur direktori latihan berisi arsip tahunan dan catatan piket, lalu posisi awal diperiksa dengan pwd.
# membuat struktur contoh untuk seluruh topik ini
mkdir -p latihan/arsip/2025 latihan/arsip/2026 latihan/catatan
printf 'Nilai ujian kelas 10A\n' > latihan/arsip/2025/laporan-ujian.txt
printf 'Nilai ujian kelas 10B\n' > latihan/arsip/2026/laporan-ujian.txt
printf 'Senin, Ali\nSelasa, Budi\n' > latihan/catatan/piket.txt
printf 'berkas tersembunyi\n' > latihan/.tersembunyi
# memeriksa direktori kerja saat ini
pwd/home/kal/my-project/site/content/bash/sistem-berkas/navigasiKeluaran pwd berupa path absolut lengkap. Pada lingkungan lain, keluaran bisa berbeda karena direktori kerja awalnya tidak sama, tetapi strukturnya selalu konstan, yaitu diawali garis miring lalu nama direktori berurutan dari akar hingga posisi sekarang. Struktur latihan baru saja dibuat sebagai anak dari direktori kerja, sehingga berpindah ke dalamnya cukup dengan argumen relatif.
# masuk ke latihan dengan path relatif, lalu periksa posisi
cd latihan
pwd/home/kal/my-project/site/content/bash/sistem-berkas/navigasi/latihanArgumen latihan diuraikan oleh shell sebagai anak dari direktori kerja saat itu. Pergantian bertingkat juga menggunakan pola yang sama, misalnya masuk dua tingkat sekaligus menuju arsip tahun 2025.
# masuk dua tingkat menuju arsip tahun 2025
cd arsip/2025
pwd/home/kal/my-project/site/content/bash/sistem-berkas/navigasi/latihan/arsip/2025Path pada cd tidak harus bertingkat ke bawah. Notasi .. menaikkan posisi satu tingkat, sehingga kombinasi seperti ../.. mengembalikan posisi dua tingkat sekaligus.
# naik dua tingkat dari arsip/2025 kembali ke latihan
cd ../..
pwd/home/kal/my-project/site/content/bash/sistem-berkas/navigasi/latihanApabila tujuannya jauh dari posisi sekarang, argumen absolut lebih tepat. Perintah cd / membawa posisi ke direktori akar, sedangkan cd - kembali ke direktori terakhir sebelum perpindahan dan sekaligus mencetak jalurnya.
# menuju direktori akar dengan path absolut
cd /
pwd/# kembali ke direktori sebelumnya, yaitu latihan
cd -/home/kal/my-project/site/content/bash/sistem-berkas/navigasi/latihanPerpindahan tanpa argumen juga sah, yaitu cd yang berpindah ke direktori home, dan notasi ~ menjadi singkatan direktori home tersebut dalam path apa pun. Untuk mempercepat penulisan argumen, gunakan penyelesaian otomatis dengan tombol Tab, yaitu ketik beberapa huruf awal nama direktori lalu tekan Tab agar shell melengkapi sisanya. Cara ini mengurangi salah ketik sekaligus mengonfirmasi bahwa nama yang dituju benar-benar ada.
Menelusuri isi dengan ls#
Perintah ls mencetak daftar isi dari direktori kerja, atau dari direktori yang disebut sebagai argumennya. Nama-nama yang dicetak diurutkan menurut abjad. Perintah ini menjadi alat utama untuk melihat pohon direktori dari dalam, baik sekilas maupun sampai ke cabang terdalam. Isi latihan saat ini terdiri atas dua direktori dan satu berkas tersembunyi yang belum terlihat.
# daftar isi latihan
lsarsip
catatanKeluaran hanya menampilkan arsip dan catatan karena satu entri tidak ditampilkan secara default. Berkas yang namanya diawali titik, misalnya .tersembunyi, adalah berkas tersembunyi menurut konvensi UNIX dan hanya muncul bila opsi -A disebutkan.
# menampilkan seluruh entri, termasuk berkas tersembunyi
ls -A.tersembunyi
arsip
catatanOpsi -F menambahkan penanda tipe pada tiap nama, misalnya garis miring untuk direktori. Penanda ini membantu membedakan direktori dari berkas biasa tanpa membaca detail lain.
# isi arsip dengan penanda tipe
ls -F arsip2025/
2026/ls juga menerima beberapa argumen direktori sekaligus dan mencetak judul jalur sebelum isi masing-masing.
# memeriksa dua direktori arsip sekaligus
ls arsip/2025 arsip/2026arsip/2025:
laporan-ujian.txt
arsip/2026:
laporan-ujian.txtUntuk melihat struktur pohon secara menyeluruh, opsi -R menelusuri turun ke seluruh subdirektori. Keluaran berikut memperlihatkan pohon latihan lengkap dengan kedua cabang arsipnya.
# penelusuran turun ke seluruh subdirektori
ls -R.:
arsip
catatan
./arsip:
2025
2026
./arsip/2025:
laporan-ujian.txt
./arsip/2026:
laporan-ujian.txt
./catatan:
piket.txtBeberapa opsi ls yang paling sering digunakan dirangkum pada tabel berikut.
| Opsi | Kegunaan |
|---|---|
-1 | Satu nama per baris, memudahkan penghitungan |
-A | Menampilkan berkas tersembunyi tanpa notasi . dan .. |
-F | Menambahkan penanda tipe, misalnya / untuk direktori |
-R | Menelusuri isi subdirektori berulang kali |
-l | Format panjang berisi izin, pemilik, ukuran, dan waktu ubah |
Kesalahan umum#
Dua kesalahan yang paling sering muncul saat navigasi adalah menuju nama yang tidak ada dan lupa bahwa path relatif selalu diukur dari direktori kerja. Keduanya menghasilkan pesan error yang serupa, sehingga penyebabnya perlu dibedakan dengan teliti.
# mencoba berpindah ke direktori yang tidak ada
bash -c 'cd tidak-ada'bash: line 1: cd: tidak-ada: No such file or directoryPesan No such file or directory berarti nama yang dituju tidak ada pada posisi sekarang. Penyebab paling lazim adalah salah ketik atau salah tingkat, misalnya menyebut nama anak direktori tanpa melewati induknya. Periksa kandidat nama yang benar dengan ls, lalu ulangi cd dengan argumen yang tepat.
Kesalahan kedua muncul ketika sebuah berkas disebut seolah-olah berada di direktori kerja, padahal letaknya di subdirektori. Berkas piket berada di catatan/piket.txt, sehingga penyebutan piket.txt saja gagal.
# menyebut berkas tanpa jalur induknya
ls piket.txtls: cannot access 'piket.txt': No such file or directoryPerbaikannya konsisten dengan model pohon, yaitu menyebut jalur lengkap dari direktori kerja, misalnya ls catatan/piket.txt. Kesalahan serupa juga muncul ketika garis miring awal disertakan tanpa sengaja, sehingga argumen yang dimaksud relatif terbaca sebagai path absolut dari direktori akar. Ingat pula bahwa cd yang berhasil tidak mencetak apa pun, sehingga keraguan terhadap posisi selalu dijawab dengan pwd, bukan dengan perkiraan.
Ringkasan#
- Sistem berkas berbentuk satu pohon tunggal dengan direktori akar
/sebagai puncaknya, dan setiap berkas memiliki path absolut maupun path relatif terhadap direktori kerja. - pwd mencetak path absolut direktori kerja, sedangkan cd mengubah posisi melalui argumen relatif, absolut,
..,~,-, atau tanpa argumen menuju direktori home. - ls menelusuri isi direktori dengan opsi
-Auntuk berkas tersembunyi,-Funtuk penanda tipe,-Runtuk penelusuran turun, dan-luntuk format panjang. - cd yang berhasil tidak mencetak apa pun, sehingga posisi selalu diverifikasi dengan pwd ketika ragu.
Referensi#
- GNU Coreutils Manual — Free Software Foundation — dokumentasi resmi perintah ls dan pwd beserta seluruh opsinya.
- GNU Bash Reference Manual — Free Software Foundation — dokumentasi builtin cd, ekspansi tilde, dan penyelesaian nama dengan tombol Tab.
- The Linux Command Line — William Shotts — bab navigasi sistem berkas yang membahas pwd, cd, dan ls secara bertahap.