GNU/Linux >> Belajar Linux >  >> Linux

Cara Menghapus (Menghapus) Direktori di Linux

Ada beberapa cara berbeda untuk menghapus direktori di sistem Linux. Jika Anda menggunakan manajer file Desktop seperti File Gnome atau Dolphin KDE, maka Anda dapat menghapus file dan direktori menggunakan antarmuka pengguna grafis manajer. Namun, jika Anda bekerja pada server tanpa kepala atau ingin menghapus beberapa direktori sekaligus, pilihan terbaik Anda adalah menghapus direktori (folder) dari baris perintah.

Pada artikel ini, kami akan menjelaskan cara menghapus direktori di Linux menggunakan rmdir , rm , dan find perintah.

Sebelum Anda Mulai #

Saat menghapus direktori menggunakan pengelola file desktop, direktori tersebut sebenarnya dipindahkan ke Sampah dan dapat dengan mudah dipulihkan.

Berhati-hatilah saat menghapus file atau direktori dari baris perintah karena setelah direktori dihapus menggunakan perintah yang dijelaskan dalam artikel ini, direktori tidak dapat dipulihkan sepenuhnya.

Pada sebagian besar sistem file Linux, menghapus direktori memerlukan izin menulis pada direktori dan kontennya. Jika tidak, Anda akan mendapatkan kesalahan “Operasi tidak diizinkan”.

Nama direktori dengan spasi di dalamnya harus diloloskan dengan garis miring terbalik (/ ).

Menghapus Direktori dengan rmdir #

rmdir adalah utilitas baris perintah untuk menghapus direktori kosong. Berguna ketika Anda ingin menghapus direktori hanya jika itu kosong, tanpa perlu memeriksa apakah direktori itu kosong atau tidak.

Untuk menghapus direktori dengan rmdir , ketik perintah diikuti dengan nama direktori yang ingin Anda hapus. Misalnya, untuk menghapus direktori bernama dir1 Anda akan mengetik:

rmdir dir1

Jika direktori tidak kosong, Anda akan mendapatkan kesalahan berikut:

rmdir: failed to remove 'dir1': No such file or directory

Dalam hal ini, Anda harus menggunakan rm perintah atau hapus konten direktori secara manual sebelum Anda dapat menghapusnya.

Menghapus Direktori dengan rm #

rm adalah utilitas baris perintah untuk menghapus file dan direktori. Tidak seperti rmdir rm perintah dapat menghapus direktori kosong dan tidak kosong.

Secara default, saat digunakan tanpa opsi apa pun rm tidak menghapus direktori. Untuk menghapus direktori kosong, gunakan -d (--dir ) dan untuk menghapus direktori yang tidak kosong, dan semua isinya menggunakan -r (--recursive atau -R ) pilihan.

Misalnya untuk menghapus direktori bernama dir1 bersama dengan semua isinya Anda akan mengetik:

rm -r dir1

Jika direktori atau file di dalam direktori dilindungi dari penulisan, Anda akan diminta untuk mengonfirmasi penghapusan. Untuk menghapus direktori tanpa diminta, gunakan -f pilihan:

rm -rf dir1

Untuk menghapus beberapa direktori sekaligus, aktifkan rm perintah, diikuti dengan nama direktori yang dipisahkan oleh spasi. Perintah di bawah ini akan menghapus setiap direktori yang terdaftar dan isinya:

rm -r dir1 dir2 dir3

-i opsi memberitahu rm untuk meminta Anda mengonfirmasi penghapusan setiap subdirektori dan file. Jika direktori berisi banyak file, ini bisa sedikit mengganggu, jadi Anda dapat mempertimbangkan untuk menggunakan -I opsi apa yang akan meminta Anda hanya sekali sebelum melanjutkan dengan penghapusan.

rm -rI dir1

Untuk menghapus jenis direktori y dan tekan Enter .

rm: remove 1 argument recursively? y

Anda juga dapat menggunakan ekspansi reguler untuk mencocokkan dan menghapus beberapa direktori. Misalnya, untuk menghapus semua direktori tingkat pertama di direktori saat ini yang diakhiri dengan _bak , Anda akan menggunakan perintah berikut:

rm -r *_bak

Menggunakan ekspansi reguler saat menghapus direktori mungkin berisiko. Direkomendasikan pertama untuk membuat daftar direktori dengan ls perintah sehingga Anda dapat melihat direktori apa yang akan dihapus sebelum menjalankan rm perintah.

Menghapus Direktori dengan find #

find adalah utilitas baris perintah yang memungkinkan Anda mencari file dan direktori berdasarkan ekspresi tertentu dan melakukan tindakan pada setiap file atau direktori yang cocok.

Skenario yang paling umum adalah menggunakan find perintah untuk menghapus direktori berdasarkan pola. Misalnya, untuk menghapus semua direktori yang diakhiri dengan _cache di direktori kerja saat ini, Anda akan menjalankan:

find . -type d -name '*_cache' -exec rm -r {} +

Mari kita analisis perintah di atas:

  • /dir - pencarian secara rekursif di direktori kerja saat ini (. ).
  • -type d - membatasi pencarian ke direktori.
  • -name '*_cache' - hanya cari direktori yang diakhiri dengan _cache
  • -exec - mengeksekusi perintah eksternal dengan argumen opsional, dalam hal ini adalah rm -r .
  • {} + - menambahkan file yang ditemukan ke akhir rm perintah.

Menghapus semua direktori kosong #

Untuk menghapus semua direktori kosong di pohon direktori yang akan Anda jalankan:

find /dir -type d -empty -delete

Berikut penjelasan opsi yang digunakan:

  • /dir - pencarian secara rekursif di /dir direktori.
  • -type d - membatasi pencarian ke direktori.
  • -empty - membatasi pencarian hanya pada direktori kosong.
  • -delete - menghapus semua direktori kosong yang ditemukan di subtree. -delete hanya dapat menghapus direktori kosong.

Gunakan -delete pilihan dengan sangat hati-hati. Baris perintah find dievaluasi sebagai ekspresi, dan jika Anda menambahkan -delete opsi pertama, perintah akan menghapus semua yang ada di bawah titik awal yang Anda tentukan.

Selalu uji perintah terlebih dahulu tanpa -delete opsi dan gunakan -delete sebagai opsi terakhir.

/bin/rm:Daftar argumen terlalu panjang #

Pesan kesalahan ini muncul ketika Anda menggunakan rm perintah untuk menghapus direktori yang berisi sejumlah besar file. Ini terjadi karena jumlah file lebih besar dari batas sistem pada ukuran argumen baris perintah.

Ada beberapa solusi berbeda untuk masalah ini. Misalnya, Anda dapat cd ke direktori dan secara manual atau menggunakan loop untuk menghapus sub-direktori satu per satu.

Solusi termudah adalah menghapus terlebih dahulu semua file dalam direktori dengan perintah find perintah dan kemudian hapus direktori:

find /dir -type f -delete && rm -r /dir

Kesimpulan #

Dengan rm dan find Anda dapat menghapus direktori berdasarkan kriteria yang berbeda dengan cepat dan efisien.

Menghapus direktori adalah proses yang sederhana dan mudah, tetapi Anda harus berhati-hati untuk tidak menghapus data penting.

Jika Anda memiliki pertanyaan atau masukan, jangan ragu untuk memberikan komentar.


Linux
  1. Cara Mengganti Nama Direktori di Linux

  2. 5 Contoh Praktis Untuk Menghapus / Menghapus Direktori di Linux

  3. Hapus hanya file dalam direktori di direktori BUKAN linux

  1. Cara Menghapus Akun Pengguna dengan Direktori Rumah di Linux

  2. Cara Mencari dan Menghapus Direktori Secara Rekursif di Linux

  3. Bagaimana cara menghapus direktori dan folder di Linux?

  1. Cara Menghapus (Menghapus) File atau Direktori di Linux

  2. Cara Menghapus Direktori di Linux

  3. Cara Menghapus Direktori dan File Menggunakan Linux