Lewati ke konten utama
diskon 50% semua paket, waktu terbatas. Mulai dari $2.48/mo
12 min left
Server dan OS

Cara Menghapus Direktori di Linux dengan Aman: rmdir, rm -r, find

Nick Silver Oleh Nick Silver 12 menit baca Diperbarui Sep 22, 2025
A lone ultrareal laptop at 3/4 angle on a wet surface; screen shows two crisp terminal lines: ls -ld -- '$DIR' rm -I -r -- '$DIR' From the right-side port, a cyan/magenta holographic ribbon curves out to a manila folder floating to the right of the laptop; the folder’s right half frays into fine paper dust mid-air. BR2049 lighting, UV rim, subtle rain specks, sodium-amber haze + single low skyline only.

Pilih alat yang tepat, dan menghapus folder di Linux akan semudah membalik telapak tangan. Gunakan rmdir untuk path kosong, rm -r untuk direktori yang masih berisi konten, dan cari jika Anda hanya ingin menghapus isi di dalamnya. Inilah cara menghapus direktori di Linux, dengan perintah yang aman sebagai default, pengecekan cepat, dan penanganan error yang mengganggu. Jika kecepatan adalah prioritas, lihat tabel ringkasan terlebih dahulu, lalu lanjutkan membaca untuk panduan keamanannya.

 

 

Ikhtisar Perintah: Salin, Tempel, Lanjutkan

Sebelum masuk ke detail, berikut adalah perintah yang paling sering digunakan dalam satu tempat. Salin dari kolom tengah, lalu terapkan catatannya.

Tugas Perintah tercepat dan teraman Tanda atau catatan tambahan
Hapus direktori kosong hapus direktori DIR or rm -d DIR Tambah -p untuk menghapus direktori induk jika ikut menjadi kosong.
Hapus direktori tidak kosong dengan konfirmasi sekali rm -I -r DIR Seimbang antara kecepatan dan keamanan.
Paksa hapus direktori tidak kosong rm -rf — DIR Verifikasi dengan ls -ld — DIR sebelum menjalankannya.
Pertahankan direktori induk, kosongkan isinya find DIR -mindepth 1 -delete Menangani file dan folder tersembunyi juga.
Hapus hanya direktori yang kosong cari DIR -type d -empty -delete Pembersihan rapi setelah deployment.
Hapus berdasarkan pola nama find DIR -type d -name 'cache*' -prune -exec rm -rf {} + Bekerja cepat pada struktur direktori besar.

Simpan referensi ini di dekat Anda saat mempelajari cara menghapus direktori di Linux. 

Hapus Direktori Kosong dengan rmdir or rm -d

Ultrareal steel file-cabinet drawer pulled fully open, rails and felt pads visible, absolutely empty. Tiny embossed stickers on the front: RMDIR and EMPTY. A soft sodium-amber haze drifts behind a faint skyline silhouette; cyan signage glints along the brushed metal lip; micromotes and hairline scratches read true.

Direktori kosong adalah kasus berisiko rendah. Jika kamu hanya perlu menghapus satu direktori akhir, rmdir melakukan tepat itu; jika kamu lebih suka tetap di rm, gunakan rm -d untuk hasil yang sama. Kedua perintah berhenti pada jalur yang tidak kosong, yang memberi pemula yang sedang belajar cara menghapus direktori di terminal sebuah pengaman yang berguna.

  • rmdir PROJECT/tmp menghapus folder kosong dan tidak menampilkan output apa pun setelah folder tersebut tidak ada lagi.
  • rmdir -p foo/bar/baz menghapus jalur tersebut lalu direktori induknya jika masing-masing menjadi kosong, merapikan struktur sementara dalam satu langkah.
  • rm -d empty_folder menghapus hanya jika direktori kosong, setara dengan rmdir bagi yang bekerja di rm.
  • rmdir –ignore-fail-on-non-empty DIR menyembunyikan pesan error "not empty" dalam skrip di mana output yang tidak perlu menjadi masalah.
  • Tambah -v untuk umpan balik, misalnya, rmdir -pv foo/bar/baz.

Masalah umum saat mencoba menghapus direktori di Linux adalah jika folder masih berisi file, rmdir menolak untuk dijalankan. Itu tandanya kamu perlu beralih ke rekursi. 

Baca Juga: Hubungkan ke server Linux dengan XRDP

Hapus Direktori Tidak Kosong dengan rm

Ultrareal industrial paper shredder as the single hero; mouth loaded with multiple manila folders and dividers. The folders are clearly stuffed with paper. A tiny metal badge on the front reads RM -R; a small hazard triangle beside it reads FORCE.

Penghapusan rekursif adalah rm -r or rm -rf. Pertimbangannya, pada dasarnya, adalah kecepatan versus konfirmasi. Orang-orang yang belajar cara menghapus direktori tidak kosong di Linux biasanya mulai dengan rm -r dan menambahkan konfirmasi. Tim yang mengotomasi menambahkan -f setelah path check dikunci.

Mulai dengan pola yang membuat Anda tenang:

  • Minta sekali rm -I -r DIR bertanya sekali sebelum masuk ke subfolder, lebih cocok daripada -i di pohon-pohon besar.
  • Konfirmasi untuk semuanya: rm -ri DIR lambat, tapi berguna pada direktori kecil ketika Anda ingin melihat setiap langkah.
  • Paksa dan rekursif: rm -rf DIR melewati konfirmasi dan sebagian besar error; verifikasi dengan pwd, ls -ld — DIR, dan sebuah echo "$DIR" sebelum Anda menekan Enter.
  • Mode terperinci: -v mencetak setiap path yang dihapus, misalnya, rm -rfv build/.
  • Perlindungan root dan mount: sistem modern memblokir rm -rf / melalui –preserve-root; dalam skrip, tambahkan –one-file-system agar Anda tidak melewati mount point.

Sebelum melakukan force-delete di server yang sibuk, luangkan setengah menit untuk memverifikasi target. Cetak dengan ls -ld — "$DIR", lalu periksa quoting dan glob. Cara terbaik untuk belajar menghapus direktori di Linux adalah mencoba -I terlebih dahulu, lalu ulangi secara non-interaktif. Pengecekan yang tenang, kebiasaan yang bisa diulang.

linux-vps Hosting Linux Disederhanakan

Ingin cara lebih baik untuk hosting situs dan web app? Sedang mengembangkan sesuatu yang baru? Atau sekadar tidak suka Windows? Itu sebabnya kami punya Linux VPS.

Dapatkan Linux VPS-mu

Nama Aneh, Tanda Hubung di Awal, dan Masalah Tersembunyi

A stretch of caution tape pulled taut across frame, ultrareal vinyl texture with subtle wrinkles. Black print repeats -TMP at intervals after each CAUTION.

Beberapa path diawali tanda hubung atau mengandung byte yang mengacaukan parsing. Tambahkan untuk menghentikan parsing opsi, atau tambahkan ./ di depan nama file.

Cara aman menargetkan nama yang tidak biasa:

rm -r -- --weird
rm -r ./-cache

Kebiasaan kecil ini membuat penghapusan direktori di Linux jauh lebih mudah di server bersama maupun sesi remote. Jika Anda perlu mempertahankan folder induk tapi menghapus isinya, gunakan perintah yang mengenali kedalaman direktori — itu dibahas selanjutnya dalam panduan Cara Menghapus Direktori di Linux.

Pertahankan Folder, Kosongkan Isinya

Ultrareal manila folder with a small bottom trapdoor built into the tab-side corner, hinged and slightly open so a faint stream of holographic “file shards” falls away. Etched on the tab: FIND and MIND1 (for -mindepth 1)

Banyak pekerjaan butuh direktori yang kosong, bukan direktori yang dihapus. Rotasi log, pipeline build, pembersihan VPS. Dua pola ini menangani cara menghapus semua file dalam direktori di Linux tanpa menyentuh folder induknya.

  • Lewati folder induk dengan cari:
find /var/tmp/app -mindepth 1 -delete
  • Atau eksekusi rm pada batch:
find ./cache -mindepth 1 -exec rm -rf {} +

Keduanya menangani entri tersembunyi (termasuk dotfile), yang justru sering menjadi masalah ketika menggunakan rm * melewatkannya. Jika pertanyaan Anda adalah bagaimana menghapus semua file dalam direktori di Linux, inilah cara yang dapat diandalkan.

Perintah satu baris memang membantu, meskipun banyak tim membutuhkan filter berdasarkan nama atau kedalaman. Di sinilah cari memberi Anda cakupan yang tepat tanpa perlu menebak-nebak.

Baca Juga: Daftar Layanan yang Berjalan di Linux

Hapus Secara Spesifik Dengan cari: Nama, Kedalaman, Pemangkasan

Anda mungkin hanya ingin menghapus direktori cache, folder build tingkat pertama saja, atau hanya log lama. Berikut sekumpulan pola ringkas untuk temukan hapus direktori pekerjaan.

Tugas Snapshot perintah Catatan
Hapus saja cache*/ direktori di bawah proyek find . -type d -name 'cache*' -prune -exec rm -rf {} + -prune tidak menelusuri ke dalam direktori yang cocok; lebih cepat pada struktur direktori yang besar.
Hapus direktori berdasarkan kedalaman find ./dist -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} + Hanya menarget direktori anak tingkat pertama di bawah dist/.
Hapus hanya direktori kosong cari . -type d -empty -delete Pembersihan rapi setelah deployment.
Hapus file yang sesuai dengan pola tertentu find logs -type f -name '*.gz' -delete Log yang masih baru tetap tidak tersentuh.
Hapus semua isi tapi pertahankan direktori induk find /data/tmp -mindepth 1 -delete Layanan tetap menggunakan direktori induk tersebut.

Gunakan -print untuk simulasi, lalu hapus opsi itu saat menjalankan perintah yang sebenarnya. Inilah sisi praktis dari menghapus direktori di Linux, cakupan yang terprediksi dengan eksekusi yang cepat. Gotcha, pada beberapa build BusyBox minimal, aksi -delete tidak tersedia; gunakan -exec rm -rf {} + sebagai gantinya.

Pola-pola tersebut sudah mencakup banyak kebutuhan. Tambahkan beberapa pengaman untuk mencegah kesalahan yang jarang terjadi namun berdampak besar.

Perlindungan Agar Anda Tidak Salah Langkah

An ultrareal lockout/tagout padlock + hasp assembly as the lone hero, brushed steel and scuffed red enamel, bead of condensation on the shackle; a fiber safety tag hangs from the hasp with three bold engravings: RM -I, ONE FS, PRESERVE ROOT.

Perintah yang kuat butuh default yang aman. Bangun kebiasaan ini agar menghapus direktori di Linux menggunakan perintah tidak ikut menghapus kewarasan Anda.

  • Gunakan satu prompt dengan rm -I -r DIR selagi Anda memverifikasi path di layar.
  • Selalu kutip path: rm -rf — "$DIR" melindungi dari spasi, glob, dan nama yang diawali tanda hubung.
  • Konfirmasi target yang tepat: ls -ld — "$DIR" menampilkan satu baris berisi mode, pemilik, dan path.
  • Tetap di dalam satu filesystem: rm -rf –one-file-system "$DIR" mencegah perambatan ke volume yang di-mount.
  • Proteksi root tetap aktif, pertahankan –preserve-root di tempat.
  • Hapus immutable bit saat diperlukan: lsattr -d "$DIR" untuk diperiksa, chattr -i "$DIR" untuk menghapusnya.

Jika delete masih gagal atau hang, telusuri dugaan-dugaan yang biasa.

Jalankan Tes Pembersihan Anda di Cloudzy Linux VPS, Kemudian Lanjutkan Membangun

Ultrareal 1U rack server sits firmly on a cloud (cloud = VPS). A short SFP+ fiber patch links the server to an open laptop at 3/4 angle. On the laptop’s glassy terminal, two big stacked engravings: RM -I -R and ROLLBACK (toggle dot lit). On the rack face, small badges: NVME, 10 GBPS, DDR5.

Jika Anda menginginkan server remote yang stabil untuk mencoba rm, rmdir, dan cari dengan aman, buat dengan cepat Hosting Linux VPS dan bekerja di shell yang bersih. Terjangkau, cepat, dan tersedia di 13 region dengan 11 distribusi Linux siap digunakan. Anda mendapatkan akses root, Penyimpanan NVMe SSD penyimpanan, dan DDR5 RAM di paket modern, plus Perlindungan DDoS dan sebuah 99.95% waktu aktif tanpa komitmen. Bandwidth tinggi dan latensi rendah sudah termasuk dalam paket, dengan koneksi hingga 10 Gbps tercantum di kartu paket.

  • Jangkauan global: deploy di lebih dari 12 lokasi, termasuk New York, Los Angeles, Miami, Amsterdam, London, Jerman, Swiss, Utah, Dallas, Las Vegas, dan Singapura, untuk rute yang lebih cepat ke pengguna Anda.
  • Akses root + 11 distro: pilih Linux yang Anda inginkan dan pertahankan kendali penuh sejak hari pertama.
  • Perangkat keras modern: penyimpanan NVMe SSD dan daya DDR5 RAM menggerakkan instans; performa tetap tajam saat beban I/O tinggi.
  • Jaringan + waktu aktif: konektivitas latensi rendah, bandwidth tinggi, dan target uptime 99,95% membantu pekerjaan terjadwal berjalan tepat waktu.
  • Keamanan: perlindungan DDoS disertakan di semua server, sehingga pemeliharaan rutin kecil kemungkinannya terganggu.
  • Kemudahan: opsi OS yang sudah terinstal, IPv6 gratis, dan berbagai metode pembayaran membuat proses setup tetap mudah.

Lebih suka desktop penuh? Saat checkout, pilih Linux RDP aplikasi one-click. Ini menghadirkan Linux VPS dengan XRDP, GDM3I need more context to translate ", and the" accurately. This appears to be a sentence fragment. Could you provide the complete phrase or sentence you'd like translated? Antarmuka grafis GNOME sudah terinstal di Ubuntu, sehingga Anda bisa remote masuk dengan satu klik. Tersedia di 12 lokasi yang sama dan tetap mempertahankan 99.95% waktu aktif sasaran. Ada tanpa biaya tambahan untuk konfigurasi RDP yang sudah terinstal.

Singkatnya, buat Linux VPS yang terjangkau, pilih distro Anda, pertahankan akses root, dan jika perlu, tambahkan desktop Linux RDP saat pembelian. Kemudian praktikkan penghapusan secara interaktif, ambil snapshot, dan ulangi sampai rangkaian perintah terasa sudah hafal di luar kepala.

Pemecahan Masalah: "Permission Denied", "Directory Not Empty", Path Sedang Digunakan

A single ultrareal folder perched over a narrow chute (this chute symbolizes troubleshooting, so engrave it with a troubleshooting icon); inside it, smaller sub-folders and faint .dotfiles icons fade as they drop. Lip engravings top-to-bottom on the chute: SYMPTOM, CHECK, FIX; opposite side: NOT EMPTY, LOOK, FIND -DELETE.

Sebagian besar kegagalan berulang dalam beberapa pola yang sama. Gunakan alur symptom → check → fix ini agar penghapusan direktori di Linux tidak menghambat deploy Anda.

1) "Permission denied" pada direktori yang Anda miliki
Periksa atribut dengan lsattr -d DIR. Jika flag immutable i aktif, hapus dengan sudo chattr -i DIR, lalu coba lagi. Flag ini muncul pada sistem yang diperkuat dan beberapa container.

2) "Operation not permitted" meski sudah menggunakan sudo
Pastikan mount tidak dalam kondisi read-only. mount | grep DIR or findmnt DIR menampilkan statusnya. Remount ke read-write untuk operasi ini, atau gunakan path yang berbeda.

3) "Directory not empty" setelah rmdir
Entri masih ada. Ganti dengan:

find DIR -mindepth 1 -delete

Perintah ini mencakup file tersembunyi dan konten bersarang.

4) Layanan membuat ulang folder tersebut
Sebuah unit yang sedang berjalan menulis ke path tersebut. Hentikan atau restart dengan bersih, lalu hapus. Jika environment-nya sendiri yang bermasalah, panduan di perintah systemctl tidak ditemukan membantu Anda memperbaikinya terlebih dahulu. Sebagai contoh nyata, kami pernah mendapati Nginx menulis ke /var/log/nginx/ di sebuah staging box; setelah menghentikannya nginx.service dihapus lsof, penghapusan berhasil dan log kembali berjalan normal.

5) "Device or resource busy"
Sebuah proses memiliki handle terbuka di dalam direktori tersebut. lsof +D DIR or fuser -vm DIREKTORI menampilkan apa yang sedang aktif; hentikan dengan bersih, lalu hapus. Jika Anda perlu melihat sekilas soket sebelum membersihkan log, panduan Perintah Linux Netstat mencakup cara pengecekan cepat.

6) Nama aneh: spasi, baris baru, atau awalan tanda hubung
Gunakan or ./ sebelum nama yang diawali tanda hubung, dan beri tanda kutip pada setiap string. Untuk membersihkan nama-nama aneh secara massal, jalankan find . -print0 | xargs -0 agar spasi tidak merusak perintah.

Dengan perbaikan-perbaikan ini, sebagian besar hambatan sudah teratasi. Jika penghapusan permanen bukan rencananya, gunakan alur trash sebagai gantinya.

Trash, Bukan Hapus Permanen: trash-cli dan gio tempat sampah

Ultrareal blue desktop recycling bin (matte polymer with tiny injection marks, slot opening), a folded paper folder edge peeking at the slot. Etched along the lip: TRASH-CLI, TRASH. A small side badge glows RESTORE to suggest reversal.

Anda tidak harus menghapus segalanya secara permanen. Desktop environment dan server yang mendukung GLib menyediakan alur trash sehingga Anda bisa meninjau dan memulihkan file. Jika Anda sedang belajar cara menghapus direktori di Linux dan ingin pendekatan yang lebih aman, coba perintah berikut:

  • gio tempat sampah PATH memindahkan file dan direktori ke trash; gio list trash:// untuk menjelajahi isinya.
  • Dengan trash-cli, gunakan sampah PATH, trash-list, trash-restore, dan trash-empty untuk alur kerja command-line yang sederhana.

Lebih lambat dari rm, namun pertukaran keamanannya masuk akal jika Anda menginginkan langkah peninjauan tambahan. Jadi, jika Anda perlu tahu cara menghapus direktori di Linux tanpa mempertaruhkan data asli, mulailah dengan trash, lalu beralih ke rm.

Pemikiran akhir

Kini Anda memiliki perangkat lengkap untuk menghapus direktori di Linux, mencakup rmdir untuk path kosong, rm -I -r untuk rekursi yang aman, rm -rf hanya setelah Anda memverifikasi target, dan find -mindepth 1 -delete jika Anda perlu mengosongkan isi direktori tanpa menghapus direktori utamanya. Beri tanda kutip pada path, pertahankan –preserve-root, tetap pada satu filesystem, dan hapus immutable bit jika menghalangi Anda; pemeriksaan troubleshooting menangani sisanya.

Dan jangan lupa, jika Anda membutuhkan server remote yang bersih untuk berlatih secara nyata, jalankan server Cloudzy Linux VPS server ini terjangkau dan andal untuk uji coba yang aman, dan dengan Linux RDP satu klik Anda juga mendapatkan sesi desktop sehingga bisa memandu proses penghapusan lewat GUI lengkap.

 

Pertanyaan yang Sering Diajukan

Apa perbedaan antara rm dan rmdir?

rmdir hanya menghapus direktori kosong dan dapat menghapus direktori induk yang menjadi kosong dengan opsi -p. rm menghapus file dan direktori; tambahkan -r untuk rekursi dan -I atau -i untuk konfirmasi.

Bagaimana cara menghapus folder beserta seluruh isinya secara paksa?

Gunakan rm -rf DIR setelah memvalidasi path-nya. Tambahkan -v jika Anda ingin log baris per baris. Sebagian admin tetap melakukan satu kali uji coba dengan rm -I -r sebelum eksekusi final.

Bagaimana cara menghapus isi direktori tanpa menghapus direktorinya sendiri?

Jalankan find DIR -mindepth 1 -delete. Perintah ini menjawab cara mengosongkan direktori di Linux sambil mempertahankan direktori induk untuk layanan.

Mengapa rmdir mengatakan "Directory not empty" ketika saya tidak melihat file?

File tersembunyi masih ada di sana. Gunakan ls -A untuk menampilkannya, lalu terapkan pola find -mindepth 1 -delete.

Bagaimana cara memperbaiki "Operation not permitted" atau "Permission denied"?

Periksa immutable bit dengan lsattr -d DIR dan hapus menggunakan sudo chattr -i DIR jika ada. Pastikan juga mount tidak dalam mode read-only. Jika sebuah layanan membuat ulang path saat proses cleanup, perbaiki masalah pada unit tersebut terlebih dahulu; bagian systemctl yang tertaut di atas dapat membantu.

Share

Lebih banyak dari blog

Lanjutkan membaca.

Siap deploy? Mulai $2,48/bln.

Cloud independen, sejak 2008. AMD EPYC, NVMe, 40 Gbps. Garansi uang kembali 14 hari.