Linux Professional Institute Learning Logo.
Mετάβαση στο κύριο περιεχόμενο
  • Αρχική
    • Διαθέσιμοι Πόροι
    • Μαθησιακά Υλικά LPI
    • Γίνε Συνεργάτης
    • Συνεργάτες Εκδόσεων
    • Γίνε Συνεργάτης Εκδόσεων
    • Σχετικά
    • FAQ
    • Συνεργάτες
    • Roadmap
    • Επικοινωνία
  • LPI.org
3.2 Μάθημα 1
Θέμα 1: Η κοινότητα Linux και μια καριέρα στον Ανοιχτό Κώδικα
1.1 Εξέλιξη του Linux και Δημοφιλή Λειτουργικά Συστήματα
  • 1.1 Μάθημα 1
1.2 Κύριες Εφαρμογές Ανοιχτού Κώδικα
  • 1.2 Μάθημα 1
1.3 Λογισμικό Ανοιχτού Κώδικα και Αδειοδότηση
  • 1.3 Μάθημα 1
1.4 Δεξιότητες ICT και Εργασία στο Linux
  • 1.4 Μάθημα 1
Θέμα 2: Βρίσκοντας το Δρόμο σας σε ένα Σύστημα Linux
2.1 Βασικά Στοιχεία Γραμμής Εντολών
  • 2.1 Μάθημα 1
  • 2.1 Μάθημα 2
2.2 Χρήση της Γραμμής Εντολών για Λήψη Βοήθειας
  • 2.2 Μάθημα 1
2.3 Χρήση Καταλόγων και Παράθεση Αρχείων
  • 2.3 Μάθημα 1
  • 2.3 Μάθημα 2
2.4 Δημιουργία, Μετακίνηση και Διαγραφή Αρχείων
  • 2.4 Μάθημα 1
Θέμα 3: Η Δύναμη της Γραμμής Εντολών
3.1 Αρχειοθέτηση Αρχείων στη Γραμμή Εντολών
  • 3.1 Μάθημα 1
3.2 Αναζήτηση και Εξαγωγή Δεδομένων από Αρχεία
  • 3.2 Μάθημα 1
  • 3.2 Μάθημα 2
3.3 Μετατροπή Εντολών σε Σενάριο
  • 3.3 Μάθημα 1
  • 3.3 Μάθημα 2
Θέμα 4: Το Λειτουργικό Σύστημα Linux
4.1 Επιλογή Λειτουργικού Συστήματος
  • 4.1 Μάθημα 1
4.2 Κατανόηση του Υλικού του Υπολογιστή
  • 4.2 Μάθημα 1
4.3 Πού Αποθηκεύονται τα Δεδομένα
  • 4.3 Μάθημα 1
  • 4.3 Μάθημα 2
4.4 Ο Υπολογιστής σας στο Δίκτυο
  • 4.4 Μάθημα 1
Θέμα 5: Ασφάλεια και Δικαιώματα Αρχείων
5.1 Βασική Ασφάλεια και Αναγνώριση Τύπων Χρηστών
  • 5.1 Μάθημα 1
5.2 Δημιουργία Χρηστών και Ομάδων
  • 5.2 Μάθημα 1
5.3 Διαχείριση Δικαιωμάτων και Ιδιοκτησίας Αρχείων
  • 5.3 Μάθημα 1
5.4 Ειδικοί Κατάλογοι και Αρχεία
  • 5.4 Μάθημα 1
How to get certified
  1. Θέμα 3: Η Δύναμη της Γραμμής Εντολών
  2. 3.2 Αναζήτηση και Εξαγωγή Δεδομένων από Αρχεία
  3. 3.2 Μάθημα 1

3.2 Μάθημα 1

Πιστοποιητικό:

Linux Essentials

Έκδοση:

1.6

Θέμα:

3 Η Δύναμη της Γραμμής Εντολών

Σκοπός:

3.2 Αναζήτηση και Εξαγωγή Δεδομένων από Αρχεία

Μάθημα:

1 απο 2

Εισαγωγή

Σε αυτό το εργαστήριο θα επικεντρωθούμε στην ανακατεύθυνση ή τη μετάδοση πληροφοριών από τη μια πηγή στην άλλη με τη βοήθεια συγκεκριμένων εργαλείων. Η γραμμή εντολών Linux ανακατευθύνει τις πληροφορίες μέσω συγκεκριμένων τυπικών καναλιών. Η τυπική είσοδος (stdin ή κανάλι 0) της εντολής θεωρείται ότι είναι το πληκτρολόγιο και η τυπική έξοδος (stdout ή κανάλι 1) θεωρείται η οθόνη. Υπάρχει επίσης ένα άλλο κανάλι που προορίζεται να ανακατευθύνει την έξοδο σφάλματος (stderr ή κανάλι 2) μιας εντολής ή των μηνυμάτων σφάλματος ενός προγράμματος. Η είσοδος και/ή η έξοδος μπορούν να ανακατευθυνθούν.

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

Ανακατεύθυνση I/O

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

Ανακατεύθυνση Tυπικής Eξόδου

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

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

Το παρακάτω παράδειγμα δείχνει τη λειτουργικότητα του τελεστή. Στην πρώτη περίπτωση, δημιουργείται ένα νέο αρχείο που περιέχει το κείμενο "`Hello World!":

$ echo "Hello World!" > text
$ cat text
Hello World!

Στη δεύτερη περίπτωση, το ίδιο αρχείο αντικαθίσταται με το νέο κείμενο:

$ echo "Hello!" > text
$ cat text
Hello!

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

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

$ echo "Hello to you too!" >> text
$ cat text
Hello!
Hello to you too!

Το δεύτερο παράδειγμα δείχνει ότι θα δημιουργηθεί ένα νέο αρχείο:

$ echo "Hello to you too!" >> text2
$ cat text2
Hello to you too!

Ανακατεύθυνση Tυπικού Σφάλματος

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

Όπως εξηγήθηκε, το κανάλι για την ανακατεύθυνση του τυπικού σφάλματος είναι το κανάλι 2. Κατά την ανακατεύθυνση του τυπικού σφάλματος, το κανάλι πρέπει να καθοριστεί, σε αντίθεση με την άλλη τυπική έξοδο όπου το channel 1 έχει οριστεί από προεπιλογή. Για παράδειγμα, η ακόλουθη εντολή αναζητά ένα αρχείο ή κατάλογο με το όνομα games και εγγράφει μόνο το σφάλμα στο αρχείο text-error, ενώ εμφανίζει την τυπική έξοδο στην οθόνη:

$ find /usr games 2> text-error
/usr
/usr/share
/usr/share/misc
---------Omitted output----------
/usr/lib/libmagic.so.1.0.0
/usr/lib/libdns.so.81
/usr/games
$ cat text-error
find: `games': No such file or directory
Note

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

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

$ sort /etc/passwd 2> text-error
$ cat text-error

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

$ sort /etc 2>> text-error
$ cat text-error
sort: read failed: /etc: Is a directory
$ sort /etc/shadow 2>> text-error2
$ cat text-error2
sort: open failed: /etc/shadow: Permission denied

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

Υπάρχει ένα συγκεκριμένο αρχείο που τεχνικά είναι ένα bit bucket (ένα αρχείο που δέχεται είσοδο και δεν κάνει τίποτα μαζί του): /dev/null. Μπορείτε να ανακατευθύνετε τυχόν άσχετες πληροφορίες που μπορεί να μην θέλετε να εμφανίζονται ή να ανακατευθύνονται σε ένα σημαντικό αρχείο, όπως φαίνεται στο παρακάτω παράδειγμα:

$ sort /etc 2> /dev/null

Ανακατεύθυνση Tυπικής Εισόδου

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

$ cat < text
Hello!
Hello to you too!

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

$ tr -d "l" < text
Heo!
Heo to you too!

Για περισσότερες πληροφορίες, συμβουλευτείτε τη σελίδα man του tr.

Here Documents

Σε αντίθεση με τις ανακατευθύνσεις εξόδου, ο τελεστής << ενεργεί με διαφορετικό τρόπο σε σύγκριση με τους άλλους τελεστές. Αυτή η ροή εισόδου ονομάζεται επίσης here document. Το here document αντιπροσωπεύει το τμήμα κώδικα ή κειμένου που μπορεί να ανακατευθυνθεί στην εντολή ή στο διαδραστικό πρόγραμμα. Διαφορετικοί τύποι σεναριακών γλωσσών, όπως bash, sh και csh μπορούν να λάβουν είσοδο απευθείας από τη γραμμή εντολών, χωρίς τη χρήση αρχείων κειμένου.

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

$ cat << hello
> hey
> ola
> hello
hey
ola

Συμβουλευτείτε τη σελίδα man της εντολής cat για να βρείτε περισσότερες πληροφορίες.

Συνδυασμοί

Ο πρώτος συνδυασμός που θα εξερευνήσουμε συνδυάζει την ανακατεύθυνση της τυπικής εξόδου και της εξόδου τυπικού σφάλματος στο ίδιο αρχείο. Οι τελεστές &> και &>> χρησιμοποιούνται, το & αντιπροσωπεύει τον συνδυασμό του καναλιού 1 και καναλιού 2. Ο πρώτος τελεστής θα αντικαταστήσει τα υπάρχοντα περιεχόμενα του αρχείου και ο δεύτερος θα προσαρτήσει ή θα προσθέσει τις νέες πληροφορίες στο τέλος του αρχείου. Και οι δύο τελεστές θα ενεργοποιήσουν τη δημιουργία του νέου αρχείου εάν δεν υπάρχει, όπως ακριβώς στις προηγούμενες ενότητες:

$ find /usr admin &> newfile
$ cat newfile
/usr
/usr/share
/usr/share/misc
---------Omitted output----------
/usr/lib/libmagic.so.1.0.0
/usr/lib/libdns.so.81
/usr/games
find: `admin': No such file or directory
$ find /etc/calendar &>> newfile
$ cat newfile
/usr
/usr/share
/usr/share/misc
---------Omitted output----------
/usr/lib/libmagic.so.1.0.0
/usr/lib/libdns.so.81
/usr/games
find: `admin': No such file or directory
/etc/calendar
/etc/calendar/default

Ας ρίξουμε μια ματιά σε ένα παράδειγμα χρησιμοποιώντας την εντολή cut:

$ cut -f 3 -d "/" newfile
$ cat newfile

share
share
share
---------Omitted output----------
lib
games
find: `admin': No such file or directory
calendar
calendar
find: `admin': No such file or directory

Η εντολή cut κόβει καθορισμένα πεδία από το αρχείο εισόδου χρησιμοποιώντας την επιλογή -f, το 3ο πεδίο στην περίπτωσή μας. Προκειμένου η εντολή να βρει το πεδίο, πρέπει να καθοριστεί και ένας οριοθέτης με την επιλογή -d. Στην περίπτωσή μας ο οριοθέτης θα είναι ο χαρακτήρας /.

Για να μάθετε περισσότερα σχετικά με την εντολή cut, συμβουλευτείτε τη σελίδα man της.

Pipes Γραμμής Εντολών

Η ανακατεύθυνση χρησιμοποιείται κυρίως για την αποθήκευση του αποτελέσματος μιας εντολής, για επεξεργασία από διαφορετική εντολή. Αυτός ο τύπος ενδιάμεσης επεξεργασίας μπορεί να γίνει πολύ κουραστικός και περίπλοκος εάν θέλετε τα δεδομένα να περάσουν από πολλαπλά processes. Για να το αποφύγετε αυτό, μπορείτε να συνδέσετε την εντολή απευθείας μέσω pipes. Με άλλα λόγια, η έξοδος της πρώτης εντολής γίνεται αυτόματα η είσοδος της δεύτερης εντολής. Αυτή η σύνδεση γίνεται χρησιμοποιώντας τον τελεστή | (κάθετη γραμμή):

$ cat /etc/passwd | less
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
:

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

Είναι δυνατή η ταυτόχρονη χρήση πολλών pipes. Οι ενδιάμεσες εντολές που λαμβάνουν είσοδο στη συνέχεια την αλλάζουν και παράγουν έξοδο ονομάζονται φίλτρα. Ας πάρουμε την εντολή ls -l και ας προσπαθήσουμε να μετρήσουμε τον αριθμό των λέξεων από τις πρώτες 10 γραμμές της εξόδου. Για να γίνει αυτό, θα πρέπει να χρησιμοποιήσουμε την εντολή head που από προεπιλογή εμφανίζει τις πρώτες 10 γραμμές ενός αρχείου και στη συνέχεια να μετρήσουμε τις λέξεις χρησιμοποιώντας την εντολή wc:

$ ls -l | head | wc -w
10

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

Υπάρχει μια άλλη εντολή που εμφανίζει το τέλος ενός αρχείου: tail. Από προεπιλογή, αυτή η εντολή επιλέγει τις τελευταίες 10 γραμμές και τις εμφανίζει, αλλά όπως με το head ο αριθμός μπορεί επίσης να τροποποιηθεί. Ελέγξτε τη σελίδα man της tail για περισσότερες λεπτομέρειες.

Note

Η επιλογή -f μπορεί να εμφανίζει τις τελευταίες γραμμές ενός αρχείου ενώ ενημερώνεται. Αυτή η δυνατότητα μπορεί να γίνει πολύ χρήσιμη κατά την παρακολούθηση ενός αρχείου όπως το syslog για συνεχή δραστηριότητα.

Η εντολή wc (πλήθος λέξεων) μετράει από προεπιλογή τις γραμμές, τις λέξεις και τα byte ενός αρχείου. Όπως φαίνεται στην άσκηση, η επιλογή -w κάνει την εντολή να μετράει μόνο τις λέξεις μέσα στις επιλεγμένες γραμμές. Οι πιο συνηθισμένες επιλογές που μπορείτε να χρησιμοποιήσετε με αυτήν την εντολή είναι: -l, που καθορίζει στην εντολή να μετράει μόνο τις γραμμές και -c, που χρησιμοποιείται για τη μέτρηση μόνο των byte. Περισσότερες παραλλαγές και επιλογές της εντολής, καθώς και περισσότερες πληροφορίες για το wc μπορείτε να βρείτε στη σελίδα man της εντολής.

Καθοδηγούμενες Ασκήσεις

  1. Παραθέστε τα περιεχόμενα του τρέχοντος καταλόγου σας, συμπεριλαμβανομένης της ιδιοκτησίας και των δικαιωμάτων, και ανακατευθύνετε την έξοδο σε ένα αρχείο που ονομάζεται contents.txt στον κατάλογο αφετηρίας σας.

  2. Ταξινομήστε τα περιεχόμενα του αρχείου contents.txt από τον τρέχοντα κατάλογό σας και προσθέστε το στο τέλος ενός νέου αρχείου που ονομάζεται contents-sorted.txt.

  3. Εμφανίστε τις τελευταίες 10 γραμμές του αρχείου /etc/passwd και ανακατευθύνετέ το σε ένα νέο αρχείο στον κατάλογο Documents του χρήστη σας.

  4. Μετρήστε τον αριθμό των λέξεων στο αρχείο contents.txt και προσθέστε την έξοδο στο τέλος ενός αρχείου field2.txt στον κατάλογο αφετηρίας σας. Θα χρειαστεί να χρησιμοποιήσετε την ανακατεύθυνση εισόδου και εξόδου μαζί.

  5. Εμφανίστε τις πρώτες 5 γραμμές του αρχείου /etc/passwd και ταξινομήστε την έξοδο αντίστροφα αλφαβητικά.

  6. Χρησιμοποιώντας το αρχείο contents.txt που δημιουργήθηκε προηγουμένως, μετρήστε τον αριθμό των χαρακτήρων των τελευταίων 9 γραμμών.

  7. Μετρήστε τον αριθμό των αρχείων που ονομάζονται test στον κατάλογο /usr/share και στους υποκαταλόγους του. Σημείωση: κάθε γραμμή που βγαίνει από την εντολή find αντιπροσωπεύει ένα αρχείο.

Ασκήσεις Εξερεύνησης

  1. Επιλέξτε το δεύτερο πεδίο του αρχείου contents.txt και ανακατευθύνετε την τυπική έξοδο και έξοδο σφάλματος σε ένα άλλο αρχείο που ονομάζεται field1.txt.

  2. Χρησιμοποιώντας τον τελεστή ανακατεύθυνσης εισόδου και την εντολή tr, διαγράψτε τις παύλες (-) από το αρχείο contents.txt.

  3. Ποιο είναι το μεγαλύτερο πλεονέκτημα της ανακατεύθυνσης μόνο σφαλμάτων σε ένα αρχείο;

  4. Αντικαταστήστε όλα τα επαναλαμβανόμενα κενά διαστήματα στο αλφαβητικά ταξινομημένο αρχείο contents.txt με ένα μόνο διάστημα.

  5. Σε μία γραμμή εντολών, καταργήστε τα επαναλαμβανόμενα κενά (όπως έγινε στην προηγούμενη άσκηση), επιλέξτε το ένατο πεδίο και ταξινομήστε το αντίστροφα αλφαβητικά και χωρίς διάκριση πεζών-κεφαλαίων. Πόσα pipes έπρεπε να χρησιμοποιήσετε;

Σύνοψη

Σε αυτό το εργαστήριο μάθατε:

  • Τύπους ανακατεύθυνσης

  • Πώς να χρησιμοποιήσετε τους τελεστές ανακατεύθυνσης

  • Πώς να χρησιμοποιήσετε pipes για να φιλτράρετε την έξοδο εντολών

Εντολές που χρησιμοποιήθηκαν σε αυτό το μάθημα:

cut

Αφαιρεί τμήματα από κάθε γραμμή ενός αρχείου.

cat

Εμφανίζει ή συνενώνει αρχεία.

find

Αναζητά αρχεία σε μια ιεραρχία καταλόγου.

less

Εμφανίζει ένα αρχείο, επιτρέποντας στον χρήστη να κάνει κύλιση κατά μία γραμμή κάθε φορά.

more

Εμφανίζει ένα αρχείο, μια σελίδα κάθε φορά.

head

Εμφανίζει τις πρώτες 10 γραμμές ενός αρχείου.

tail

Εμφανίζει τις τελευταίες 10 γραμμές ενός αρχείου.

sort

Ταξινομεί αρχεία.

wc

Μετρά από προεπιλογή τις γραμμές, τις λέξεις ή τα byte ενός αρχείου.

Απαντήσεις στις Καθοδηγούμενες Ασκήσεις

  1. Παραθέστε τα περιεχόμενα του τρέχοντος καταλόγου σας, συμπεριλαμβανομένης της ιδιοκτησίας και των δικαιωμάτων, και ανακατευθύνετε την έξοδο σε ένα αρχείο που ονομάζεται contents.txt στον κατάλογο αφετηρίας σας.

    $ ls -l > contents.txt
  2. Ταξινομήστε τα περιεχόμενα του αρχείου contents.txt από τον τρέχοντα κατάλογό σας και προσθέστε το στο τέλος ενός νέου αρχείου που ονομάζεται contents-sorted.txt.

    $ sort contents.txt >> contents-sorted.txt
  3. Εμφανίστε τις τελευταίες 10 γραμμές του αρχείου /etc/passwd και ανακατευθύνετέ το σε ένα νέο αρχείο στον κατάλογο Documents του χρήστη σας.

    $ tail /etc/passwd > Documents/newfile
  4. Μετρήστε τον αριθμό των λέξεων στο αρχείο contents.txt και προσθέστε την έξοδο στο τέλος ενός αρχείου field2.txt στον κατάλογο αφετηρίας σας. Θα χρειαστεί να χρησιμοποιήσετε την ανακατεύθυνση εισόδου και εξόδου μαζί.

    $ wc < contents.txt >> field2.txt
  5. Εμφανίστε τις πρώτες 5 γραμμές του αρχείου /etc/passwd και ταξινομήστε την έξοδο αντίστροφα αλφαβητικά.

    $ head -n 5 /etc/passwd | sort -r
  6. Χρησιμοποιώντας το αρχείο contents.txt που δημιουργήθηκε προηγουμένως, μετρήστε τον αριθμό των χαρακτήρων των τελευταίων 9 γραμμών.

    $ tail -n 9 contents.txt | wc -c
    531
  7. Μετρήστε τον αριθμό των αρχείων που ονομάζονται test στον κατάλογο /usr/share και στους υποκαταλόγους του. Σημείωση: κάθε γραμμή που βγαίνει από την εντολή find αντιπροσωπεύει ένα αρχείο.

    $ find /usr/share -name test | wc -l
    125

Απαντήσεις στις Ασκήσεις Εξερεύνησης

  1. Επιλέξτε το δεύτερο πεδίο του αρχείου contents.txt και ανακατευθύνετε την τυπική έξοδο και έξοδο σφάλματος σε ένα άλλο αρχείο που ονομάζεται field1.txt.

    $ cut -f 2 -d " " contents.txt &> field1.txt
  2. Χρησιμοποιώντας τον τελεστή ανακατεύθυνσης εισόδου και την εντολή tr, διαγράψτε τις παύλες (-) από το αρχείο contents.txt.

    $ tr -d "-" < contents.txt
  3. Ποιο είναι το μεγαλύτερο πλεονέκτημα της ανακατεύθυνσης μόνο σφαλμάτων σε ένα αρχείο;

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

  4. Αντικαταστήστε όλα τα επαναλαμβανόμενα κενά διαστήματα στο αλφαβητικά ταξινομημένο αρχείο contents.txt με ένα μόνο διάστημα.

    $ sort contents.txt | tr -s " "
  5. Σε μία γραμμή εντολών, καταργήστε τα επαναλαμβανόμενα κενά (όπως έγινε στην προηγούμενη άσκηση), επιλέξτε το ένατο πεδίο και ταξινομήστε το αντίστροφα αλφαβητικά και χωρίς διάκριση πεζών-κεφαλαίων. Πόσα pipes έπρεπε να χρησιμοποιήσετε;

    $ cat contents.txt | tr -s " " | cut -f 9 -d " " | sort -fr

    Η άσκηση χρησιμοποιεί 3 pipes, έναν για κάθε φίλτρο.

Linux Professional Insitute Inc. All rights reserved. Επισκεφθείτε την ιστοσελίδα των Μαθησιακών Υλικών: https://learning.lpi.org
Αυτό το έργο έχει άδεια βάσει της Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Επόμενο Μάθημα

3.2 Αναζήτηση και Εξαγωγή Δεδομένων από Αρχεία (3.2 Μάθημα 2)

Διάβασε το επόμενο μάθημα

Linux Professional Insitute Inc. All rights reserved. Επισκεφθείτε την ιστοσελίδα των Μαθησιακών Υλικών: https://learning.lpi.org
Αυτό το έργο έχει άδεια βάσει της Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Το LPI είναι ένας μη κερδοσκοπικός οργανισμός.

© 2023 Το Linux Professional Institute (LPI) είναι το παγκόσμιο πρότυπο πιστοποίησης και οργανισμός υποστήριξης σταδιοδρομίας για επαγγελματίες ανοιχτού κώδικα. Με περισσότερους από 200.000 κατόχους πιστοποίησης, είναι ο πρώτος και μεγαλύτερος στον κόσμο ουδέτερος οργανισμός πιστοποιήσεων Linux και ανοιχτού κώδικα. Το LPI έχει πιστοποιημένους επαγγελματίες σε περισσότερες από 180 χώρες, παραδίδει εξετάσεις σε πολλές γλώσσες και έχει εκατοντάδες συνεργάτες εκπαίδευσης.

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

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Επικοινωνήστε Μαζί Μας
  • Πολιτική Απορρήτου και Πολιτική Cookie

Εντοπίσατε ένα λάθος ή θέλετε να βοηθήσετε στη βελτίωση αυτής της σελίδας; Παρακαλούμε ενημερώστε μας.

© 1999–2023 The Linux Professional Institute Inc. All rights reserved.