Rumah > Tutorial sistem > LINUX > Mengapa perintah aliasing rm adalah amalan buruk di linux

Mengapa perintah aliasing rm adalah amalan buruk di linux

Joseph Gordon-Levitt
Lepaskan: 2025-03-19 10:42:15
asal
197 orang telah melayarinya

Alias ​​dalam Unix/Linux adalah pintasan yang membolehkan anda membuat arahan tersuai atau mengubah suai bagaimana perintah sedia ada berkelakuan. Dengan menggunakan perintah alias, anda boleh menyingkat arahan panjang atau menambah pilihan ke arahan secara lalai, menjadikannya lebih mudah atau lebih selamat untuk digunakan.

Walau bagaimanapun, anda mesti berhati -hati apabila menggunakan alias, terutamanya apabila mereka mengubah tingkah laku perintah yang kuat seperti RM, untuk mengelakkan membangunkan tabiat buruk atau menghadapi tingkah laku yang tidak dijangka di seluruh sistem yang berbeza.

Dalam tutorial ringkas ini, kita akan mengetahui mengapa Aliasing RM ke RM -I adalah amalan yang buruk dengan contoh praktikal. Kami juga akan belajar tentang amalan terbaik dan alternatif yang lebih selamat untuk alias perintah RM di Linux.

Jadual Kandungan

Mengapa sesetengah orang aliasing rm ke rm -i

Apabila anda menggunakan perintah RM pada sistem UNIX/Linux, ia memadamkan fail dengan segera dan kekal. Ia adalah arahan yang kuat yang mesti digunakan dengan teliti untuk mengelakkan secara tidak sengaja memadam fail penting.

Sesetengah orang membuat alias untuk RM, seperti alias rm = "rm -i", untuk menjadikannya lebih selamat. Alias ​​ini mengubah perintah RM untuk selalu meminta pengesahan sebelum memadamkan apa -apa.

Izinkan saya menunjukkan contoh, jadi anda dapat memahaminya dengan lebih baik.

Contoh RM tanpa alias:

 $ rm penting-file.txt
Salin selepas log masuk
Salin selepas log masuk

Perintah ini akan segera memadam fail penting.txt tanpa bertanya sama ada anda pasti. Ia cepat tetapi berisiko jika anda membuat kesilapan kesilapan atau mengubah fikiran anda.

Contoh RM dengan alias (rm -i):

 $ rm penting-file.txt
Salin selepas log masuk
Salin selepas log masuk

Dengan alias, perintah ini kini bertanya, "Keluarkan fail biasa 'File.txt'?" Anda mesti menaip Y (ya) untuk memadamnya atau n (tidak) untuk membatalkan. Rasanya lebih selamat kerana ia menambah langkah untuk menyemak semula keputusan anda.

Mengapa perintah aliasing rm adalah amalan buruk

Alias ​​rm = 'rm -i' sangat berbahaya kerana;

Sebab 1 - Tabiat Buruk

Sekiranya anda terbiasa dengan perintah RM yang selalu meminta pengesahan, anda mungkin kurang berhati-hati mengenai pemeriksaan dua kali yang anda hapus.

Suatu hari, jika anda menggunakan akaun pengguna tanpa set alias , RM mungkin memadam fail dengan segera. Pada masa anda menyedari apa yang berlaku, ia mungkin terlambat.

Kebiasaan ini juga boleh berbahaya pada sistem tanpa alias ini kerana RM akan memadam fail dengan segera, tanpa meminta sebarang pengesahan.

Sebab 2 - Tingkah laku yang tidak konsisten

Jika anda menggunakan komputer atau sistem yang berbeza (seperti komputer pejabat, pelayan, atau komputer riba rakan), arahan RM mungkin tidak mempunyai alias yang sama.

Ketidakkonsistenan ini boleh menyebabkan kesilapan, di mana anda mengharapkan untuk diminta untuk pengesahan tetapi tidak, dan secara tidak sengaja memadamkan sesuatu yang penting.

Sebab 3 - Masalah skrip dan automasi

Skrip yang menggunakan RM juga akan dipengaruhi oleh alias. Sekiranya skrip mengharapkan untuk memadam fail tanpa pengesahan, alias boleh menyebabkannya terjebak menunggu respons. Ini boleh memecahkan automasi dan menyebabkan kekeliruan.

Belajar tabiat yang betul

Daripada bergantung kepada alias untuk keselamatan, lebih baik untuk mengamalkan penggunaan arahan yang teliti. Berikut adalah beberapa petua:

  • Sentiasa menyemak semula arahan dan fail yang akan menjejaskan sebelum menekan Enter.
  • Gunakan arahan LS untuk menyenaraikan fail dan pastikan anda berada di direktori yang betul.
  • Untuk penghapusan kritikal, taip secara manual RM -i untuk mendapatkan pengesahan pengesahan hanya untuk contoh itu, dan bukannya menjadikannya tingkah laku lalai.
  • Amalan menggunakan RM dalam persekitaran yang selamat, seperti folder dengan fail ujian yang tidak penting, untuk membina keyakinan dan tabiat yang baik.

Alternatif yang lebih selamat untuk aliasing rm perintah

Daripada aliasing perintah rm lalai ke rm -i, anda boleh menggunakan salah satu daripada alternatif yang lebih selamat berikut:

  1. Menggunakan alias tersuai dengan nama arahan yang berbeza
  2. Buat skrip penghapusan fail yang lebih selamat yang meletakkan data yang dipadam dalam direktori sampah
  3. Gunakan alat sampah-cli
  4. Gunakan snapshot sistem fail

1. Buat alias adat

Jika anda ingin membuat alias tersuai untuk arahan RM, gunakan sepenuhnya nama yang berbeza, contohnya RMI atau RMCLI atau MYRM dll.

Sebagai contoh, saya akan membuat alias yang dipanggil RMI .

 $ nano ~/.bashrc
Salin selepas log masuk

Tambahkan baris berikut pada akhir:

 alias rmi = 'rm -i'
Salin selepas log masuk

Simpan fail dan tutupnya.

Dari sekarang, anda harus menggunakan arahan RMI untuk memadam fail, bukannya 'rm' lalai.

 $ rmi somefile.txt
Salin selepas log masuk

Anda akan diminta jika anda benar -benar mahu memadam fail.

 RM: Keluarkan fail biasa 'somefile.txt'?
Salin selepas log masuk

Tekan 'Y' untuk mengesahkan penghapusan fail atau tekan 'n' untuk melangkauinya.

Mewujudkan alias berasingan seperti alias rmi = 'rm -i' sememangnya pendekatan yang lebih selamat dan lebih berkesan daripada mengatasi tingkah laku lalai perintah RM.

Kaedah ini membolehkan anda mempunyai pilihan penghapusan interaktif tanpa mengubah tingkah laku asas RM, dengan itu mengurangkan risiko penghapusan yang tidak disengajakan kerana terlalu banyak alias.

Faedah menggunakan alias rmi = 'rm -i' :

Inilah sebabnya alternatif ini bermanfaat untuk penghapusan fail yang lebih selamat:

  1. Perbezaan yang jelas: Ia menyimpan perbezaan yang jelas antara perintah RM standard dan versi interaktifnya, mengurangkan peluang refleks menggunakan RM dan mengharapkan prompt pengesahan.
  2. Mengurangkan risiko pada sistem yang tidak dikenali: Jika anda sedang mengusahakan sistem yang tidak mempunyai alias peribadi anda, anda mungkin tidak sengaja memadam fail kerana anda tidak akan menjadi kebiasaan bergantung kepada RM untuk meminta pengesahan.
  3. Fleksibiliti: Anda boleh memilih bila menggunakan RMI untuk penghapusan yang lebih selamat dan RM untuk penghapusan yang lebih cepat, tidak interaktif, bergantung kepada keadaan dan tahap kepastian anda.

2. Buat skrip penghapusan fail yang lebih selamat

Dalam contoh terdahulu, kami mencipta perintah tersuai yang dipanggil 'RMI' yang meminta pengesahan sebelum memadam fail. Sebagai alternatif, anda boleh menulis skrip kecil yang termasuk pembalakan dan menggerakkan fail ke direktori sampah untuk semakan atau pemulihan kemudian.

2.1. Buat skrip

Buat fail teks yang dipanggil RMCLI dengan kandungan berikut di dalamnya:

 #!/bin/bash
# RMCLI: Skrip penghapusan fail yang lebih selamat

Trash_dir = "$ home/.trash"
Log_file = "$ home/.rmcli.log"

# Pastikan direktori sampah ada
mkdir -p "$ trash_dir"

# Gerakkan fail ke sampah dan bukannya memadam
untuk fail dalam "$@"; lakukan
    timestamp = $ (tarikh%y-%m-%d_%h-%m-%s)
    trash_path = "$ trash_dir/$ (Basename" $ ​​file ") _ $ timestamp"
    mv -v "$ file" "$ trash_path"
    echo "[$ timestamp] $ file -> $ trash_path" >> "$ log_file"
selesai
Salin selepas log masuk

Jangan ragu untuk mengubah suai skrip mengikut keperluan anda, seperti menukar lokasi direktori sampah atau format fail log. Simpan fail dan tutupnya.

2.2. Jadikan skrip boleh dilaksanakan:

Selepas menyimpan skrip, anda perlu membuatnya boleh dilaksanakan. Ini membolehkan anda menjalankannya sebagai arahan. Untuk melakukan ini, gunakan perintah chmod:

 $ chmod x rmcli
Salin selepas log masuk

2.3. Pindahkan skrip ke lokasi di jalan anda:

Untuk kemudahan, anda harus memindahkan skrip ke lokasi di laluan sistem anda supaya anda dapat menjalankannya dari mana -mana direktori. Tempat yang biasa untuk skrip peribadi adalah/usr/local/bin:

 $ sudo mv rmcli/usr/local/bin
Salin selepas log masuk

2.4. Menggunakan skrip:

Sekarang, anda boleh menggunakan arahan RMCLI seperti anda akan menggunakan RM, tetapi dengan ciri keselamatan skrip anda.

Contohnya:

 $ rmcli somefile.txt
Salin selepas log masuk

Perintah ini akan memindahkan SomeFile.txt ke direktori sampah dan bukannya memadamkannya secara kekal.

Output Contoh:

 dinamakan semula 'somefile.txt'-> '/home/ostechnix/.trash/somefile.txt_2024-02-28_16-53-59'
Salin selepas log masuk

Mengapa perintah aliasing rm adalah amalan buruk di linux

Anda boleh mengesahkannya dengan menyenaraikan kandungan direktori ~/.trash.

 $ ls ~/.trash
Salin selepas log masuk

Mengapa perintah aliasing rm adalah amalan buruk di linux

2.5. Pulih fail:

Untuk memulihkan fail, navigasi ke direktori sampah (~/.trash dalam contoh) dan gerakkan fail kembali ke lokasi asal mereka atau di tempat lain yang diperlukan.

 $ cd ~/.trash
Salin selepas log masuk
 $ mv somefile.txt_2024-02-28_16-53-59 ~/somefile.txt
Salin selepas log masuk

2.6. Pembalakan:

Skrip log setiap "penghapusan" dengan cap waktu. Pastikan lokasi fail log yang dinyatakan dalam skrip wujud atau boleh ditulis. Anda boleh menyemak log ini untuk melihat fail apa yang dipindahkan ke sampah.

 $ CAT $ home/.rmcli.log
[2024-02-28_16-53-59] somefile.txt-> /home/ostechnix/.trash/somefile.txt_2024-02-28_16-53-59
Salin selepas log masuk

3. Menggunakan sampah-cli

Alternatif lain yang lebih selamat untuk RM menggunakan sampah baris perintah boleh utiliti seperti sampah-cli , yang bergerak fail ke direktori sampah dan bukannya memadamkannya secara kekal. Ini membolehkan pemulihan fail jika diperlukan.

Untuk mengetahui cara memasang dan menggunakan sampah-cli, sila periksa pautan berikut:

Sampah-CLI: Trashcan Commandline untuk sistem seperti Unix

4. Gunakan sistem fail yang menyokong gambar

Menggunakan sistem fail yang menyokong snapshots tanpa had, seperti BTRFS (Sistem Fail B-Tree) atau ZFS (Zettabyte File System), adalah strategi yang sangat baik untuk melindungi terhadap penghapusan fail yang tidak disengajakan atau penggantian.

Snapshots pada dasarnya adalah salinan bacaan sistem fail pada titik tertentu dalam masa tetapi sangat efisien di kedua-dua ruang dan masa kerana mereka hanya menyimpan perbezaan dari snapshot sebelumnya.

Cara Membuat dan Mengurus Gambar BTRFS Dengan Snapper di OpenSUSE

5. Amalan Safer Lain

  1. Mod Verbose: Gunakan pilihan Verbose (-V) dengan RM atau alias anda untuk mendapatkan output terperinci tentang apa yang dipadam. Ini dapat membantu menangkap kesilapan sebelum mereka berlaku. Sebagai contoh, alias rmi = 'rm -i -v'.
  2. Perlindungan Skrip: Bagi pengguna yang sering memadam fail secara pukal atau melalui skrip, pertimbangkan untuk menulis skrip pembalut di sekitar RM yang termasuk pembalakan fail yang dipadam atau memerlukan pengesahan eksplisit untuk penghapusan di atas ambang tertentu (misalnya, bilangan fail, saiz fail).
  3. Mendidik dan mengamalkan: Secara kerap mendidik diri sendiri dan orang lain mengenai implikasi operasi baris arahan dan amalan tabiat pengurusan fail yang selamat. Ini termasuk menyemak dua kali direktori semasa (PWD), penyenaraian fail (LS atau LA) sebelum penghapusan, dan menggunakan laluan mutlak dengan berhati-hati.

Kesimpulan

Walaupun Aliasing RM ke RM -Saya mungkin kelihatan seperti langkah keselamatan yang baik, ia boleh menyebabkan terlalu banyak keyakinan dan kesilapan dalam persekitaran di mana alias tidak ditetapkan.

Dengan mengadopsi tip dan amalan terbaik ini, anda boleh mengurangkan risiko yang berkaitan dengan penghapusan fail yang tidak disengajakan dengan arahan RM pada sistem UNIX/Linux.

Baca Berkaitan:

  • AutoTrash - Alat CLI untuk membersihkan fail Trashed Lama secara automatik di Linux
  • Padam fail yang belum diakses untuk masa yang diberikan di Linux
  • Cara mudah untuk melindungi fail dari penghapusan tidak sengaja di linux

Atas ialah kandungan terperinci Mengapa perintah aliasing rm adalah amalan buruk di linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan