Cara Menghapus Fail dan Direktori di Terminal Linux
Perintah rm
dan rmdir
menghapus fail dan direktori di Linux, macOS, dan sistem operasi seperti Unix yang lain. Mereka serupa dengan del
dan deltree
perintah di Windows dan DOS. Perintah ini sangat kuat dan mempunyai beberapa pilihan.
Penting untuk diperhatikan bahawa fail dan direktori dihapus menggunakan rm
dan rmdir
tidak dipindahkan ke Sampah. Mereka segera dikeluarkan dari komputer anda. Sekiranya anda tidak sengaja memadam fail menggunakan arahan ini, satu-satunya cara anda dapat memulihkannya adalah dari cadangan.
Cara Menghilangkan Fail dengan rm
Kes paling mudah ialah menghapus satu fail dalam direktori semasa. Ketik rm
perintah, spasi, dan kemudian nama fail yang ingin anda hapus.
rm file_1.txt
Sekiranya fail tidak ada di direktori kerja semasa, berikan jalan ke lokasi fail.
rm ./path/to/the/file/file_1.txt
Anda boleh menghantar lebih daripada satu nama fail ke rm
. Melakukannya akan menghapus semua fail yang ditentukan.
rm file_2.txt file_3.txt
Wildcard dapat digunakan untuk memilih kumpulan fail yang akan dihapus. Yang *
mewakili pelbagai watak-watak dan ?
mewakili satu aksara. Perintah ini akan menghapus semua fail gambar png dalam direktori kerja semasa.
rm * .png
Perintah ini akan menghapus semua fail yang mempunyai peluasan watak tunggal. Sebagai contoh, ini akan menghapus Fail.1 dan Fail.2, tetapi tidak Fail.12.
rm *.?
Sekiranya fail dilindungi tulis, anda akan diminta sebelum fail tersebut dihapus. Anda mesti bertindak balas dengan y
atau n
dan tekan "Enter."
Untuk mengurangkan risiko penggunaan rm
dengan wildcard, gunakan pilihan -i
(interaktif). Ini memerlukan anda mengesahkan penghapusan setiap fail.
rm -i * .dat
Pilihan -f
(force) adalah kebalikan dari interaktif. Ia tidak meminta pengesahan walaupun fail dilindungi tulisan.
nama fail rm -f
Cara Menghapus Direktori dengan rm
Untuk membuang direktori kosong, gunakan pilihan -d
(direktori). Anda boleh menggunakan wildcard ( *
dan ?
) dalam nama direktori seperti yang anda boleh dengan nama fail.
direktori rm -d
Menyediakan lebih daripada satu nama direktori akan menghapus semua direktori kosong yang ditentukan.
rm -d direktori1 direktori2 / jalan / ke / direktori3
Untuk memadam direktori yang tidak kosong, gunakan pilihan -r
(rekursif). Untuk menjadi jelas, ini membuang direktori dan semua fail dan sub-direktori yang terdapat di dalamnya.
rm -r direktori1 direktori2 direktori3
Sekiranya direktori atau fail dilindungi tulisan, anda akan diminta untuk mengesahkan penghapusannya. Untuk menghapus direktori yang tidak kosong dan untuk menekan arahan ini, gunakan pilihan -r
(recursive) dan -f
(force) bersama-sama.
direktori rm -rf
Penjagaan diperlukan di sini. Kesalahan dengan rm -rf
perintah boleh menyebabkan kehilangan data atau kerosakan sistem. Ia berbahaya, dan berhati-hati adalah dasar terbaik. Untuk mendapatkan pemahaman tentang struktur direktori dan fail yang akan dihapus oleh rm -rf
perintah, gunakan tree
perintah.
Gunakan apt-get
untuk memasang pakej ini ke sistem anda jika anda menggunakan Ubuntu atau sebaran berasaskan Debian yang lain. Pada pengedaran Linux yang lain, gunakan alat pengurusan pakej pengedaran Linux anda.
sudo apt-get install tree
Menjalankan tree
perintah menghasilkan gambar rajah struktur direktori dan fail yang mudah difahami di bawah direktori dari mana ia dijalankan.
pokok
Anda juga dapat memberikan jalan ke tree
perintah untuk menyebabkannya memulakan pohon dari direktori lain dalam sistem fail.
laluan pokok / ke / direktori
The rm
arahan juga mempunyai --one-file-system, --no-preserve-root, --preserve-root
pilihan, tetapi mereka hanya disyorkan untuk pengguna yang maju. Sekiranya anda mendapat sesuatu yang salah, anda boleh menghapus semua fail sistem anda secara tidak sengaja. Rujuk halaman manual arahan untuk maklumat lebih lanjut.
Cara Menghapus Direktori dengan rmdir
Terdapat perintah lain, yang disebut rmdir
, yang boleh anda gunakan untuk menghapus direktori. Perbezaan antara rm
dan rmdir
yang rmdir
hanya boleh menghapus direktori yang kosong. Ia tidak akan memadamkan fail.
Kes paling mudah ialah menghapus satu direktori kosong. Seperti halnya rm
, anda dapat rmdir
meneruskan beberapa nama direktori ke , atau jalan ke direktori.
Padamkan satu direktori dalam direktori semasa dengan meneruskan namanya ke rmdir
:
direktori rmdir
Padamkan beberapa direktori dengan memasukkan senarai nama ke rmdir
:
rmdir direktori1 direktori2 direktori3
Padam direktori yang tidak ada di direktori semasa dengan menentukan jalan lengkap ke direktori tersebut:
rmdir / laluan / ke / direktori
Sekiranya anda cuba menghapus folder yang tidak kosong, rmdir
akan memberi anda mesej ralat. Dalam contoh berikut rmdir
berjaya, dan secara senyap-senyap, menghapus clients
direktori tetapi enggan menghapus projects
direktori kerana mengandungi fail. The projects
direktori dibiarkan betul-betul kerana ia adalah dan fail-fail di dalamnya adalah tidak disentuh.
Apabila rmdir
memberikan ralat "Direktori tidak kosong", ia berhenti memproses direktori yang diserahkan kepadanya pada baris perintah. Sekiranya anda memintanya untuk menghapus empat direktori dan yang pertama mempunyai fail di dalamnya, rmdir
akan memberi anda mesej ralat dan tidak melakukan apa-apa lagi. Anda boleh memaksanya untuk mengabaikan kesalahan ini dengan --ignore-fail-on-non-empty
pilihan supaya direktori lain diproses.
Dalam contoh berikut, dua folder telah dihantar rmdir
, ini adalah work/reports
dan work/quotes
. Yang --ignore-fail-on-non-empty
pilihan telah termasuk dalam arahan. The work/reports
folder mempunyai fail di dalamnya, jadi rmdir
tidak boleh memadamnya. The --ignore-fail-on-non-empty
pasukan pilihan rmdir
untuk mengabaikan kesilapan itu dan bergerak ke folder seterusnya yang diperlukan untuk proses, iaitu work/quotes
. Ini adalah folder kosong, dan rmdir
menghapusnya.
Ini adalah arahan yang digunakan.
rmdir - kerja / laporan / kerja / sebut harga-gagal-tanpa-kosong
Anda boleh menggunakan pilihan -p
(ibu bapa) untuk menghapus direktori dan juga menghapus direktori induknya. Silap mata ini berfungsi kerana rmdir
bermula dengan direktori sasaran dan kemudian kembali ke induk. Direktori itu sekarang harus kosong, sehingga dapat dihapus oleh rmdir
, dan proses mengulangi melangkah kembali ke jalan yang telah disediakan rmdir
.
Dalam contoh berikut, arahan yang diteruskan rmdir
adalah:
rmdir -p kerja / invois
Direktori invoices
dan work
direktori dihapuskan, seperti yang diminta.
Sama ada anda menggunakan Bash atau shell lain, Linux memberikan arahan yang fleksibel dan hebat untuk anda menghapus direktori dan fail terus dari baris perintah terminal. Sebilangan orang lebih suka mempunyai aliran kerja yang berputar di sekitar terminal. Orang lain mungkin tidak mempunyai pilihan dalam perkara itu. Mereka mungkin bekerja di pelayan tanpa GUI terpasang atau pada sesi jarak jauh ke sistem tanpa kepala seperti Raspberry Pi. Perintah ini sesuai untuk kumpulan orang itu.
Tetapi apa sahaja jenis aliran kerja yang anda sukai, arahan ini sesuai untuk dimasukkan ke dalam skrip shell. Sekiranya skrip dipicu oleh cron
pekerjaan, ia dapat membantu mengotomatisasi tugas-tugas pengemasan rutin seperti membersihkan fail log yang tidak diingini. Sekiranya anda menyiasat kes penggunaan itu, ingat kekuatan perintah ini, uji semuanya dengan teliti, dan selalu buat cadangan terkini.