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

Οι εντολές rm
και rmdir
διαγράφουν αρχεία και καταλόγους σε Linux, macOS και άλλα λειτουργικά συστήματα τύπου Unix. Είναι παρόμοια με τα del
και deltree
εντολές στα Windows και DOS. Αυτές οι εντολές είναι πολύ ισχυρές και έχουν αρκετές επιλογές.
Είναι σημαντικό να σημειωθεί ότι τα αρχεία και οι κατάλογοι διαγράφονται χρησιμοποιώντας rm
και rmdir
δεν μετακινούνται στον Κάδο απορριμμάτων. Αφαιρούνται αμέσως από τον υπολογιστή σας. Εάν διαγράψετε κατά λάθος αρχεία χρησιμοποιώντας αυτές τις εντολές, ο μόνος τρόπος για να τα επαναφέρετε είναι από ένα αντίγραφο ασφαλείας.
Πώς να αφαιρέσετε αρχεία με rm
Η απλούστερη περίπτωση είναι η διαγραφή ενός μόνο αρχείου στον τρέχοντα κατάλογο. Πληκτρολογήστε την rm
εντολή, ένα κενό και στη συνέχεια το όνομα του αρχείου που θέλετε να διαγράψετε.
rm αρχείο_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 *. ημερομηνία
Η -f
επιλογή (force) είναι το αντίθετο του διαδραστικού. Δεν ζητά επιβεβαίωση ακόμη και αν τα αρχεία προστατεύονται από εγγραφή.
rm -f όνομα αρχείου
Πώς να αφαιρέσετε καταλόγους με rm
Για να καταργήσετε έναν κενό κατάλογο, χρησιμοποιήστε την -d
επιλογή (κατάλογος). Μπορείτε να χρησιμοποιήσετε χαρακτήρες μπαλαντέρ ( *
και ?
) σε ονόματα καταλόγου όπως μπορείτε με ονόματα αρχείων.
κατάλογος rm -d
Η παροχή περισσότερων από ενός ονόματος καταλόγου διαγράφει όλους τους καθορισμένους κενούς καταλόγους.
rm -d κατάλογος1 κατάλογος2 / διαδρομή / προς / κατάλογο3
Για να διαγράψετε καταλόγους που δεν είναι κενές, χρησιμοποιήστε την -r
επιλογή (recursive) Για να είμαστε σαφείς, αυτό καταργεί τους καταλόγους και όλα τα αρχεία και τους υποκαταλόγους που περιέχονται σε αυτούς.
rm -r κατάλογος1 κατάλογος2 κατάλογος3
Εάν ένας κατάλογος ή ένα αρχείο προστατεύεται από εγγραφή, θα σας ζητηθεί να επιβεβαιώσετε τη διαγραφή. Για να διαγράψετε καταλόγους που δεν είναι κενές και για να καταργήσετε αυτές τις οδηγίες, χρησιμοποιήστε τις επιλογές -r
(αναδρομικές) και -f
(αναγκαστικές) μαζί.
κατάλογος rm -rf
Απαιτείται προσοχή εδώ. Κάνοντας ένα λάθος με την rm -rf
εντολή θα μπορούσε να προκαλέσει απώλεια δεδομένων ή δυσλειτουργία του συστήματος. Είναι επικίνδυνο και η προσοχή είναι η καλύτερη πολιτική. Για να κατανοήσετε τη δομή του καταλόγου και τα αρχεία που θα διαγραφούν από την rm -rf
εντολή, χρησιμοποιήστε την tree
εντολή.
Χρησιμοποιήστε το apt-get
για να εγκαταστήσετε αυτό το πακέτο στο σύστημά σας εάν χρησιμοποιείτε το Ubuntu ή άλλη διανομή που βασίζεται στο Debian. Σε άλλες διανομές Linux, χρησιμοποιήστε το εργαλείο διαχείρισης πακέτων διανομής Linux.
sudo apt-get εγκατάσταση δέντρου
Η εκτέλεση της tree
εντολής παράγει ένα απλό και κατανοητό διάγραμμα της δομής του καταλόγου και των αρχείων κάτω από τον κατάλογο από τον οποίο εκτελείται.
δέντρο
Μπορείτε επίσης να δώσετε μια διαδρομή στην tree
εντολή για να την αναγκάσει να ξεκινήσει το δέντρο από έναν άλλο κατάλογο στο σύστημα αρχείων.
διαδρομή δέντρου / προς / κατάλογο
Η rm
εντολή έχει επίσης --one-file-system, --no-preserve-root, --preserve-root
επιλογές, αλλά αυτές προτείνονται μόνο για προχωρημένους χρήστες. Εάν κάνετε κάτι λάθος, θα μπορούσατε να διαγράψετε κατά λάθος όλα τα αρχεία του συστήματός σας. Ανατρέξτε στη σελίδα εγχειριδίων της εντολής για περισσότερες πληροφορίες.
Πώς να αφαιρέσετε καταλόγους με rmdir
Υπάρχει μια άλλη εντολή, που ονομάζεται rmdir
, την οποία μπορείτε να χρησιμοποιήσετε για να διαγράψετε καταλόγους. Η διαφορά μεταξύ rm
και rmdir
είναι ότι rmdir
μπορεί να διαγράψει μόνο κενά καταλόγους. Δεν θα διαγράψει ποτέ αρχεία.
Η απλούστερη περίπτωση είναι η διαγραφή ενός κενού καταλόγου. Όπως και με rm
, μπορείτε να μεταβιβάσετε πολλά ονόματα καταλόγου rmdir
ή μια διαδρομή σε έναν κατάλογο.
Διαγράψτε έναν μόνο κατάλογο στον τρέχοντα κατάλογο μεταβιβάζοντας το όνομά του σε rmdir
:
κατάλογος rmdir
Διαγράψτε πολλούς καταλόγους μεταβιβάζοντας μια λίστα ονομάτων rmdir
:
rmdir κατάλογος1 κατάλογος2 κατάλογος3
Διαγράψτε έναν κατάλογο που δεν βρίσκεται στον τρέχοντα κατάλογο καθορίζοντας την πλήρη διαδρομή προς αυτόν τον κατάλογο:
rmdir / διαδρομή / προς / κατάλογο
Εάν προσπαθήσετε να διαγράψετε έναν φάκελο που δεν είναι κενός, rmdir
θα σας δώσει ένα μήνυμα σφάλματος. Στο ακόλουθο παράδειγμα με rmdir
επιτυχία, και σιωπηλά, διαγράφεται ο clients
κατάλογος αλλά αρνείται να διαγράψει τον projects
κατάλογο επειδή περιέχει αρχεία. Ο projects
κατάλογος παραμένει ακριβώς όπως ήταν και τα αρχεία σε αυτό δεν έχουν αγγίξει.
Όταν rmdir
δίνει ένα σφάλμα "Ο κατάλογος δεν είναι άδειος", σταματά να επεξεργάζεται τους καταλόγους που του έχουν διαβιβαστεί στη γραμμή εντολών. Εάν του ζητήσατε να διαγράψετε τέσσερις καταλόγους και ο πρώτος είχε αρχεία σε αυτό, rmdir
θα σας έδινε το μήνυμα σφάλματος και δεν θα κάνατε τίποτα περισσότερο. Μπορείτε να το αναγκάσετε να αγνοήσει αυτά τα σφάλματα με την --ignore-fail-on-non-empty
επιλογή, έτσι ώστε να υποβάλλονται σε επεξεργασία άλλοι κατάλογοι.
Στο ακόλουθο παράδειγμα έχουν περάσει δύο φάκελοι 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-άδεια εργασία / αναφορές / εργασία / εισαγωγικά
Μπορείτε να χρησιμοποιήσετε την -p
επιλογή (γονείς) για να διαγράψετε έναν κατάλογο και να διαγράψετε και τους γονικούς καταλόγους του. Αυτό το τέχνασμα λειτουργεί επειδή rmdir
ξεκινά με τον κατάλογο προορισμού και, στη συνέχεια, επιστρέφει στον γονέα. Αυτός ο κατάλογος θα πρέπει τώρα να είναι κενός, ώστε να μπορεί να διαγραφεί από rmdir
, και η διαδικασία επαναλαμβάνει την επιστροφή της διαδρομής στην οποία παρασχέθηκε rmdir
.
Στο ακόλουθο παράδειγμα, η εντολή που μεταβιβάζεται rmdir
είναι:
rmdir -p εργασία / τιμολόγια
Τόσο οι κατάλογοι όσο invoices
και οι work
κατάλογοι διαγράφονται, όπως ζητήθηκε.
Είτε χρησιμοποιείτε Bash ή οποιοδήποτε άλλο κέλυφος, το Linux παρέχει ευέλικτες και ισχυρές εντολές για τη διαγραφή καταλόγων και αρχείων απευθείας από τη γραμμή εντολών του τερματικού. Μερικοί άνθρωποι προτιμούν να έχουν μια ροή εργασίας που περιστρέφεται γύρω από το τερματικό. Άλλοι μπορεί να μην έχουν άλλη επιλογή στο θέμα. Ενδέχεται να εργάζονται σε διακομιστές χωρίς εγκατεστημένο GUI ή σε απομακρυσμένη περίοδο λειτουργίας σε ένα σύστημα χωρίς κεφάλι, όπως το Raspberry Pi. Αυτές οι εντολές είναι ιδανικές για αυτήν την ομάδα ανθρώπων.
Αλλά όποιο είδος ροής εργασίας προτιμάτε, αυτές οι εντολές προσφέρονται πολύ καλά για να συμπεριληφθούν σε κελύφη. Εάν ένα σενάριο ενεργοποιείται από μια cron
εργασία, μπορεί να βοηθήσει στην αυτοματοποίηση των συνηθισμένων εργασιών καθαρισμού, όπως η εκκαθάριση ανεπιθύμητων αρχείων καταγραφής. Εάν διερευνήσετε αυτήν τη θήκη χρήσης, θυμηθείτε τη δύναμη αυτών των εντολών, ελέγξτε τα πάντα προσεκτικά και διατηρείτε πάντα ένα πρόσφατο αντίγραφο ασφαλείας.