Πώς να διαγράψετε αρχεία και καταλόγους στο τερματικό Linux

Οι εντολές rm και rmdir διαγράφουν αρχεία και καταλόγους σε Linux, macOS και άλλα λειτουργικά συστήματα παρόμοια με το Unix. Είναι παρόμοιες με τις εντολές del και deltree στα Windows και στο DOS. Αυτές οι εντολές είναι πολύ ισχυρές και έχουν αρκετές επιλογές.

Είναι σημαντικό να σημειωθεί ότι τα αρχεία και οι κατάλογοι που διαγράφονται με χρήση rm και rmdir δεν μεταφέρονται στον Κάδο απορριμμάτων. Αφαιρούνται αμέσως από τον υπολογιστή σας. Εάν κατά λάθος διαγράψετε αρχεία χρησιμοποιώντας αυτές τις εντολές, ο μόνος τρόπος με τον οποίο θα μπορέσετε να τα επαναφέρετε είναι από ένα αντίγραφο ασφαλείας.

Πώς να αφαιρέσετε αρχεία με το rm

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

rm file_1.txt

Εάν το αρχείο δεν βρίσκεται στον τρέχοντα κατάλογο εργασίας, δώστε μια διαδρομή προς τη θέση του αρχείου.

rm ./path/to/the/file/file_1.txt

Μπορείτε να περάσετε περισσότερα από ένα ονόματα αρχείων στο rm. Με αυτόν τον τρόπο διαγράφονται όλα τα καθορισμένα αρχεία.

rm file_2.txt file_3.txt

Οι χαρακτήρες μπαλαντέρ μπορούν να χρησιμοποιηθούν για την επιλογή ομάδων αρχείων προς διαγραφή. Το * αντιπροσωπεύει πολλούς χαρακτήρες και το ? αντιπροσωπεύει έναν μόνο χαρακτήρα. Αυτή η εντολή θα διαγράψει όλα τα αρχεία εικόνας png στον τρέχοντα κατάλογο εργασίας.

rm *.png

Αυτή η εντολή θα διαγράψει όλα τα αρχεία που έχουν μία μόνο επέκταση χαρακτήρα. Για παράδειγμα, αυτό θα διαγράψει τα File.1 και File.2, αλλά όχι File.12.

rm *.?

Εάν ένα αρχείο προστατεύεται από εγγραφή, θα σας ζητηθεί πριν διαγραφεί το αρχείο. Πρέπει να απαντήσετε με y ή n και να πατήσετε “Enter”.

Για να μειώσετε τον κίνδυνο χρήσης rm με χαρακτήρες μπαλαντέρ, χρησιμοποιήστε την επιλογή -i (διαδραστική). Αυτό απαιτεί να επιβεβαιώσετε τη διαγραφή κάθε αρχείου.

rm -i *.dat

Η επιλογή -f (δύναμη) είναι το αντίθετο της διαδραστικής. Δεν ζητά επιβεβαίωση ακόμη και αν τα αρχεία προστατεύονται από εγγραφή.

rm -f filename

Πώς να αφαιρέσετε καταλόγους με το rm

Για να αφαιρέσετε έναν κενό κατάλογο, χρησιμοποιήστε την επιλογή -d (κατάλογος). Μπορείτε να χρησιμοποιήσετε χαρακτήρες μπαλαντέρ (* και ?) στα ονόματα καταλόγων όπως ακριβώς μπορείτε με τα ονόματα αρχείων.

rm -d directory

Η παροχή περισσότερων από ένα ονομάτων καταλόγου διαγράφει όλους τους καθορισμένους κενούς καταλόγους.

rm -d directory1 directory2 /path/to/directory3

Για να διαγράψετε καταλόγους που δεν είναι κενοί, χρησιμοποιήστε την επιλογή -r (αναδρομική). Για να είμαστε σαφείς, αυτό καταργεί τους καταλόγους και όλα τα αρχεία και τους υποκαταλόγους που περιέχονται σε αυτούς.

rm -r directory1 directory2 directory3

Εάν ένας κατάλογος ή ένα αρχείο προστατεύεται από εγγραφή, θα σας ζητηθεί να επιβεβαιώσετε τη διαγραφή. Για να διαγράψετε καταλόγους που δεν είναι κενοί και για να αποκρύψετε αυτές τις προτροπές, χρησιμοποιήστε τις επιλογές -r (αναδρομική) και -f (δύναμη).

rm -rf directory

Εδώ απαιτείται προσοχή. Κάνοντας λάθος με την εντολή rm -rf μπορεί να προκληθεί απώλεια δεδομένων ή δυσλειτουργία του συστήματος. Είναι επικίνδυνο και η προσοχή είναι η καλύτερη πολιτική. Για να κατανοήσετε τη δομή του καταλόγου και τα αρχεία που θα διαγραφούν με την εντολή rm -rf, χρησιμοποιήστε την εντολή δέντρου.

  Πώς να καταχωρίσετε τις συσκευές του υπολογιστή σας από το τερματικό Linux

Χρησιμοποιήστε το apt-get για να εγκαταστήσετε αυτό το πακέτο στο σύστημά σας εάν χρησιμοποιείτε Ubuntu ή άλλη διανομή που βασίζεται στο Debian. Σε άλλες διανομές Linux, χρησιμοποιήστε αντί αυτού το εργαλείο διαχείρισης πακέτων της διανομής σας Linux.

sudo apt-get install tree

Η εκτέλεση της εντολής δέντρου δημιουργεί ένα απλό στην κατανόηση διάγραμμα της δομής του καταλόγου και των αρχείων κάτω από τον κατάλογο από τον οποίο εκτελείται.

tree

Μπορείτε επίσης να δώσετε μια διαδρομή στην εντολή δέντρου για να την αναγκάσετε να ξεκινήσει το δέντρο από άλλο κατάλογο στο σύστημα αρχείων.

tree path/to/directory

Η εντολή rm έχει επίσης επιλογές –one-file-system, –no-preserve-root, –preserve-root, αλλά αυτές προτείνονται μόνο για προχωρημένους χρήστες. Εάν κάνετε κάτι λάθος, θα μπορούσατε να διαγράψετε κατά λάθος όλα τα αρχεία του συστήματός σας. Συμβουλευτείτε την εντολή σελίδα εγχειριδίου Για περισσότερες πληροφορίες.

  Πώς να ανεβάσετε μουσική στο Google Music στο Linux

Πώς να αφαιρέσετε καταλόγους με το rmdir

Υπάρχει μια άλλη εντολή, που ονομάζεται rmdir, που μπορείτε να χρησιμοποιήσετε για να διαγράψετε καταλόγους. Η διαφορά μεταξύ rm και rmdir είναι ότι το rmdir μπορεί να διαγράψει μόνο άδειους καταλόγους. Δεν θα διαγράψει ποτέ αρχεία.

Η απλούστερη περίπτωση είναι η διαγραφή ενός κενού καταλόγου. Όπως και με το rm, μπορείτε να περάσετε πολλά ονόματα καταλόγου στο rmdir ή μια διαδρομή σε έναν κατάλογο.

Διαγράψτε έναν μεμονωμένο κατάλογο στον τρέχοντα κατάλογο περνώντας το όνομά του στο rmdir:

rmdir directory

Διαγράψτε πολλούς καταλόγους περνώντας μια λίστα ονομάτων στο rmdir :

rmdir directory1 directory2 directory3

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

rmdir /path/to/directory

Εάν προσπαθήσετε να διαγράψετε έναν φάκελο που δεν είναι κενός, το rmdir θα σας εμφανίσει ένα μήνυμα σφάλματος. Στο παρακάτω παράδειγμα, το rmdir διαγράφει με επιτυχία και αθόρυβα τον κατάλογο των πελατών, αλλά αρνείται να διαγράψει τον κατάλογο έργων επειδή περιέχει αρχεία. Ο κατάλογος έργων παραμένει ακριβώς όπως ήταν και τα αρχεία σε αυτόν είναι ανέγγιχτα.

Όταν το rmdir δίνει ένα σφάλμα “Ο κατάλογος δεν είναι κενός”, σταματά την επεξεργασία των καταλόγων που του μεταβιβάστηκαν στη γραμμή εντολών. Εάν του ζητήσατε να διαγράψει τέσσερις καταλόγους και ο πρώτος είχε αρχεία μέσα, το rmdir θα σας έδινε το μήνυμα σφάλματος και δεν θα έκανε τίποτα περισσότερο. Μπορείτε να το αναγκάσετε να αγνοήσει αυτά τα σφάλματα με την επιλογή –ignore-fail-on-non-empty, έτσι ώστε να υποβάλλονται σε επεξεργασία άλλοι κατάλογοι.

  Πώς να επανεκκινήσετε ή να τερματίσετε τη λειτουργία του Linux χρησιμοποιώντας τη γραμμή εντολών

Στο παρακάτω παράδειγμα, δύο φάκελοι έχουν περάσει στο rmdir, αυτοί είναι το work/reports και το work/quotes . Η επιλογή –ignore-fail-on-non-empty έχει συμπεριληφθεί στην εντολή. Ο φάκελος work/reports περιέχει αρχεία, επομένως το rmdir δεν μπορεί να τον διαγράψει. Η επιλογή –ignore-fail-on-non-empty αναγκάζει το rmdir να αγνοήσει το σφάλμα και να προχωρήσει στον επόμενο φάκελο που πρέπει να επεξεργαστεί, που είναι το work/quotes. Αυτός είναι ένας κενός φάκελος και το rmdir τον διαγράφει.

Αυτή ήταν η εντολή που χρησιμοποιήθηκε.

rmdir --ignore-fail-on-non-empty work/reports /work/quotes

Μπορείτε να χρησιμοποιήσετε την επιλογή -p (γονείς) για να διαγράψετε έναν κατάλογο και να διαγράψετε και τους γονικούς καταλόγους του. Αυτό το τέχνασμα λειτουργεί επειδή το rmdir ξεκινά με τον κατάλογο προορισμού και στη συνέχεια πηγαίνει πίσω στον γονέα. Αυτός ο κατάλογος θα πρέπει τώρα να είναι κενός, ώστε να μπορεί να διαγραφεί από το rmdir και η διαδικασία επαναλαμβάνεται κάνοντας back up τη διαδρομή που δόθηκε στο rmdir.

Στο παρακάτω παράδειγμα η εντολή που μεταβιβάζεται στο rmdir είναι:

rmdir -p work/invoices

Τόσο τα τιμολόγια όσο και οι κατάλογοι εργασίας διαγράφονται, όπως ζητήθηκε.

Είτε χρησιμοποιείτε το Bash είτε οποιοδήποτε άλλο κέλυφος, το Linux παρέχει ευέλικτες και ισχυρές εντολές για να διαγράψετε καταλόγους και αρχεία απευθείας από τη γραμμή εντολών του τερματικού. Μερικοί άνθρωποι προτιμούν να έχουν μια ροή εργασίας που περιστρέφεται γύρω από το τερματικό. Άλλοι μπορεί να μην έχουν άλλη επιλογή στο θέμα. Ενδέχεται να εργάζονται σε διακομιστές χωρίς εγκατεστημένο GUI ή σε απομακρυσμένη περίοδο λειτουργίας σε ένα σύστημα χωρίς κεφάλι, όπως ένα Raspberry Pi. Αυτές οι εντολές είναι τέλειες για αυτήν την ομάδα ανθρώπων.

Αλλά όποιος τύπος ροής εργασίας προτιμάτε, αυτές οι εντολές προσφέρονται πολύ καλά για να συμπεριληφθούν σε σενάρια φλοιού. Εάν ένα σενάριο ενεργοποιηθεί από μια εργασία cron, μπορεί να βοηθήσει στην αυτοματοποίηση των εργασιών ρουτίνας καθαρισμού, όπως η εκκαθάριση ανεπιθύμητων αρχείων καταγραφής. Εάν διερευνήσετε αυτήν την περίπτωση χρήσης, θυμηθείτε τη δύναμη αυτών των εντολών, δοκιμάστε τα πάντα προσεκτικά και διατηρείτε πάντα ένα πρόσφατο αντίγραφο ασφαλείας.