Cara Menghapus File dan Direktori di Terminal Linux

The rm dan   rmdir perintah menghapus file dan direktori di Linux, MacOS, dan Unix-seperti lainnya sistem operasi. Mereka mirip dengan perintah del dan   deltree di Windows dan DOS. Perintah-perintah ini sangat kuat dan memiliki beberapa opsi.

Penting untuk dicatat bahwa file dan direktori dihapus menggunakan rmdan rmdirtidak dipindahkan ke Sampah. Mereka segera dihapus dari komputer Anda. Jika Anda tidak sengaja menghapus file menggunakan perintah ini, satu-satunya cara Anda dapat memulihkannya adalah dari cadangan.

Cara Menghapus File dengan rm

Kasus paling sederhana adalah menghapus satu file di direktori saat ini. Ketik rmperintah, spasi, lalu nama file yang ingin Anda hapus.

rm file_1.txt

Jika file tidak ada di direktori kerja saat ini, berikan jalur ke lokasi file.

rm ./path/to/the/file/file_1.txt

Anda dapat memberikan lebih dari satu nama file ke rm. Melakukannya akan menghapus semua file yang ditentukan.

rm file_2.txt file_3.txt

Wildcard dapat digunakan untuk memilih grup file yang akan dihapus. The *mewakili beberapa karakter dan ?mewakili karakter tunggal. Perintah ini akan menghapus semua file gambar png di direktori kerja saat ini.

rm * .png

Perintah ini akan menghapus semua file yang memiliki ekstensi karakter tunggal. Misalnya, ini akan menghapus File.1 dan File.2, tetapi tidak File.12.

rm *.?

Jika sebuah file dilindungi dari penulisan, Anda akan ditanyai sebelum file tersebut dihapus. Anda harus menanggapi dengan yatau ndan menekan "Enter."

Untuk mengurangi risiko penggunaan rmdengan wildcard gunakan opsi -i(interaktif). Ini mengharuskan Anda untuk mengkonfirmasi penghapusan setiap file.

rm -i * .dat

Opsi -f (gaya) adalah kebalikan dari interaktif. Itu tidak meminta konfirmasi meskipun file dilindungi dari penulisan.

rm -f nama file

Cara Menghapus Direktori dengan rm

Untuk menghapus direktori kosong, gunakan opsi -d (direktori). Anda dapat menggunakan wildcard ( *dan ?) dalam nama direktori seperti yang Anda bisa dengan nama file.

rm -d direktori

Menyediakan lebih dari satu nama direktori akan menghapus semua direktori kosong yang ditentukan.

rm -d direktori1 direktori2 / jalur / ke / direktori3

Untuk menghapus direktori yang tidak kosong, gunakan opsi -r(rekursif). Untuk lebih jelasnya, ini menghapus direktori dan semua file dan sub-direktori yang ada di dalamnya.

rm -r direktori1 direktori2 direktori3

Jika direktori atau file dilindungi dari penulisan, Anda akan diminta untuk mengkonfirmasi penghapusan. Untuk menghapus direktori yang tidak kosong dan untuk menekan prompt ini, gunakan opsi -r(rekursif) dan -f(paksa) bersamaan.

rm -rf direktori

Perawatan dibutuhkan di sini. Membuat kesalahan dengan rm -rfperintah dapat menyebabkan kehilangan data atau kerusakan sistem. Ini berbahaya, dan kehati-hatian adalah kebijakan terbaik. Untuk mendapatkan pemahaman tentang struktur direktori dan file yang akan dihapus oleh rm -rfperintah, gunakan treeperintah.

Gunakan  apt-get untuk menginstal paket ini ke sistem Anda jika Anda menggunakan Ubuntu atau distribusi berbasis Debian lainnya. Di distribusi Linux lainnya, gunakan alat manajemen paket distribusi Linux Anda.

sudo apt-get install tree

Menjalankan treeperintah menghasilkan diagram yang mudah dipahami dari struktur direktori dan file di bawah direktori tempat perintah tersebut dijalankan.

pohon

Anda juga dapat menyediakan jalur ke treeperintah untuk membuatnya memulai pohon dari direktori lain dalam sistem file.

jalur pohon / ke / direktori

The rmperintah juga memiliki --one-file-system, --no-preserve-root, --preserve-rootpilihan, tetapi mereka hanya disarankan untuk pengguna tingkat lanjut. Jika Anda mendapatkan kesalahan, Anda dapat secara tidak sengaja menghapus semua file sistem Anda. Lihat halaman manual perintah untuk informasi lebih lanjut.

Cara Menghapus Direktori dengan rmdir

Ada perintah lain, disebut rmdir, yang dapat Anda gunakan untuk menghapus direktori. Perbedaan antara rmdan rmdiris rmdirhanya dapat menghapus direktori yang kosong. Itu tidak akan pernah menghapus file.

Kasus paling sederhana adalah menghapus satu direktori kosong. Seperti halnya rm, Anda dapat mengirimkan beberapa nama direktori ke rmdir, atau jalur ke direktori.

Hapus satu direktori di direktori saat ini dengan meneruskan namanya ke rmdir:

direktori rmdir

Hapus beberapa direktori dengan meneruskan daftar nama ke   rmdir:

rmdir direktori1 direktori2 direktori3

Hapus direktori yang tidak ada di direktori saat ini dengan menentukan jalur lengkap ke direktori itu:

rmdir / jalur / ke / direktori

Jika Anda mencoba untuk menghapus folder yang tidak kosong, rmdirakan muncul pesan kesalahan. Dalam contoh berikut rmdirberhasil, dan secara diam-diam, menghapus clientsdirektori tetapi menolak untuk menghapus projectsdirektori karena berisi file. The projectsdirektori yang tersisa persis seperti itu dan file di dalamnya tersentuh.

Ketika rmdirmemberikan kesalahan "Direktori tidak kosong", itu berhenti memproses direktori yang diteruskan padanya pada baris perintah. Jika Anda memintanya untuk menghapus empat direktori dan yang pertama memiliki file di dalamnya, rmdirakan memberi Anda pesan kesalahan dan tidak melakukan apa-apa lagi. Anda dapat memaksanya untuk mengabaikan kesalahan ini dengan --ignore-fail-on-non-emptyopsi sehingga direktori lain diproses.

Dalam contoh berikut, dua folder telah diteruskan rmdir, ini adalah work/reportsdan work/quotes. The --ignore-fail-on-non-emptypilihan telah dimasukkan dalam perintah. The work/reportsfolder memiliki file di dalamnya, sehingga rmdirtidak bisa menghapusnya. The --ignore-fail-on-non-emptypasukan pilihan rmdiruntuk mengabaikan kesalahan dan beralih ke folder selanjutnya perlu proses, yang work/quotes. Ini adalah folder kosong, dan rmdirmenghapusnya.

Ini adalah perintah yang digunakan.

rmdir --ignore-fail-on-non-empty work / reports / work / quotes

Anda dapat menggunakan opsi  -p (orang tua) untuk menghapus direktori dan juga untuk menghapus direktori induknya. Trik ini bekerja karena rmdirdimulai dengan direktori target dan kemudian kembali ke induknya. Direktori itu sekarang harus kosong, sehingga dapat dihapus oleh rmdir, dan prosesnya berulang dengan langkah mundur ke jalur yang telah disediakan rmdir.

Dalam contoh berikut, perintah yang diteruskan rmdiradalah:

rmdir -p work / invoices

Baik direktori invoicesmaupun workdirektori akan dihapus, seperti yang diminta.

Baik Anda menggunakan Bash atau shell lainnya, Linux menyediakan perintah yang fleksibel dan kuat bagi Anda untuk menghapus direktori dan file langsung dari baris perintah terminal. Beberapa orang lebih suka memiliki alur kerja yang berputar di sekitar terminal. Orang lain mungkin tidak punya pilihan dalam masalah ini. Mereka mungkin bekerja di server tanpa menginstal GUI atau pada sesi jarak jauh ke sistem tanpa kepala seperti Raspberry Pi. Perintah ini sempurna untuk sekelompok orang itu.

Tapi apa pun jenis alur kerja yang Anda sukai, perintah-perintah ini cocok untuk disertakan dalam skrip shell. Jika skrip dipicu oleh suatu cronpekerjaan, ini dapat membantu mengotomatiskan tugas-tugas rumah tangga rutin seperti membersihkan file log yang tidak diinginkan. Jika Anda menyelidiki kasus penggunaan tersebut, ingat kekuatan perintah ini, uji semuanya dengan cermat, dan selalu pertahankan cadangan terbaru.