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 rm
dan rmdir
tidak 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 rm
perintah, 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 y
atau n
dan menekan "Enter."
Untuk mengurangi risiko penggunaan rm
dengan 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 -rf
perintah 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 -rf
perintah, gunakan tree
perintah.
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 tree
perintah menghasilkan diagram yang mudah dipahami dari struktur direktori dan file di bawah direktori tempat perintah tersebut dijalankan.
pohon
Anda juga dapat menyediakan jalur ke tree
perintah untuk membuatnya memulai pohon dari direktori lain dalam sistem file.
jalur pohon / ke / direktori
The rm
perintah juga memiliki --one-file-system, --no-preserve-root, --preserve-root
pilihan, 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 rm
dan rmdir
is rmdir
hanya 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, rmdir
akan muncul pesan kesalahan. Dalam contoh berikut rmdir
berhasil, dan secara diam-diam, menghapus clients
direktori tetapi menolak untuk menghapus projects
direktori karena berisi file. The projects
direktori yang tersisa persis seperti itu dan file di dalamnya tersentuh.
Ketika rmdir
memberikan 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, rmdir
akan memberi Anda pesan kesalahan dan tidak melakukan apa-apa lagi. Anda dapat memaksanya untuk mengabaikan kesalahan ini dengan --ignore-fail-on-non-empty
opsi sehingga direktori lain diproses.
Dalam contoh berikut, dua folder telah diteruskan rmdir
, ini adalah work/reports
dan work/quotes
. The --ignore-fail-on-non-empty
pilihan telah dimasukkan dalam perintah. The work/reports
folder memiliki file di dalamnya, sehingga rmdir
tidak bisa menghapusnya. The --ignore-fail-on-non-empty
pasukan pilihan rmdir
untuk mengabaikan kesalahan dan beralih ke folder selanjutnya perlu proses, yang work/quotes
. Ini adalah folder kosong, dan rmdir
menghapusnya.
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 rmdir
dimulai 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 rmdir
adalah:
rmdir -p work / invoices
Baik direktori invoices
maupun work
direktori 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 cron
pekerjaan, 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.