Ενεργοποίηση επιβεβαίωσης κατά τη διαγραφή αρχείων & φακέλων με εντολή rm

Anonim

Οι περισσότεροι χρήστες της γραμμής εντολών γνωρίζουν ότι η εντολή "rm" για την αφαίρεση και τη διαγραφή αρχείων είναι αρκετά ισχυρή, ικανή να διαγράψει σχεδόν οποιοδήποτε αρχείο μπορεί να φανταστεί κανείς μέσα στο σύστημα αρχείων – είτε πρέπει να αφαιρεθεί είτε όχι. Μόλις προσθέσετε χαρακτήρες μπαλαντέρ και sudo, rm και srm επειδή είναι εκθετικά πιο ισχυροί και δυνητικά επικίνδυνοι, έτσι για προχωρημένους χρήστες που επιθυμούν να προσθέσουν ένα επίπεδο ασφάλειας στη λειτουργία rm μπορούν να ενεργοποιήσουν ένα διάλογο επιβεβαίωσης με τις εντολές rm και srm.Αυτό προσφέρει επίσης έναν χρήσιμο προστατευτικό μηχανισμό για όσους μαθαίνουν τη γραμμή εντολών και θέλουν να τοποθετήσουν ένα επίπεδο επαλήθευσης μεταξύ της στιγμιαίας διαγραφής αρχείων και της εκτέλεσης εντολών τους.

Υπάρχουν δύο μέρη σε αυτό το τέχνασμα, το πρώτο είναι απλά να γνωρίζεις τη σωστή σημαία για να ενεργοποιήσεις και να χρησιμοποιήσεις μια επιβεβαίωση πριν διαγραφεί ένα αρχείο ή φάκελος με το rm, και το δεύτερο χρησιμοποιεί ένα ψευδώνυμο για να κάνει τα προαναφερθέντα αφαιρέστε με επιβεβαίωση στη νέα προεπιλεγμένη επιλογή για την εντολή rm. Και τα δύο αυτά κόλπα λειτουργούν σε Mac OS X, linux και στις περισσότερες άλλες παραλλαγές unix, επομένως είναι σε μεγάλο βαθμό αγνωστικιστικά του λειτουργικού συστήματος και λειτουργεί επίσης με την ισχυρή εντολή ασφαλούς αφαίρεσης srm. Αυτό προφανώς στοχεύει στους πιο προχωρημένους χρήστες να αισθάνονται άνετα με τη γραμμή εντολών στην αρχή, καθώς η χρήση rm και srm δεν είναι κατάλληλα εργαλεία για αρχάριους.

Χρήση της εντολής rm με επιβεβαίωση πριν από τη διαγραφή αρχείων και φακέλων

Η σύνταξη για την ενεργοποίηση μιας επιβεβαίωσης πριν από την αφαίρεση οποιωνδήποτε αρχείων με rm (ή srm) είναι απλώς μια σημαία -i, που χρησιμοποιείται ως εξής:

rm -i όνομα αρχείου

Για παράδειγμα, εάν επρόκειτο να διαγράψετε ένα αρχείο με το όνομα "theSampleFile.zip" και θέλετε να έχετε επιβεβαίωση πριν την κατάργηση της εντολής, θα χρησιμοποιούσατε την ακόλουθη σύνταξη:

rm -i theSampleFile.zip

Μόλις πατήσετε επιστροφή, θα ερωτηθείτε εάν θέλετε ή όχι να αφαιρέσετε το εν λόγω όνομα αρχείου, με την εντολή να επαναλαμβάνει το ακριβές αρχείο πριν το διαγράψει ως εξής:

% rm -i theSampleFile.zip κατάργηση του SampleFile.zip; y

Πατώντας 'y' και η επιστροφή απαντά με 'ναι' για να διαγράψετε το αρχείο, και πατώντας 'n' και το πλήκτρο επιστροφής απαντάτε με ένα όχι και το αρχείο δεν θα αφαιρεθεί.

Η σύνταξη rm -i λειτουργεί ακόμη και με -r για τη λήψη επιβεβαίωσης πριν από την αναδρομική διαγραφή καταλόγων και περιεχομένων αρχείων των περιεχόμενων υποφακέλων:

rm -ir /Example/Folder/

Πάλι θα πρέπει να εκδώσετε ένα y ή n προτού ολοκληρωθεί η εντολή για κάθε μεμονωμένο αρχείο που βρίσκεται στον κατάλογο.

Η λήψη του ίδιου διαλόγου επιβεβαίωσης με το srm χρησιμοποιεί επίσης τη σημαία -i:

srm -i /Example/file.zip

Και πάλι, θα χρησιμοποιούσατε τα πλήκτρα y και n για να επιβεβαιώσετε ή να απορρίψετε την αφαίρεση καθορισμένων αρχείων.

Πώς να ενεργοποιήσετε μια εντολή "rm" επιβεβαίωση από προεπιλογή με ψευδώνυμο

Ανοίξτε το .bash_profile ή το .profile και μπορείτε να δημιουργήσετε ένα ψευδώνυμο για να αλλάξετε την προεπιλεγμένη σύνταξη "rm" σε "rm -i" για να είναι η νέα προεπιλογή.

ψευδώνυμο rm='rm -i'

Μπορείτε να δημιουργήσετε τον ίδιο τύπο ψευδωνύμου με το srm όπως έτσι:

alias srm='srm -i'

Η προσθήκη και των δύο σε μοναδικές γραμμές μέσα στο προφίλ είναι αρκετή. Στη συνέχεια, η ανανέωση του κελύφους θα επιτρέψει την πρόσβαση και στα δύο από bash, zsh, tcsh ή οποιοδήποτε άλλο κέλυφος χρησιμοποιείται.

Έχετε άλλες προηγμένες συμβουλές για την προστασία των rm και srm στη γραμμή εντολών πριν από την κατάργηση αρχείων; Ενημερώστε μας στα σχόλια. Και αν θέλετε απλώς να .

Ενεργοποίηση επιβεβαίωσης κατά τη διαγραφή αρχείων & φακέλων με εντολή rm