2.3 Μάθημα 2
Πιστοποιητικό: |
Linux Essentials |
---|---|
Έκδοση: |
1.6 |
Θέμα: |
2 Βρίσκοντας το Δρόμο σας σε ένα Σύστημα Linux |
Σκοπός: |
2.3 Χρήση Καταλόγων και Παράθεση Αρχείων |
Μάθημα: |
2 απο 2 |
Εισαγωγή
Το λειτουργικό σύστημα Unix σχεδιάστηκε αρχικά για κεντρικούς υπολογιστές [mainframe] στα μέσα της δεκαετίας του 1960. Αυτοί οι υπολογιστές ήταν κοινόχρηστοι μεταξύ πολλών χρηστών, οι οποίοι είχαν πρόσβαση στους πόρους του συστήματος μέσω των τερματικών. Αυτές οι θεμελιώδεις ιδέες μεταφέρονται στα συστήματα Linux σήμερα. Ακόμα μιλάμε για τη χρήση “τερματικών” για εισαγωγή εντολών στο shell και κάθε σύστημα Linux είναι οργανωμένο με τέτοιο τρόπο ώστε να είναι εύκολο να δημιουργηθούν πολλοί χρήστες σε ένα μόνο σύστημα.
Κατάλογοι Αφετηρίας
Αυτό είναι ένα παράδειγμα ενός κανονικού συστήματος αρχείων στο Linux:
$ tree -L 1 / / ├── bin ├── boot ├── cdrom ├── dev ├── etc ├── home ├── lib ├── mnt ├── opt ├── proc ├── root ├── run ├── sbin ├── srv ├── sys ├── tmp ├── usr └── var
Οι περισσότεροι από αυτούς τους καταλόγους είναι συνεπείς σε όλα τα συστήματα Linux. Από servers σε υπερυπολογιστές έως μικροσκοπικά ενσωματωμένα συστήματα, ένας έμπειρος χρήστης Linux μπορεί να είναι σίγουρος ότι μπορεί να βρει την εντολή ls
μέσα στο /bin
, μπορεί να αλλάξει την παραμετροποίηση του συστήματος τροποποιώντας αρχεία στο /etc
και να διαβάσει τα logs [καταγραφές] του συστήματος στο /var
. Η τυπική θέση αυτών των αρχείων και καταλόγων ορίζεται από το Πρότυπο Ιεραρχίας Συστήματος Αρχείων [Filesystem Hierarchy Standard] (FHS), το οποίο θα συζητηθεί σε επόμενο μάθημα. Θα μάθετε περισσότερα για τα περιεχόμενα αυτών των καταλόγων καθώς συνεχίζετε να μαθαίνετε για το Linux, αλλά προς το παρόν, να γνωρίζετε ότι:
-
οι αλλαγές που κάνετε στο root σύστημα αρχείων θα επηρεάσουν όλους τους χρήστες και
-
οι αλλαγές στα αρχεία στο root σύστημα αρχείων θα απαιτήσει δικαιώματα διαχειριστή.
Αυτό σημαίνει ότι οι κανονικοί χρήστες θα απαγορεύεται να τροποποιούν αυτά τα αρχεία και μπορεί επίσης να τους απαγορεύεται ακόμη και να διαβάζουν αυτά τα αρχεία. Θα καλύψουμε το θέμα των δικαιωμάτων σε επόμενη ενότητα.
Τώρα, θα επικεντρωθούμε στον κατάλογο /home
, ο οποίος θα πρέπει να είναι κάπως γνωστός σε αυτό το σημείο:
$ tree -L 1 /home /home ├── user ├── michael └── lara
Το σύστημα του παράδειγμά τος μας έχει τρεις κανονικούς χρήστες και καθένας από τους χρήστες μας έχει τη δική του αποκλειστική τοποθεσία, όπου μπορεί να δημιουργήσει και να τροποποιήσει αρχεία και καταλόγους χωρίς να επηρεάσει τον γείτονά του. Για παράδειγμα, στο προηγούμενο μάθημα εργαζόμασταν με την ακόλουθη δομή αρχείων:
$ tree /home/user user └── Documents ├── Mission-Statement └── Reports └── report2018.txt
Στην πραγματικότητα, το πραγματικό σύστημα αρχείων μπορεί να μοιάζει με αυτό:
$ tree /home /home ├── user │ └── Documents │ ├── Mission-Statement │ └── Reports │ └── report2018.txt ├── michael │ ├── Documents │ │ └── presentation-for-clients.odp │ └── Music
…και ούτω καθεξής για την χρήστη lara
.
Στο Linux, το /home
είναι παρόμοιο με μια πολυκατοικία. Πολλοί χρήστες μπορεί να έχουν τον χώρο τους εδώ, χωρισμένο σε ειδικά διαμερίσματα. Οι χρηστικότητες και η συντήρηση του ίδιου του κτιρίου είναι ευθύνη του χρήστη root.
Το Ειδκό Σχετικό Path για τον Κατάλογο Αφετηρία
Όταν ξεκινάτε ένα νέο session τερματικού στο Linux, βλέπετε ένα prompt εντολών παρόμοιο με αυτό:
user@hostname ~ $
Η περισπωμένη (~
) εδώ αντιπροσωπεύει τον κατάλογο αφετηρίας μας. Εάν τρέξετε την εντολή ls
, θα δείτε κάποια γνωστή έξοδο:
$ cd ~ $ ls Documents
Συγκρίνετε το με το παραπάνω σύστημα αρχείων για την κατανόησή σας.
Αναλογιστείτε τώρα τι γνωρίζουμε για το Linux: είναι παρόμοιο με μια πολυκατοικία, με πολλούς χρήστες να κατοικούν στο /home
. Επομένως, η αφετηρία του user
θα είναι διαφορετική από το αφετηρία του χρήστη michael
. Για να το δείξουμε αυτό, θα χρησιμοποιήσουμε την εντολή su
για να αλλάξουμε χρήστη [switch user].
user@hostname ~ $ pwd /home/user user@hostname ~ $ su - michael Password: michael@hostname ~ $ pwd /home/michael
Η σημασία του ~
αλλάζει ανάλογα με το ποιός είναι ο χρήστης. Για τον michael
, το απόλυτο path του ~
είναι /home/michael
. Για την lara
, το απόλυτο path του ~
είναι /home/lara
, και ούτω καθεξής.
Αφετηριακά Paths Αρχείων
Η χρήση του ~
για εντολές είναι πολύ βολική, υπό την προϋπόθεση ότι δεν αλλάζετε χρήστες. Θα εξετάσουμε το ακόλουθο παράδειγμα για τον user
, ο οποίος έχει ξεκινήσει ένα νέο session:
$ ls Documents $ cd Documents $ ls Mission-Statement Reports $ cd Reports $ ls report2018.txt $ cd ~ $ ls Documents
Σημειώστε ότι οι χρήστες θα ξεκινούν πάντα ένα νέο session στον κατάλογο αφετηρίας τους. Σε αυτό το παράδειγμα, ο user
έχει ταξιδέψει στον υποκατάλογο Documents/Reports
και με την εντολή cd ~
έχει επιστρέψει στο σημείο που ξεκίνησε. Μπορείτε να εκτελέσετε την ίδια ενέργεια χρησιμοποιώντας την εντολή cd
χωρίς ορίσματα:
$ cd Documents/Reports $ pwd /home/user/Documents/Reports $ cd $ pwd /home/user
Ένα τελευταίο πράγμα που πρέπει να σημειώσουμε: μπορούμε να καθορίσουμε τους καταλόγους αφετηρίας των άλλω χρηστών καθορίζοντας το όνομα χρήστη μετά την περισπωμένη. Για παράδειγμα:
$ ls ~michael Documents Music
Σημειώστε ότι αυτό θα λειτουργήσει μόνο εάν ο michael
μας έχει δώσει το δικαίωμα να προβάλουμε τα περιεχόμενα του καταλόγου αφετηρίας του.
Ας αναλογιστούμε μια κατάσταση όπου ο michael
θα ήθελε να δει το αρχείο report2018.txt
στον κατάλογο αφετηρίας του user
. Υποθέτοντας ότι ο michael
έχει τα δικαιώματα να το κάνει, μπορεί να χρησιμοποιήσει την εντολή less
.
$ less ~user/Documents/Reports/report2018.txt
Οποιοδήποτε path αρχείου περιέχει τον χαρακτήρα ~
ονομάζεται αφετηριακό [relative-to-home] path.
Κρυφά Aρχεία και Kατάλογοι
Στο προηγούμενο μάθημα εισαγάγαμε την επιλογή -a
για την εντολή ls
. Χρησιμοποιήσαμε ls -a
για να εισαγάγουμε τις δύο ειδικά σχετικά paths: .
και ..
. Η επιλογή -a
θα εμφανίσει όλα τα αρχεία και καταλόγους, συμπεριλαμβανομένων των κρυφών αρχείων και καταλόγων.
$ ls -a ~ . .. .bash_history .bash_logout .bash-profile .bashrc Documents
Τα κρυφά αρχεία και κατάλογοι θα ξεκινούν πάντα με τελεία (.
). Από προεπιλογή, ο αφετηριακός κατάλογος ενός χρήστη θα περιλαμβάνει πολλά κρυφά αρχεία. Αυτά χρησιμοποιούνται συχνά για τον καθορισμό ρυθμίσεων παραμετροποίησης ανα χρήστη και πρέπει να τροποποιούνται μόνο από έναν έμπειρο χρήστη.
Η Επιλογή Μακροσκελούς Παράθεσης
Η εντολή ls
έχει πολλές επιλογές για να αλλάξει τη συμπεριφορά της. Ας δούμε μία από τις πιο κοινές επιλογές:
$ ls -l -rw-r--r-- 1 user staff 3606 Jan 13 2017 report2018.txt
Το -l
δημιουργεί μια μακροσκελή παράθεση. Καθένα απο τα αρχεία και τους καταλόγους θα καταλαμβάνουν απο μία γραμμή, αλλά θα εμφανίζονται πρόσθετες πληροφορίες για κάθε αρχείο και κατάλογο.
-rw-r—r--
-
Τύπος αρχείου και δικαιώματα του αρχείου. Σημειώστε ότι ένα κανονικό αρχείο θα ξεκινάει με παύλα, και ένας κατάλογος θα ξεκινάει με
d
. 1
-
Αριθμός συνδέσμων προς το αρχείο.
user staff
-
Καθορίζει την ιδιοκτησία του αρχείου. Ο
user
είναι ο ιδιοκτήτης του αρχείου και το αρχείο σχετίζεται επίσης με την ομάδαstaff
. 3606
-
Μέγεθος αρχείου σε byte.
Jan 13 2017
-
Χρονική σήμανση της τελευταίας τροποποίησης στο αρχείο.
report2018.txt
-
Όνομα αρχείου.
Θέματα όπως η ιδιοκτησία, τα δικαιώματα και οι σύνδεσμοι θα καλυφθούν σε μελλοντικές
ενότητες. Όπως μπορείτε να δείτε, η εκδοχή της μακροσκελούς παράθεσης της εντολής ls
είναι συχνά
προτιμότερη από την προεπιλογή.
Πρόσθετες Επιλογές ls
Παρακάτω είναι μερικοί από τους τρόπους με τους οποίους χρησιμοποιούμε συχνότερα την εντολή ls
. Όπως μπορείτε να δείτε, ο χρήστης μπορεί να συνδυάσει πολλές επιλογές μαζί για να πάρει το επιθυμητό αποτέλεσμα.
ls -lh
-
Συνδυάζοντας μακροσκελή παράθεση μαζί με ανθρώπινη αναγνωσιμότητα τα μεγέθη των αρχείων θα μας δώσουν χρήσιμα επιθέματα όπως
Μ
για megabytes ήΚ
για kilobytes. ls -d */
-
Η επιλογή
-d
θα εμφανίσει τους καταλόγους αλλά όχι τα περιεχόμενά τους. Ο συνδυασμός αυτού με το*/
θα εμφανίσει μόνο υποκαταλόγους και κανένα αρχείο. ls -lt
-
Συνδυάζει τη μακροσκελή παράθεση με την επιλογή ταξινόμησης κατά χρόνο τροποποίησης. Τα αρχεία με τις πιο πρόσφατες αλλαγές θα βρίσκονται στο επάνω μέρος και τα αρχεία με τις παλαιότερες αλλαγές θα βρίσκονται στο κάτω μέρος. Αλλά αυτή η σειρά μπορεί να αντιστραφεί με:
ls -lrt
-
Συνδυάζει τη μακροσκελή παράθεση με ταξινόμηση κατά χρόνο τροποποίησης, συνδυασμένα με
-r
το οποίο αντιστρέφει την ταξινόμηση. Τώρα τα αρχεία με τις πιο πρόσφατες αλλαγές βρίσκονται στο κάτω μέρος της λίστας. Εκτός από την ταξινόμηση κατά χρόνο τροποποίησης, τα αρχεία μπορούν επίσης να ταξινομηθούν κατά χρόνο πρόσβασης ή κατά χρόνο κατάστασης. ls -lX
-
Συνδυάζει τη μακροσκελή παράθεση με την επιλογή ταξινόμησης κατά επέκταση αρχείου. Αυτό, για παράδειγμα, θα ομαδοποιήσει όλα τα αρχεία που τελειώνουν με
.txt
μαζί, όλα τα αρχεία που τελειώνουν με.jpg
μαζί και ούτω καθεξής. ls -S
-
Το
-S
ταξινομεί κατά μέγεθος αρχείου, με τον ίδιο τρόπο όπως τα-t
και-X
ταξινομούν κατά χρόνο και επέκταση αντίστοιχα. Τα μεγαλύτερα αρχεία θα έρθουν πρώτα και τα μικρότερα τελευταία. Σημειώστε ότι τα περιεχόμενα των υποκαταλόγων δεν περιλαμβάνονται στην ταξινόμηση. ls -R
-
Η επιλογή
-R
θα τροποποιήσει την εντολήls
για να εμφανίσει μια αναδρομική λίστα. Τι σημαίνει αυτό;
Αναδρομή στο Bash
Η αναδρομή αναφέρεται σε μια κατάσταση όπου “κάτι ορίζεται με όρους του εαυτού του”. Η αναδρομή είναι μια πολύ σημαντική έννοια στην επιστήμη των υπολογιστών, αλλά εδώ η σημασία της είναι πολύ πιο απλή. Ας εξετάσουμε το παράδειγμά μας από πριν:
$ ls ~ Documents
Γνωρίζουμε από πριν ότι ο χρήστης user
έχει έναν κατάλογο αφετηρίας και σε αυτόν τον κατάλογο υπάρχει ένας υποκατάλογος. Το ls
μέχρι τώρα μας έδειχνε μόνο τα αρχεία και τους υποκαταλόγους μιας τοποθεσίας, αλλά δεν μπορούσε να μας πει τα περιεχόμενα αυτών των υποκαταλόγων. Σε αυτά τα μαθήματα, χρησιμοποιούσαμε την εντολή tree
όταν θέλαμε να εμφανίσουμε τα περιεχόμενα πολλών καταλόγων. Δυστυχώς, το tree
δεν είναι ένα από τα βασικά βοηθητικά προγράμματα του Linux και επομένως δεν είναι πάντα διαθέσιμο. Συγκρίνετε την έξοδο του tree
με την έξοδο του ls -R
στα ακόλουθα παραδείγματα:
$ tree /home/user user └── Documents ├── Mission-Statement └── Reports └── report2018.txt $ ls -R ~ /home/user/: Documents /home/user/Documents: Mission-Statement Reports /home/user/Documents/Reports: report2018.txt
Όπως μπορείτε να δείτε, με την αναδρομική επιλογή, έχουμε μια πολύ μεγαλύτερη λίστα αρχείων. Στην πραγματικότητα, είναι σαν να τρέξαμε την εντολή ls
στον αφετηριακό κατάλογο του χρήστη user
και συναντήσαμε έναν υποκατάλογο. Στη συνέχεια, μπήκαμε σε αυτόν τον υποκατάλογο και εκτελέσαμε ξανά την εντολή ls
. Συναντήσαμε το αρχείο Mission-Statement
και έναν άλλο υποκατάλογο που ονομάζεται Reports
. Και πάλι, μπήκαμε στον υποκατάλογο και τρέξαμε ξανά την εντολή ls
. Ουσιαστικά, η εκτέλεση του ls -R
είναι σαν να λέτε στον Bash: “Εκτέλεσε ls
εδώ και επαναλάβετε την εντολή σε κάθε υποκατάλογο που βρίσκεις.”
Η αναδρομή είναι ιδιαίτερα σημαντική σε εντολές τροποποίησης αρχείων, όπως η αντιγραφή ή η αφαίρεση καταλόγων. Για παράδειγμα, εάν θέλετε να αντιγράψετε τον υποκατάλογο Documents
, θα πρέπει να καθορίσετε μια αναδρομική αντιγραφή για να επεκτείνετε αυτήν την εντολή σε όλους τους υποκαταλόγους.
Καθοδηγούμενες Ασκήσεις
-
Χρησιμοποιήστε την ακόλουθη δομή αρχείων για να απαντήσετε στις ακόλουθες τρεις ερωτήσεις:
/ ├── etc/ │ ├── network/ │ │ └── interfaces/ │ ├── systemd/ │ │ ├── resolved.conf │ │ ├── system/ │ │ ├── system.conf │ │ ├── user/ │ │ └── user.conf │ └── udev/ │ ├── rules.d │ └── udev.conf └── home/ ├── lost+found/ ├── user/ │ └── Documents/ └── michael/ └── Music/
-
Ποια εντολή θα πλοηγηθεί στον κατάλογο
network
ανεξάρτητα από την τρέχουσα τοποθεσία σας; -
Ποια εντολή μπορεί να εισαγάγει ο
user
για να πλοηγηθεί στον κατάλογοDocuments
από το/etc/udev
; Χρησιμοποιήστε το συντομότερο δυνατό path. -
Ποια εντολή μπορεί να εισαγάγει ο
user
για να πλοηγηθεί στον κατάλογοMusic
τουmichael
; Χρησιμοποιήστε το συντομότερο δυνατό path.
-
-
Εξετάστε την ακόλουθη έξοδο του
ls -lh
για να απαντήσετε στις δύο επόμενες ερωτήσεις. Σημειώστε ότι οι κατάλογοι υποδεικνύονται μεd
στην αρχή της γραμμής.drwxrwxrwx 5 eric eric 4.0K Apr 26 2011 China/ -rwxrwxrwx 1 eric eric 1.5M Jul 18 2011 img_0066.jpg -rwxrwxrwx 1 eric eric 1.5M Jul 18 2011 img_0067.jpg -rwxrwxrwx 1 eric eric 1.6M Jul 18 2011 img_0074.jpg -rwxrwxrwx 1 eric eric 1.8M Jul 18 2011 img_0075.jpg -rwxrwxrwx 1 eric eric 46K Jul 18 2011 scary.jpg -rwxrwxrwx 1 eric eric 469K Jan 29 2018 Screenshot from 2017-08-13 21-22-24.png -rwxrwxrwx 1 eric eric 498K Jan 29 2018 Screenshot from 2017-08-14 21-18-07.png -rwxrwxrwx 1 eric eric 211K Jan 29 2018 Screenshot from 2018-01-06 23-29-30.png -rwxrwxrwx 1 eric eric 150K Jul 18 2011 tobermory.jpg drwxrwxrwx 6 eric eric 4.0K Apr 26 2011 Tokyo/ -rwxrwxrwx 1 eric eric 1.4M Jul 18 2011 Toronto 081.jpg -rwxrwxrwx 1 eric eric 1.4M Jul 18 2011 Toronto 085.jpg -rwxrwxrwx 1 eric eric 944K Jul 18 2011 Toronto 152.jpg -rwxrwxrwx 1 eric eric 728K Jul 18 2011 Toronto 173.jpg drwxrwxrwx 2 eric eric 4.0K Jun 5 2016 Wallpapers/
-
Όταν εκτελέσετε την εντολή
ls -lrS
, ποιο αρχείο θα είναι στην αρχή; -
Περιγράψτε τι περιμένετε να δείτε ως έξοδο για το
ls -ad */
.
-
Ασκήσεις Εξερεύνησης
-
Εκτελέστε την εντολή
ls -lh
σε έναν κατάλογο που περιέχει υποκαταλόγους. Σημειώστε το αναγραφόμενο μέγεθος αυτών των καταλόγων. Αυτά τα μεγέθη αρχείων σας φαίνονται σωστά; Αντιπροσωπεύουν με ακρίβεια τα περιεχόμενα όλων των αρχείων μέσα σε αυτόν τον κατάλογο; -
Εδώ είναι μια νέα εντολή που πρέπει να δοκιμάσετε:
du -h
. Εκτελέστε αυτήν την εντολή και περιγράψτε την έξοδο που σας δίνει. -
Σε πολλά συστήματα Linux, μπορείτε να πληκτρολογήσετε
ll
και να λάβετε την ίδια έξοδο όπως θα κάνατε αν πληκτρολογούσατεls -l
. Σημειώστε ωστόσο ότι τοll
δεν είναι μια εντολή. Για παράδειγμα, τοman ll
θα σας δώσει το μήνυμα ότι δεν υπάρχει καταχώρηση εγχειριδίου για αυτό. Αυτό είναι ένα παράδειγμα ψευδώνυμου [alias]. Γιατί μπορεί τα ψευδώνυμα να είναι χρήσιμα σε έναν χρήστη;
Σύνοψη
Σε αυτό το εργαστήριο μάθατε:
-
ότι κάθε χρήστης Linux θα έχει έναν κατάλογο αφετηρίας,
-
ο αφετριακός κατάλογος του τρέχοντος χρήστη μπορεί να προσεγγιστεί χρησιμοποιώντας το
~
, -
οποιοδήποτε path αρχείου χρησιμοποιεί τον χαρακτήρα
~
ονομάζεται αφετηριακό path.
Μάθατε επίσης για μερικούς από τους πιο συνηθισμένους τρόπους, παραμετροποίησης της εντολής ls
.
-a
(όλα)-
εκτυπώνει όλα τα αρχεία/καταλόγους, συμπεριλαμβανομένων των κρυφών
-d
(κατάλογοι)-
λίστα καταλόγων, όχι των περιεχόμενών τους
-h
(ανθρώπινη αναγνωσιμότητα)-
εκτυπώνει μεγέθη αρχείων σε αναγνώσιμη μορφή από τον άνθρωπο
-l
(μακροσκελής λίστα)-
παρέχει επιπλέον λεπτομέρειες, ένα αρχείο/κατάλογος ανά γραμμή
-r
(αντίστροφος)-
αντιστρέφει τη διάταξη μιας ταξινόμησης
-R
(αναδρομικός)-
παραθέτει κάθε αρχείο, συμπεριλαμβανομένων των αρχείων σε κάθε υποκατάλογο
-S
(μέγεθος)-
ταξινομεί κατά μέγεθος αρχείου
-t
(χρόνος)-
ταξινομεί κατά χρόνο τροποποίησης
-X
(επέκταση)-
ταξινομεί κατά επέκταση αρχείου
Απαντήσεις στις Καθοδηγούμενες Ασκήσεις
-
Χρησιμοποιήστε την ακόλουθη δομή αρχείων για να απαντήσετε στις ακόλουθες τρεις ερωτήσεις:
/ ├── etc/ │ ├── network/ │ │ └── interfaces/ │ ├── systemd/ │ │ ├── resolved.conf │ │ ├── system/ │ │ ├── system.conf │ │ ├── user/ │ │ └── user.conf │ └── udev/ │ ├── rules.d │ └── udev.conf └── home/ ├── lost+found/ ├── user/ │ └── Documents/ └── michael/ └── Music/
-
Ποια εντολή θα πλοηγηθεί στον κατάλογο
network
ανεξάρτητα από την τρέχουσα τοποθεσία σας;cd /etc/network
-
Ποια εντολή μπορεί να εισαγάγει ο
user
για να πλοηγηθεί στον κατάλογοDocuments
από το/etc/udev
; Χρησιμοποιήστε το συντομότερο δυνατό path.cd ~/Documents
-
Ποια εντολή μπορεί να εισαγάγει ο
user
για να πλοηγηθεί στον κατάλογοMusic
τουmichael
; Χρησιμοποιήστε το συντομότερο δυνατό path.cd ~michael/Music
-
-
Εξετάστε την ακόλουθη έξοδο του
ls -lh
για να απαντήσετε στις δύο επόμενες ερωτήσεις. Σημειώστε ότι οι κατάλογοι υποδεικνύονται μεd
στην αρχή της γραμμής.drwxrwxrwx 5 eric eric 4.0K Apr 26 2011 China/ -rwxrwxrwx 1 eric eric 1.5M Jul 18 2011 img_0066.jpg -rwxrwxrwx 1 eric eric 1.5M Jul 18 2011 img_0067.jpg -rwxrwxrwx 1 eric eric 1.6M Jul 18 2011 img_0074.jpg -rwxrwxrwx 1 eric eric 1.8M Jul 18 2011 img_0075.jpg -rwxrwxrwx 1 eric eric 46K Jul 18 2011 scary.jpg -rwxrwxrwx 1 eric eric 469K Jan 29 2018 Screenshot from 2017-08-13 21-22-24.png -rwxrwxrwx 1 eric eric 498K Jan 29 2018 Screenshot from 2017-08-14 21-18-07.png -rwxrwxrwx 1 eric eric 211K Jan 29 2018 Screenshot from 2018-01-06 23-29-30.png -rwxrwxrwx 1 eric eric 150K Jul 18 2011 tobermory.jpg drwxrwxrwx 6 eric eric 4.0K Apr 26 2011 Tokyo/ -rwxrwxrwx 1 eric eric 1.4M Jul 18 2011 Toronto 081.jpg -rwxrwxrwx 1 eric eric 1.4M Jul 18 2011 Toronto 085.jpg -rwxrwxrwx 1 eric eric 944K Jul 18 2011 Toronto 152.jpg -rwxrwxrwx 1 eric eric 728K Jul 18 2011 Toronto 173.jpg drwxrwxrwx 2 eric eric 4.0K Jun 5 2016 Wallpapers/
-
Όταν εκτελέσετε την εντολή
ls -lrS
, ποιο αρχείο θα είναι στην αρχή;Οι τρεις φάκελοι είναι όλοι 4,0K, που είναι το μικρότερο μέγεθος αρχείου. Στη συνέχεια, το
ls
θα ταξινομήσει τους καταλόγους αλφαβητικά από προεπιλογή. Η σωστή απάντηση είναι το αρχείοscary.jpg
. -
Περιγράψτε τι περιμένετε να δείτε ως έξοδο για το
ls -ad */
.Αυτή η εντολή θα εμφανίσει όλους τους υποκαταλόγους, συμπεριλαμβανομένων των κρυφών υποκαταλόγων.
-
Απαντήσεις στις Ασκήσεις Εξερεύνησης
-
Εκτελέστε την εντολή
ls -lh
σε έναν κατάλογο που περιέχει υποκαταλόγους. Σημειώστε το αναγραφόμενο μέγεθος αυτών των καταλόγων. Αυτά τα μεγέθη αρχείων σας φαίνονται σωστά; Αντιπροσωπεύουν με ακρίβεια τα περιεχόμενα όλων των αρχείων μέσα σε αυτόν τον κατάλογο;Οχι δεν το κάνουν. Κάθε κατάλογος έχει ένα καταχωρημένο μέγεθος αρχείου 4096 byte. Αυτό συμβαίνει επειδή οι κατάλογοι εδώ είναι μια αφηρημένη έννοια: δεν υπάρχουν ως δομή δέντρου στο δίσκο. Όταν βλέπετε έναν κατάλογο στη λίστα, βλέπετε έναν σύνδεσμο προς μια λίστα αρχείων. Το μέγεθος αυτών των συνδέσμων είναι 4096 byte.
-
Εδώ είναι μια νέα εντολή που πρέπει να δοκιμάσετε:
du -h
. Εκτελέστε αυτήν την εντολή και περιγράψτε την έξοδο που σας δίνει.Η εντολή
du
θα δημιουργήσει μια λίστα με όλα τα αρχεία και τους καταλόγους και θα υποδείξει το μέγεθος του καθενός. Για παράδειγμα, τοdu -s
θα εμφανίσει το μέγεθος αρχείου όλων των αρχείων, καταλόγων και υποκαταλόγων για μια συγκεκριμένη τοποθεσία. -
Σε πολλά συστήματα Linux, μπορείτε να πληκτρολογήσετε
ll
και να λάβετε την ίδια έξοδο όπως θα κάνατε αν πληκτρολογούσατεls -l
. Σημειώστε ωστόσο ότι τοll
δεν είναι μια εντολή. Για παράδειγμα, τοman ll
θα σας δώσει το μήνυμα ότι δεν υπάρχει καταχώρηση εγχειριδίου για αυτό. Αυτό είναι ένα παράδειγμα ψευδώνυμου [alias]. Γιατί μπορεί τα ψευδώνυμα να είναι χρήσιμα σε έναν χρήστη;Το
ll
είναι ένα ψευδώνυμο τουls -l
. Στο Bash, μπορούμε να χρησιμοποιήσουμε ψευδώνυμα για να απλοποιήσουμε εντολές που χρησιμοποιούνται συνήθως. Τοll
συχνά ορίζεται για εσάς στο Linux, αλλά μπορείτε επίσης να δημιουργήσετε το δικό σας.