Κενό περιεχόμενο καθορισμένου αρχείου χωρίς διαγραφή μέσω γραμμής εντολών

Anonim

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

Πώς να διαγράψετε τα περιεχόμενα του αρχείου από τη γραμμή εντολών

Το κόλπο για να αφαιρέσετε τα περιεχόμενα ενός αρχείου ενώ διατηρείτε αυτό το αρχείο μοιάζει με το εξής:

> όνομα αρχείου

Αυτή η προσέγγιση λειτουργεί στο bash και σε πολλά άλλα κελύφη, αλλά μπορείτε επίσης να χρησιμοποιήσετε μια παραλλαγή της ηχούς εάν δεν λειτουργεί σε zsh ή σε άλλο κέλυφος. Για zsh, χρησιμοποιήστε τα παρακάτω για να διαγράψετε τα περιεχόμενα ενός αρχείου από τη γραμμή εντολών χρησιμοποιώντας echo null και ανακατεύθυνση:

echo -n > όνομα αρχείου

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

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

> ~/Library/Logs/updates.log

Ή επιτυγχάνοντας το ίδιο αποτέλεσμα με ανακατεύθυνση ηχούς:

echo -n > ~/Library/Logs/updates.log

Μπορείτε επίσης να χρησιμοποιήσετε αυτήν την εντολή για να δημιουργήσετε ένα νέο αρχείο 0 byte στη θέση, παρόμοιο με τη χρήση της εντολής αφής.

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

Κενό περιεχόμενο καθορισμένου αρχείου χωρίς διαγραφή μέσω γραμμής εντολών