Week 1
Πίνακας περιεχομένων:
- Πώς να χρησιμοποιήσετε την εντολή Cut
- Πώς να κοπεί από το πεδίο
- Πώς να κόψετε με βάση έναν απομεμακρυστή
- Πώς να συμπληρώσετε την επιλογή
- Πώς να ορίσετε έναν αποχωριστή εξόδου
- Πώς να κόψετε Bytes και Χαρακτήρες
- Παραδείγματα κοπής
- Αποκτήστε μια λίστα με όλους τους χρήστες
- Δείτε τις 10 πιο συχνά χρησιμοποιούμενες εντολές
- συμπέρασμα
Υπάρχουν πολλά βοηθητικά προγράμματα διαθέσιμα σε συστήματα Linux και Unix που σας επιτρέπουν να επεξεργάζεστε και να φιλτράρετε αρχεία κειμένου. Το Cut είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών που σας επιτρέπει να κόβετε τμήματα γραμμών από συγκεκριμένα αρχεία ή δεδομένα με σωληνώσεις και να εκτυπώνετε το αποτέλεσμα στην τυπική έξοδο. Μπορεί να χρησιμοποιηθεί για να κόψει τμήματα μιας γραμμής με οριοθέτη, θέση byte και χαρακτήρα.
Σε αυτό το σεμινάριο, θα σας δείξουμε πώς να χρησιμοποιήσετε την εντολή περικοπής Linux μέσω πρακτικών παραδειγμάτων και λεπτομερών εξηγήσεων των πιο κοινών επιλογών κοπής.
Πώς να χρησιμοποιήσετε την εντολή Cut
Η σύνταξη της εντολής περικοπής έχει ως εξής:
cut OPTION……
Όταν χρησιμοποιείτε την εντολή cut πρέπει να χρησιμοποιήσετε μία και μόνο μία από τις ακόλουθες επιλογές:
-
-f(--fields=LIST) - Επιλέξτε με τον καθορισμό ενός πεδίου, ενός συνόλου πεδίων ή μιας σειράς πεδίων. Αυτή είναι η πιο συχνά χρησιμοποιούμενη επιλογή.-b(--bytes=LIST) - Επιλέξτε με καθορισμό ενός byte, ενός συνόλου bytes ή μιας σειράς byte.-c(--characters=LIST) - Επιλέξτε με τον καθορισμό ενός χαρακτήρα, ενός συνόλου χαρακτήρων ή ενός εύρους χαρακτήρων.
Άλλες επιλογές είναι:
-
-d(--delimiter) - Καθορίστε έναν--delimiterπου θα χρησιμοποιηθεί αντί του προεπιλεγμένου οριοθέτη "TAB". - συμπλήρωση - συμπληρώνουν την επιλογή. Όταν χρησιμοποιείτε αυτήν την επιλογή, η περικοπή θα εμφανίζει όλα τα bytes, τους χαρακτήρες ή τα πεδία εκτός από την επιλεγμένη.-s(---only-delimited) - Από προεπιλογή, η περικοπή θα εκτυπώσει οποιαδήποτε γραμμή που δεν περιέχει κανένα χαρακτήρα οριοθέτησης. Όταν χρησιμοποιείτε αυτήν την επιλογή, η περικοπή δεν θα εκτυπώσει γραμμές που δεν περιέχουν οριοθέτες.--output-delimiter- Η προεπιλογή είναι να χρησιμοποιήσετε τον οριοθέτη εισόδου ως οριοθέτη εξόδου. Αυτή η επιλογή σάς επιτρέπει να καθορίσετε μια διαφορετική συμβολοσειρά οριοθέτησης εξόδου.
Η εντολή περικοπή μπορεί να αποδεχθεί τα μηδέν ή περισσότερα ονόματα FILE εισόδου. Εάν δεν έχει οριστεί κανένα ΑΡΧΕΙΟ ή όταν το ΑΡΧΕΙΟ είναι
-
, η περικοπή θα διαβάσει την τυπική είσοδο.
Το όρισμα LIST που μεταβιβάζεται στις επιλογές
-f
,
-b
και
-c
μπορεί να είναι ένας ακέραιος, πολλαπλοί ακέραιοι χωρισμένοι με κόμματα, ένα εύρος ακέραιων ή πολλαπλές ακέραιες σειρές διαχωρισμένες με κόμματα. Κάθε περιοχή μπορεί να είναι ένα από τα παρακάτω:
-
Nτο πεδίο N, byte ή χαρακτήρα, ξεκινώντας από 1.N-από το πεδίο Nth, byte ή character, μέχρι το τέλος της γραμμής.NMαπό το πεδίο Nth στο πεδίο Mth, byte ή χαρακτήρα.-Mαπό το πρώτο στο πεδίο Mth, byte ή χαρακτήρα.
Πώς να κοπεί από το πεδίο
Η εντολή Cut χρησιμοποιείται κυρίως για την εμφάνιση επιλεγμένων πεδίων από κάθε γραμμή αρχείων ή την τυπική είσοδο. Όταν δεν έχει καθοριστεί ο προεπιλεγμένος οριοθέτης είναι "TAB".
Στα παρακάτω παραδείγματα, θα χρησιμοποιήσουμε το ακόλουθο αρχείο. Όλα τα πεδία χωρίζονται από καρτέλες.
test.txt
245:789 4567 M:4540 Admin 01:10:1980 535:763 4987 M:3476 Sales 11:04:1978
Για να εμφανίσετε το 1ο και το 3ο πεδίο θα χρησιμοποιήσετε:
cut test.txt -f 1, 3
245:789 M:4540 535:763 M:3476
Ή αν θέλετε να εμφανίσετε από το 1ο έως το 4ο πεδίο:
cut test.txt -f -4
245:789 4567 M:4540 Admin 535:763 4987 M:3476 Sales
Πώς να κόψετε με βάση έναν απομεμακρυστή
Για να μειώσετε με βάση έναν αποδιαμορφωτή, χρησιμοποιήστε την επιλογή
-d
που ακολουθείται από τον οριοθέτη που θέλετε να χρησιμοποιήσετε.
Για παράδειγμα, για να εμφανίσετε το 1ο και 3ο πεδίο χρησιμοποιώντας το ":" ως οριοθέτη, πληκτρολογήστε:
cut test.txt -d ':' -f 1, 3
245:4540 Admin 01 535:3476 Sales 11
Μπορείτε να χρησιμοποιήσετε οποιοδήποτε μοναδικό χαρακτήρα ως οριοθέτη. Στο παρακάτω παράδειγμα χρησιμοποιούμε τον χαρακτήρα ως διαχωριστικό και εκτυπώνουμε το 2ο πεδίο:
echo "Lorem ipsum dolor sit amet" | cut -d ' ' -f 2
Πώς να συμπληρώσετε την επιλογή
Για να συμπληρώσετε τη λίστα πεδίων επιλογής, χρησιμοποιήστε την επιλογή -
--complement
. Αυτό θα εκτυπώσει μόνο τα πεδία που δεν έχουν επιλεγεί με την επιλογή
-f
.
Η ακόλουθη εντολή θα εκτυπώσει όλα τα πεδία εκτός από την 1η και την 3η:
cut test.txt -f 1, 3 --complement
4567 Admin 01:10:1980 4987 Sales 11:04:1978
Πώς να ορίσετε έναν αποχωριστή εξόδου
Για να ορίσετε τον οριοθέτη εξόδου, χρησιμοποιήστε την επιλογή
--output-delimiter
. Για παράδειγμα, για να ορίσετε τον απομεμακρυστή εξόδου σε
_
θα χρησιμοποιούσατε:
cut test.txt -f 1, 3 --output-delimiter='_'
Πώς να κόψετε Bytes και Χαρακτήρες
Πριν προχωρήσουμε περαιτέρω, ας κάνουμε μια διάκριση μεταξύ των bytes και των χαρακτήρων.
Ένα byte είναι 8 bits και μπορεί να αντιπροσωπεύει 256 διαφορετικές τιμές. Όταν καθιερώθηκε το πρότυπο ASCII, έλαβε υπόψη όλα τα γράμματα, τους αριθμούς και τα σύμβολα που απαιτούνται για την εργασία με τα αγγλικά. Ο πίνακας χαρακτήρων ASCII έχει 128 χαρακτήρες και κάθε χαρακτήρας αντιπροσωπεύεται από ένα byte. Όταν οι υπολογιστές άρχισαν να γίνονται παγκοσμίως δημοφιλείς, οι εταιρείες τεχνολογίας άρχισαν να εισάγουν νέες κωδικοποιήσεις χαρακτήρων για διαφορετικές γλώσσες και για γλώσσες που έχουν περισσότερους από 256 χαρακτήρες, δεν ήταν δυνατή η απλή χαρτογράφηση 1 προς 1. Αυτό οδηγεί σε διαφορετικά προβλήματα όπως η ανταλλαγή εγγράφων ή η περιήγηση σε ιστοσελίδες και ένα νέο πρότυπο Unicode που μπορεί να χειριστεί τα περισσότερα από τα συστήματα γραφής παγκοσμίως ήταν απαραίτητο. Το UTF-8 δημιουργήθηκε για την επίλυση αυτών των προβλημάτων. Στο UTF-8, δεν εμφανίζονται όλοι οι χαρακτήρες με 1 byte. Οι χαρακτήρες μπορούν να εκπροσωπούνται με 1 byte έως 4 byte.
Στα παραδείγματα που ακολουθούν, χρησιμοποιούμε το χαρακτήρα
ü
που παίρνει 2 byte.
Χρησιμοποιήστε την επιλογή
-b
(
--bytes
) για να αφαιρέσετε ένα τμήμα μιας γραμμής καθορίζοντας μια θέση byte.
Επιλέξτε το 5ο byte:
echo 'drüberspringen' | cut -b 5
b
Επιλέξτε το 5ο, 9ο και 13ο bytes:
echo 'drüberspringen' | cut -b 5, 9, 13
bpg
Επιλέξτε το εύρος από το 1ο έως το 5ο byte:
echo 'drüberspringen' | cut -b 1-5
drüb
Κατά τη στιγμή της σύνταξης αυτού του άρθρου, η έκδοση της περικοπής που περιλαμβάνεται στο GNU coreutils δεν έχει την επιλογή να κοπεί με χαρακτήρες. Όταν χρησιμοποιείτε την περικοπή επιλογής
-c
συμπεριφέρεται όπως και όταν χρησιμοποιείτε την επιλογή
-b
.
Παραδείγματα κοπής
Η εντολή κοπής χρησιμοποιείται συνήθως σε συνδυασμό με άλλες εντολές μέσω σωληνώσεων. Ακολουθούν μερικά παραδείγματα.
Αποκτήστε μια λίστα με όλους τους χρήστες
Η έξοδος της εντολής
getent passwd
διαβιβάζεται σε
cut
οποία εκτυπώνει το πρώτο αρχείο με χρήση
:
ως οριοθέτη.
getent passwd | cut -d ':' -f1
Δείτε τις 10 πιο συχνά χρησιμοποιούμενες εντολές
Στο ακόλουθο παράδειγμα το κομμάτι χρησιμοποιείται για την απογύμνωση των πρώτων 8 byte από κάθε γραμμή της εξόδου της εντολής
history
.
history | cut -c8- | sort | uniq -c | sort -rn | head
συμπέρασμα
Μέχρι τώρα θα πρέπει να έχετε καλή κατανόηση του τρόπου χρήσης της εντολής περικοπής Linux. Αν και πολύ χρήσιμη, η εντολή περικοπής έχει κάποιους περιορισμούς. Δεν υποστηρίζει τον προσδιορισμό περισσότερων από έναν χαρακτήρες ως οριοθέτη και δεν υποστηρίζει πολλά δεκαδικά.
cut terminal. Στο τρέχον συνέδριο ασφάλειας RSA σήμερα, ο Graham Cluley της Sophos έδειξε παραδείγματα τόσο κακόβουλων όσο και prankster επιθέσεων στα κοινωνικά δίκτυα, που περιγράφηκε παραπάνω, και τον πρόσφατο σκουλήκι "Mikeyy". Πολλά από αυτά τα παραδείγματα χρησιμοποίησαν το TinyURL ή άλλη υπηρεσία συντόμευσης-συντόμευσης για να κρύψουν έναν κακόβουλο σύνδεσμο σε μια δημοσίευση ή ένα μήνυμα προφίλ. Οι χρήστες του Twitter, ιδίως, κάνουν συχνά νόμιμη χρήση της υπηρεσίας για να εξοικονομήσουν χώρ
Μία επιλογή για το TinyURL είναι να κόψετε και να επικολλήσετε τον σύνδεσμο σε μια νέα καρτέλα προγράμματος περιήγησης και να προσθέσετε την προεπισκόπηση στον σύνδεσμο, όπως περιγράφεται εδώ. Αλλά ο Cluley είπε ότι χρησιμοποιεί το addon LongURL όταν κάνει περιήγηση με τον Firefox και αφού το δοκιμάσει ο ίδιος, καταλαβαίνω γιατί
Echo εντολή στο linux με παραδείγματα
Η εντολή echo είναι μία από τις πιο βασικές και συχνά χρησιμοποιούμενες εντολές στο Linux. Τα επιχειρήματα που διαβιβάζονται στην ηχώ εκτυπώνονται στην τυπική έξοδο.
Curl εντολή στο linux με παραδείγματα
Το Curl είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών για τη μεταφορά δεδομένων από ή σε ένα διακομιστή που έχει σχεδιαστεί για να λειτουργεί χωρίς αλληλεπίδραση χρηστών. Σε αυτό το σεμινάριο, θα σας δείξουμε πώς να χρησιμοποιήσετε το εργαλείο μπούκλα μέσω πρακτικών παραδειγμάτων και λεπτομερείς εξηγήσεις των πιο κοινών επιλογών μπούκλα.







