Σειρά RHCSA: Πώς να εκτελέσετε τη διαχείριση αρχείων και καταλόγου - Μέρος 2


Σε αυτό το άρθρο, RHCSA Μέρος 2: Διαχείριση αρχείων και καταλόγων, θα εξετάσουμε ορισμένες βασικές δεξιότητες που απαιτούνται στις καθημερινές εργασίες ενός διαχειριστή συστήματος.

Δημιουργία, Διαγραφή, Αντιγραφή και Μετακίνηση Αρχείων και Καταλόγων

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

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

Μπορείτε να χρησιμοποιήσετε το αρχείο [όνομα αρχείου] για να προσδιορίσετε τον τύπο ενός αρχείου (αυτό θα σας φανεί χρήσιμο πριν ξεκινήσετε το πρόγραμμα επεξεργασίας κειμένου που προτιμάτε για να το επεξεργαστείτε).

και rm [όνομα αρχείου] για να το διαγράψετε.

Όσον αφορά τους καταλόγους, μπορείτε να δημιουργήσετε καταλόγους μέσα σε υπάρχουσες διαδρομές με mkdir [κατάλογος] ή να δημιουργήσετε μια πλήρη διαδρομή με mkdir -p [/full/path/to/directory].

Όταν πρόκειται για την κατάργηση καταλόγων, πρέπει να βεβαιωθείτε ότι είναι άδειοι πριν εκδώσετε την εντολή rmdir [κατάλογος] ή να χρησιμοποιήσετε την πιο ισχυρή (χειριστείτε με προσοχή!) rm -rf [κατάλογος]. Αυτή η τελευταία επιλογή θα αναγκάσει την αναδρομική κατάργηση του [καταλόγου] και όλων των περιεχομένων του – επομένως χρησιμοποιήστε τον με δική σας ευθύνη.

Ανακατεύθυνση και Διοχέτευση Εισόδου και Εξόδου

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

Για να κατανοήσουμε αυτές τις δύο σημαντικές έννοιες, πρέπει πρώτα να κατανοήσουμε τους τρεις πιο σημαντικούς τύπους εισόδου/εξόδου (Είσοδος και Έξοδος) ροών (ή ακολουθιών) χαρακτήρων, που είναι στην πραγματικότητα ειδικά αρχεία, με την έννοια *nix της λέξης.

    Η
  1. Τυπική είσοδος (γνωστός και ως stdin) είναι από προεπιλογή συνδεδεμένη στο πληκτρολόγιο. Με άλλα λόγια, το πληκτρολόγιο είναι η τυπική συσκευή εισόδου για την εισαγωγή εντολών στη γραμμή εντολών.
  2. Η
  3. Τυπική έξοδος (γνωστή και ως stdout) είναι από προεπιλογή συνδεδεμένη στην οθόνη, τη συσκευή που \λαμβάνει την έξοδο των εντολών και τις εμφανίζει στην οθόνη.
  4. Τυπικό σφάλμα (γνωστός και ως stderr), είναι όπου αποστέλλονται τα μηνύματα κατάστασης μιας εντολής από προεπιλογή, η οποία είναι επίσης η οθόνη.

Στο παρακάτω παράδειγμα, η έξοδος του ls /var αποστέλλεται στο stdout (η οθόνη), καθώς και το αποτέλεσμα του ls /tecmint . Αλλά στην τελευταία περίπτωση, εμφανίζεται το stderr.

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

Για ανακατεύθυνση stdin (fd 0), stdout (fd 1) ή stderr (fd 2), είναι διαθέσιμοι οι ακόλουθοι τελεστές.

Redirection Operator Effect
> Redirects standard output to a file containing standard output. If the destination file exists, it will be overwritten.
>> Appends standard output to a file.
2> Redirects standard error to a file containing standard output. If the destination file exists, it will be overwritten.
2>> Appends standard error to the existing file.
&> Redirects both standard output and standard error to a file; if the specified file exists, it will be overwritten.
< Uses the specified file as standard input.
<> The specified file is used for both standard input and standard output.

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

Θυμάμαι:

    Η
  1. Ανακατεύθυνση χρησιμοποιείται για την αποστολή της εξόδου μιας εντολής σε ένα αρχείο ή για την αποστολή ενός αρχείου ως είσοδο σε μια εντολή.
  2. Το
  3. Pipelining χρησιμοποιείται για την αποστολή της εξόδου μιας εντολής σε άλλη εντολή ως είσοδο.

Παραδείγματα ανακατεύθυνσης και αγωγών

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

# ls -1 /var/mail > mail.txt

Σε περίπτωση που θέλουμε να αποτρέψουμε την εμφάνιση τόσο του stdout όσο και του stderr στην οθόνη, μπορούμε να ανακατευθύνουμε και τους δύο περιγραφείς αρχείων στο /dev/null. Σημειώστε πώς αλλάζει η έξοδος όταν υλοποιείται η ανακατεύθυνση για την ίδια εντολή.

# ls /var /tecmint
# ls /var/ /tecmint &> /dev/null

Ενώ η κλασική σύνταξη της εντολής cat είναι η εξής.

# cat [file(s)]

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

# cat < mail.txt

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

Σημειώστε ότι χρησιμοποιούμε τις αγωγές στο παρακάτω παράδειγμα. Η πρώτη αναζητά την απαιτούμενη λέξη-κλειδί, ενώ η δεύτερη θα εξαλείψει την πραγματική εντολή grep από τα αποτελέσματα. Αυτό το παράδειγμα παραθέτει όλες τις διεργασίες που σχετίζονται με τον χρήστη apache.

# ps -ef | grep apache | grep -v grep