Android

Εντολή αφής Linux

How we'll become cyborgs and extend human potential | Hugh Herr

How we'll become cyborgs and extend human potential | Hugh Herr

Πίνακας περιεχομένων:

Anonim

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

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

Αρχεία χρόνου Linux Files

Πριν πάτε με τον τρόπο χρήσης της εντολής αφής, ας αρχίσουμε με την ανασκόπηση των χρονικών σημείων αρχείου στο Linux.

Ένα αρχείο στο Linux έχει τρεις χρονικές σφραγίδες:

  • atime (χρόνος πρόσβασης) - Την τελευταία φορά που το αρχείο έχει προσπελάσει / ανοίξει με κάποια εντολή ή εφαρμογή όπως cat, vim ή grep.mtime (τροποποίηση χρόνου) - Την τελευταία φορά που το περιεχόμενο του αρχείου τροποποιήθηκε.ctime (χρόνος αλλαγής) την τελευταία φορά που άλλαξε το χαρακτηριστικό ή το περιεχόμενο του αρχείου. Το χαρακτηριστικό περιλαμβάνει δικαιώματα αρχείων, ιδιοκτησία αρχείων ή θέση αρχείου.

Για να εμφανίσετε την κατάσταση του αρχείου, συμπεριλαμβανομένων των timestamps, χρησιμοποιήστε την εντολή stat .

stat file_name

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

Πώς να χρησιμοποιήσετε την εντολή αφής

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

Αν το αρχείο υπάρχει ήδη, η αφή θα αλλάξει τον τελευταίο χρόνο πρόσβασης και τις τροποποιήσεις στον τρέχοντα χρόνο.

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

touch file1

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

touch file1 file2 file3

Για παράδειγμα, εάν υπάρχει το αρχείο file1 , η ακόλουθη εντολή θα αλλάξει τα timestamps του αρχείου διαφορετικά, δεν θα κάνει τίποτε:

touch -c file1

Αλλάζοντας μόνο τους χρόνους πρόσβασης ή τροποποίησης

Από προεπιλογή, εάν δεν χρησιμοποιείται καμία επιλογή, θα γίνει ενημέρωση του τελευταίου χρόνου πρόσβασης και τροποποίησης του αρχείου στην τρέχουσα ώρα. Χρησιμοποιώντας τις επιλογές -a και -m , μπορείτε να αλλάξετε μόνο ένα από αυτά τα χρονικά σήματα.

Αλλάξτε μόνο τον χρόνο πρόσβασης

Χρησιμοποιήστε την επιλογή -a για να αλλάξετε μόνο τον χρόνο πρόσβασης του αρχείου:

touch -a file1

Αλλάξτε μόνο την ώρα τροποποίησης

Χρησιμοποιήστε την επιλογή -m για να αλλάξετε την ώρα τροποποίησης του αρχείου:

touch -m file1

Κατά την αλλαγή του χρόνου τροποποίησης, ο χρόνος αλλαγής θα ενημερωθεί επίσης.

Ρύθμιση συγκεκριμένων χρονικών σημείων

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

Χρησιμοποιήστε την επιλογή -d ( --date= ) για να καθορίσετε μια συμβολοσειρά ημερομηνίας και να την χρησιμοποιήσετε αντί για την τρέχουσα ώρα.

Για παράδειγμα, για να αλλάξετε τόσο τον τελευταίο χρόνο πρόσβασης και τροποποίησης του file1 έως 1 Ιουνίου 2018 11:02 θα χρησιμοποιούσατε την ακόλουθη εντολή:

touch -d '1 June 2018 11:02' file1

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

Μπορείτε επίσης να δώσετε μια μερική συμβολοσειρά ημερομηνίας-ώρας στην εντολή αφής. Παρέχοντας μόνο την ημερομηνία, αλλάζει αυτόματα το έτος στην τρέχουσα:

touch -d '12 June' file1

Χρησιμοποιήστε την επιλογή -t για να ορίσετε μια χρονική σήμανση και να την χρησιμοποιήσετε αντί για την τρέχουσα ώρα. Το επιχείρημα της χρονικής σήμανσης πρέπει να έχει την ακόλουθη μορφή:

use YY]MMDDhhmm

Για παράδειγμα, η ακόλουθη εντολή θα καθορίσει τους τελευταίους χρόνους πρόσβασης και τροποποίησης του file1 έως 1 Ιουνίου 11:02 του τρέχοντος έτους.

touch -t 12061102 file1

Χρησιμοποιώντας τη χρονική σήμανση ενός άλλου αρχείου

Η επιλογή -r ( --reference= ) μας επιτρέπει να καθορίσουμε ένα αρχείο αναφοράς και να χρησιμοποιήσουμε τα timestamps του αντί της τρέχουσας ώρας.

Για παράδειγμα, η ακόλουθη εντολή θα πει την αφή για να χρησιμοποιήσει τις ώρες του file1 για το file2 :

touch -r file1 file2

Αλλαγή χρονικής σήμανσης συμβολικής σύνδεσης

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

Χρησιμοποιήστε το -h ( --no-dereference ) για να τροποποιήσετε τη χρονική σήμανση του σύζυγου.

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

touch -h symlink1

συμπέρασμα

Μέχρι τώρα θα πρέπει να έχετε μια καλή αντίληψη για τον τρόπο χρήσης της εντολής αφής Linux.

touch terminal