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 rmdan rmdirtidak 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 rmperintah, 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 yatau ndan tekan "Enter."

Untuk mengurangkan risiko penggunaan rmdengan 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 -rfperintah 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 -rfperintah, gunakan treeperintah.

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 treeperintah menghasilkan gambar rajah struktur direktori dan fail yang mudah difahami di bawah direktori dari mana ia dijalankan.

pokok

Anda juga dapat memberikan jalan ke treeperintah untuk menyebabkannya memulakan pohon dari direktori lain dalam sistem fail.

laluan pokok / ke / direktori

The rmarahan juga mempunyai --one-file-system, --no-preserve-root, --preserve-rootpilihan, 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 rmdan rmdiryang rmdirhanya boleh menghapus direktori yang kosong. Ia tidak akan memadamkan fail.

Kes paling mudah ialah menghapus satu direktori kosong. Seperti halnya rm, anda dapat rmdirmeneruskan 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, rmdirakan memberi anda mesej ralat. Dalam contoh berikut rmdirberjaya, dan secara senyap-senyap, menghapus clientsdirektori tetapi enggan menghapus projectsdirektori kerana mengandungi fail. The projectsdirektori dibiarkan betul-betul kerana ia adalah dan fail-fail di dalamnya adalah tidak disentuh.

Apabila rmdirmemberikan 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, rmdirakan memberi anda mesej ralat dan tidak melakukan apa-apa lagi. Anda boleh memaksanya untuk mengabaikan kesalahan ini dengan --ignore-fail-on-non-emptypilihan supaya direktori lain diproses.

Dalam contoh berikut, dua folder telah dihantar rmdir, ini adalah work/reportsdan work/quotes. Yang --ignore-fail-on-non-emptypilihan telah termasuk dalam arahan. The work/reportsfolder mempunyai fail di dalamnya, jadi rmdirtidak boleh memadamnya. The --ignore-fail-on-non-emptypasukan pilihan rmdiruntuk mengabaikan kesilapan itu dan bergerak ke folder seterusnya yang diperlukan untuk proses, iaitu work/quotes. Ini adalah folder kosong, dan rmdirmenghapusnya.

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 rmdirbermula 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 rmdiradalah:

rmdir -p kerja / invois

Direktori invoicesdan workdirektori 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 cronpekerjaan, 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.