Navigasi File System — Terminal

Navigasi File System Salah satu skill terminal paling fundamental adalah berpindah-pindah di antara folder (direktori) dan melihat isinya. pwd — Print Working…

Navigasi di terminal artinya selalu tahu kamu sedang di folder mana, melihat isinya, lalu pindah ke folder lain, semuanya dengan mengetik. Bayangin kamu menjelaskan arah ke rumah teman. Ada dua cara. Alamat lengkap, "Jalan Dago 12, Bandung, Jawa Barat", benar dari mana pun orang berangkat. Petunjuk arah, "dari sini belok kiri, rumah kedua", cuma benar kalau orangnya berdiri di tempatmu. Di terminal, alamat lengkap disebut path absolut dan petunjuk arah disebut path relatif.

🧪 Tebakan cepat: kamu sedang di /home/budi/proyek-web/src, lalu mengetik cd ../logs. Sekarang kamu di folder mana? Tebak dulu, jawabannya ada di bagian "Path absolut dan path relatif".

Folder di dalam folder: pohon file system

Semua file dan folder di Linux dan macOS tersusun seperti pohon terbalik dengan satu akar. Ini sebagian pohon di laptop Budi:

/
├── etc
├── home
│   └── budi
│       ├── Documents
│       ├── Downloads
│       └── proyek-web
│           ├── logs
│           └── src
├── tmp
└── var
    └── log

pwd: kamu ada di mana?

Folder tempat kamu berdiri disebut working directory. pwd (print working directory) mencetaknya lengkap dari root:

budi@laptop:~$ pwd
/home/budi

Prompt juga menunjukkannya dalam bentuk singkat: ~ di prompt sama dengan /home/budi.

ls: melihat isi folder

budi@laptop:~$ ls
Documents  Downloads  proyek-web
budi@laptop:~$ ls proyek-web
error.log  index.html  logs  script.js  src  style.css
budi@laptop:~$ ls -a proyek-web
.  ..  .env  error.log  index.html  logs  script.js  src  style.css
budi@laptop:~$ ls -la proyek-web
total 36
drwxrwxr-x 4 budi budi 4096 Oct  7 21:14 .
drwxr-x--- 5 budi budi 4096 Oct  6 19:30 ..
-rw-rw-r-- 1 budi budi   34 Oct  6 19:32 .env
-rw-rw-r-- 1 budi budi   84 Oct  7 21:30 error.log
-rw-rw-r-- 1 budi budi  196 Oct  7 20:41 index.html
drwxrwxr-x 2 budi budi 4096 Oct  6 19:46 logs
-rw-rw-r-- 1 budi budi   69 Oct  7 20:55 script.js
drwxrwxr-x 2 budi budi 4096 Oct  6 19:45 src
-rw-rw-r-- 1 budi budi   59 Oct  7 20:48 style.css

cd: pindah folder

cd (change directory) memindahkanmu. Kalau berhasil, dia diam saja, yang berubah prompt-nya:

budi@laptop:~$ cd proyek-web
budi@laptop:~/proyek-web$ cd src
budi@laptop:~/proyek-web/src$ pwd
/home/budi/proyek-web/src
budi@laptop:~/proyek-web/src$ cd ..
budi@laptop:~/proyek-web$ cd ~
budi@laptop:~$ cd -
/home/budi/proyek-web
budi@laptop:~/proyek-web$

Path absolut dan path relatif

Dari /home/budi/proyek-web/src, ini yang terjadi:

Kamu ketik Dihitung dari Kamu sampai di
cd .. /home/budi/proyek-web/src /home/budi/proyek-web
cd ../logs /home/budi/proyek-web/src /home/budi/proyek-web/logs
cd /var/log / (root) /var/log
cd logs /home/budi/proyek-web/src error: bash: cd: logs: No such file or directory

cd ../logs naik dulu ke proyek-web, lalu masuk ke logs, jadi kamu sampai di /home/budi/proyek-web/logs. Itu jawaban tebakannya. Baris terakhir gagal karena di dalam src gak ada folder logs: path relatif selalu dihitung dari tempatmu berdiri.

~/proyek-web juga menuju tempat yang sama dari mana pun, karena shell mengganti ~ jadi /home/budi sebelum perintahnya jalan.

Dari perintah ke kode

Latihannya meminta dua function JavaScript yang memegang aturan di atas:

Tugas Perintah
lihat isi ls -la
posisi sekarang pwd
kembali atas cd ..
ke home cd ~
masuk folder src cd src

⚠️ Jebakan yang sering ketemu

TL;DR: File system adalah pohon folder dengan satu akar, /, dan home folder-mu /home/budi disingkat ~. pwd mencetak folder tempatmu berdiri, ls menampilkan isinya (-a ikut file tersembunyi, -l detail, -h ukuran mudah dibaca), dan cd memindahkanmu: cd nama masuk, cd .. naik satu tingkat, cd ~ pulang, cd - balik ke folder sebelumnya. Path absolut diawali / dan sama dari mana pun, path relatif dihitung dari folder sekarang, termasuk ./src dan src/index.js.

Yang akan kamu pelajari