Di terminal, kamu bisa bikin, mengisi, menyalin, memindah, dan menghapus file tanpa membuka file manager. Bayangin lemari arsip di kantor. touch mengambil lembar kosong dan menaruhnya di map, mkdir menambah map baru, cp memfotokopi, dan mv memindahkan lembar ke map lain atau mengganti labelnya. Lalu rm: dia bukan tempat sampah yang isinya masih bisa dipungut lagi, tapi mesin penghancur kertas. Yang masuk, hilang.
🧪 Tebakan cepat:
catatan.txtsudah berisi dua baris. Kamu jalankanecho "Halo" > catatan.txt. Sekarang isinya berapa baris? Tebak dulu, jawabannya ada di bagian "Menulis isi file: > dan >>".
Semua contoh di bawah dijalankan di folder ~/proyek-web milik Budi, yang awalnya berisi error.log, index.html, logs, script.js, src, dan style.css.
Bikin file kosong: touch
budi@laptop:~/proyek-web$ touch about.html
budi@laptop:~/proyek-web$ ls
about.html error.log index.html logs script.js src style.css
budi@laptop:~/proyek-web$ ls -l about.html
-rw-rw-r-- 1 budi budi 0 Oct 8 09:16 about.html
touch about.htmlmembuat file kosong, 0 byte. Kalau berhasil, dia diam saja.- Kalau file-nya sudah ada,
touchcuma memperbarui waktunya. Isinya gak berubah. - Beberapa file sekaligus:
touch a.css b.js. Tiap nama yang dipisah spasi jadi satu file.
Bikin folder: mkdir dan mkdir -p
budi@laptop:~/proyek-web$ mkdir assets/img
mkdir: cannot create directory ‘assets/img’: No such file or directory
budi@laptop:~/proyek-web$ mkdir -p assets/img
budi@laptop:~/proyek-web$ ls assets
img
mkdir namamembuat satu folder. Folder induknya harus sudah ada:assetsbelum ada, jadimkdir assets/imgditolak.-p(parents) membuat semua folder yang belum ada di sepanjang path,assetsdulu laluimg. Kalau folder-nya ternyata sudah ada,-pgak protes.
Menulis isi file: > dan >>
budi@laptop:~/proyek-web$ echo "Halo" > catatan.txt
budi@laptop:~/proyek-web$ echo "Baris kedua" >> catatan.txt
budi@laptop:~/proyek-web$ cat catatan.txt
Halo
Baris kedua
budi@laptop:~/proyek-web$ echo "Halo" > catatan.txt
budi@laptop:~/proyek-web$ cat catatan.txt
Halo
echobiasanya mencetak ke layar.>membelokkan hasil cetaknya ke file: file dibuat kalau belum ada, dan isinya ditimpa kalau sudah ada.>>menambahkan di akhir file. Isi lama tetap ada.cat catatan.txtmenampilkan isi file. Cara membaca file dibahas lengkap di pelajaran berikutnya.
Perintah keempat memakai > lagi, jadi dua baris tadi hilang dan isinya tinggal satu baris, Halo. Itu jawaban tebakannya.
Salin dan pindah: cp dan mv
budi@laptop:~/proyek-web$ cp index.html index-lama.html
budi@laptop:~/proyek-web$ mv about.html tentang.html
budi@laptop:~/proyek-web$ cp src src-cadangan
cp: -r not specified; omitting directory 'src'
budi@laptop:~/proyek-web$ cp -r src src-cadangan
cp asal tujuanmenyalin.index-lama.htmljadi salinanindex.html.mv asal tujuanmemindah. Kalau tujuannya nama baru di folder yang sama, artinya ganti nama. Kalau tujuannya folder, file-nya masuk ke sana:mv tentang.html src/.- Menyalin folder butuh
-r(recursive), supaya isinya ikut.mvgak butuh-r. cpdanmvmenimpa file tujuan yang sudah ada tanpa bertanya. Tambah-ikalau mau ditanya dulu.
Menghapus: rm, rm -r, dan rmdir
budi@laptop:~/proyek-web$ rm index-lama.html
budi@laptop:~/proyek-web$ rm assets
rm: cannot remove 'assets': Is a directory
budi@laptop:~/proyek-web$ rmdir assets
rmdir: failed to remove 'assets': Directory not empty
budi@laptop:~/proyek-web$ rm -r assets
budi@laptop:~/proyek-web$ rm -i tentang.html
rm: remove regular empty file 'tentang.html'? y
rm filemenghapus file. Gak ada Recycle Bin dan gak ada undo.rmbiasa menolak folder.rm -r foldermenghapus folder beserta seluruh isinya.rmdir foldercuma mau menghapus folder yang kosong. Aman untuk bersih-bersih, karena dia menolak kalau masih ada isinya.-i(interactive) bertanya dulu untuk tiap file. Jawabyuntuk menghapus, jawaban lain berarti batal.-f(force) kebalikannya: gak bertanya, dan diam saja kalau file-nya gak ada.rm -rf folder/menggabungkan-rdan-f: hapus folder dan isinya, tanpa tanya. Ini perintah paling berbahaya yang akan sering kamu lihat, misalnyarm -rf node_modules/.
⚠️ Jebakan yang sering ketemu
>padahal maksudnya>>. Satu tanda kurang, isi file lama langsung hilang.- Spasi di nama file.
touch catatan rapat.txtmembuat dua file,catatandanrapat.txt. Untuk satu nama berspasi, pakai tanda kutip:touch "catatan rapat.txt".lslalu menampilkannya dengan kutip juga:'catatan rapat.txt'. rm -rfdi folder yang salah. Cek dulu denganpwddanlssebelum menghapus.rm -rf /ditolak oleh rm modern, tapirm -rf *di folder yang keliru tetap menghapus semuanya.- Menimpa tanpa sadar.
cp index.html style.cssdiam-diam mengganti isistyle.css. Pakaicp -iataumv -ikalau ragu.
TL;DR: touch membuat file kosong (atau memperbarui waktunya), mkdir membuat folder dan mkdir -p sekaligus membuat folder induknya. echo "teks" > file menulis dan menimpa, >> menambah di akhir. cp menyalin (folder butuh -r), mv memindah atau mengganti nama. rm menghapus file selamanya, rm -r menghapus folder beserta isinya, rmdir cuma folder kosong, -i bertanya dulu, dan rm -rf menghapus paksa tanpa tanya, jadi selalu cek pwd sebelum menjalankannya.