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
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
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
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.
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.
Daripada bergantung kepada alias untuk keselamatan, lebih baik untuk mengamalkan penggunaan arahan yang teliti. Berikut adalah beberapa petua:
Daripada aliasing perintah rm lalai ke rm -i, anda boleh menggunakan salah satu daripada alternatif yang lebih selamat berikut:
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
Tambahkan baris berikut pada akhir:
alias rmi = 'rm -i'
Simpan fail dan tutupnya.
Dari sekarang, anda harus menggunakan arahan RMI untuk memadam fail, bukannya 'rm' lalai.
$ rmi somefile.txt
Anda akan diminta jika anda benar -benar mahu memadam fail.
RM: Keluarkan fail biasa 'somefile.txt'?
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:
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
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
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
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
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'
Anda boleh mengesahkannya dengan menyenaraikan kandungan direktori ~/.trash.
$ ls ~/.trash
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
$ mv somefile.txt_2024-02-28_16-53-59 ~/somefile.txt
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
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
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
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:
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!