Κατανόηση των διαφορετικών ταξινομήσεων των εντολών Shell και της χρήσης τους στο Linux
Όταν πρόκειται να αποκτήσετε τον απόλυτο έλεγχο του συστήματος Linux σας, τότε τίποτα δεν πλησιάζει τη διεπαφή γραμμής εντολών (CLI). Για να γίνει κάποιος δυναμικός χρήστης Linux, πρέπει να κατανοήσει τους διαφορετικούς τύπους εντολών φλοιού και τους κατάλληλους τρόπους χρήσης τους από το τερματικό.
Στο Linux, υπάρχουν διάφοροι τύποι εντολών και για έναν νέο χρήστη Linux, η γνώση της σημασίας των διαφορετικών εντολών επιτρέπει την αποτελεσματική και ακριβή χρήση. Επομένως, σε αυτό το άρθρο, θα περιηγηθούμε στις διάφορες ταξινομήσεις των εντολών φλοιού στο Linux.
Ένα σημαντικό πράγμα που πρέπει να σημειωθεί είναι ότι η διεπαφή της γραμμής εντολών είναι διαφορετική από το κέλυφος, παρέχει μόνο ένα μέσο για να έχετε πρόσβαση στο κέλυφος. Το κέλυφος, το οποίο είναι επίσης προγραμματιζόμενο, καθιστά δυνατή την επικοινωνία με τον πυρήνα χρησιμοποιώντας εντολές.
Οι διαφορετικές ταξινομήσεις εντολών Linux εμπίπτουν στις ακόλουθες ταξινομήσεις:
1. Εκτελέσιμα προγράμματα (εντολές συστήματος αρχείων)
Όταν εκτελείτε μια εντολή, το Linux πραγματοποιεί αναζήτηση στους καταλόγους που είναι αποθηκευμένοι στην περιβαλλοντική μεταβλητή PATH από αριστερά προς τα δεξιά για το εκτελέσιμο αρχείο της συγκεκριμένης εντολής.
Μπορείτε να δείτε τους καταλόγους στο PATH
ως εξής:
$ echo $PATH /home/aaronkilik/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Στην παραπάνω σειρά, ο κατάλογος /home/aaronkilik/bin
θα αναζητηθεί πρώτα και θα ακολουθηθεί από /usr/local/sbin
και ούτω καθεξής, η σειρά είναι σημαντική στην αναζήτηση επεξεργάζομαι, διαδικασία.
Παραδείγματα εντολών συστήματος αρχείων στον κατάλογο /usr/bin
:
$ ll /bin/
Δείγμα εξόδου
total 16284 drwxr-xr-x 2 root root 4096 Jul 31 16:30 ./ drwxr-xr-x 23 root root 4096 Jul 31 16:29 ../ -rwxr-xr-x 1 root root 6456 Apr 14 18:53 archdetect* -rwxr-xr-x 1 root root 1037440 May 17 16:15 bash* -rwxr-xr-x 1 root root 520992 Jan 20 2016 btrfs* -rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfs-calc-size* lrwxrwxrwx 1 root root 5 Jul 31 16:19 btrfsck -> btrfs* -rwxr-xr-x 1 root root 278376 Jan 20 2016 btrfs-convert* -rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfs-debug-tree* -rwxr-xr-x 1 root root 245368 Jan 20 2016 btrfs-find-root* -rwxr-xr-x 1 root root 270136 Jan 20 2016 btrfs-image* -rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfs-map-logical* -rwxr-xr-x 1 root root 245368 Jan 20 2016 btrfs-select-super* -rwxr-xr-x 1 root root 253816 Jan 20 2016 btrfs-show-super* -rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfstune* -rwxr-xr-x 1 root root 245368 Jan 20 2016 btrfs-zero-log* -rwxr-xr-x 1 root root 31288 May 20 2015 bunzip2* -rwxr-xr-x 1 root root 1964536 Aug 19 2015 busybox* -rwxr-xr-x 1 root root 31288 May 20 2015 bzcat* lrwxrwxrwx 1 root root 6 Jul 31 16:19 bzcmp -> bzdiff* -rwxr-xr-x 1 root root 2140 May 20 2015 bzdiff* lrwxrwxrwx 1 root root 6 Jul 31 16:19 bzegrep -> bzgrep* -rwxr-xr-x 1 root root 4877 May 20 2015 bzexe* lrwxrwxrwx 1 root root 6 Jul 31 16:19 bzfgrep -> bzgrep* -rwxr-xr-x 1 root root 3642 May 20 2015 bzgrep*
2. Ψευδώνυμα Linux
Αυτές είναι εντολές που ορίζονται από το χρήστη, δημιουργούνται χρησιμοποιώντας την ενσωματωμένη εντολή ψευδώνυμο και περιέχουν άλλες εντολές φλοιού με ορισμένες επιλογές και ορίσματα. Η ιδέα είναι να χρησιμοποιείτε βασικά νέα και σύντομα ονόματα για μεγάλες εντολές.
Η σύνταξη για τη δημιουργία ενός ψευδώνυμου είναι η εξής:
$ alias newcommand='command -options'
Για να παραθέσετε όλα τα ψευδώνυμο στο σύστημά σας, εκδώστε την παρακάτω εντολή:
$ alias -p alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l='ls -CF' alias la='ls -A' alias ll='ls -alF' alias ls='ls --color=auto'
Για να δημιουργήσετε ένα νέο ψευδώνυμο στο Linux, διαβάστε μερικά παρακάτω παραδείγματα.
$ alias update='sudo apt update' $ alias upgrade='sudo apt dist-upgrade' $ alias -p | grep 'up'
Ωστόσο, τα ψευδώνυμα που δημιουργήσαμε παραπάνω λειτουργούν μόνο προσωρινά, όταν το σύστημα επανεκκινηθεί, δεν θα λειτουργήσουν μετά την επόμενη εκκίνηση. Μπορείτε να ορίσετε μόνιμα ψευδώνυμα στο αρχείο σας .bashrc
όπως φαίνεται παρακάτω.
Αφού τα προσθέσετε, εκτελέστε την παρακάτω εντολή για ενεργή.
$ source ~/.bashrc
3. Linux Shell Reserved Words
Στον προγραμματισμό φλοιού, λέξεις όπως αν, τότε, fi, για, ενώ >, υπόθεση, esac, άλλο, έως και πολλές άλλες είναι δεσμευμένες λέξεις με κέλυφος. Όπως υπονοεί η περιγραφή, έχουν εξειδικευμένη σημασία στο κέλυφος.
Μπορείτε να απαριθμήσετε όλες τις λέξεις-κλειδιά του κελύφους Linux χρησιμοποιώντας την εντολή type
όπως φαίνεται:
$ type if then fi for while case esac else until if is a shell keyword then is a shell keyword fi is a shell keyword for is a shell keyword while is a shell keyword case is a shell keyword esac is a shell keyword else is a shell keyword until is a shell keyword
4. Λειτουργίες κελύφους Linux
Μια συνάρτηση φλοιού είναι μια ομάδα εντολών που εκτελούνται συλλογικά εντός του τρέχοντος φλοιού. Οι συναρτήσεις βοηθούν στην εκτέλεση μιας συγκεκριμένης εργασίας σε ένα σενάριο φλοιού. Η συμβατική μορφή γραφής λειτουργιών φλοιού σε ένα σενάριο είναι:
function_name() { command1 command2 ……. }
Εναλλακτικά,
function function_name { command1 command2 ……. }
Ας ρίξουμε μια ματιά στον τρόπο εγγραφής συναρτήσεων φλοιού σε ένα σενάριο που ονομάζεται shell_functions.sh
.
#!/bin/bash #write a shell function to update and upgrade installed packages upgrade_system(){ sudo apt update; sudo apt dist-upgrade; } #execute function upgrade_system
Αντί να εκτελέσουμε τις δύο εντολές: sudo apt update
και sudo apt dist-upgrade
από τη γραμμή εντολών, έχουμε γράψει μια απλή συνάρτηση φλοιού για την εκτέλεση των δύο εντολών ως μία εντολή, upgrade_system
μέσα σε ένα σενάριο.
Αποθηκεύστε το αρχείο και στη συνέχεια, κάντε το σενάριο εκτελέσιμο. Τέλος εκτελέστε το ως εξής:
$ chmod +x shell_functions.sh $ ./shell_functions.sh
5. Ενσωματωμένες εντολές Linux Shell
Αυτές είναι εντολές Linux που είναι ενσωματωμένες στο κέλυφος, επομένως δεν μπορείτε να τις βρείτε μέσα στο σύστημα αρχείων. Περιλαμβάνουν pwd, cd, bg, ψευδώνυμο, ιστορικό, πληκτρολογήστε, πηγή, ανάγνωση, έξοδος και πολλά άλλα.
Μπορείτε να παραθέσετε ή να ελέγξετε τις ενσωματωμένες εντολές Linux χρησιμοποιώντας την εντολή type
όπως φαίνεται:
$ type pwd pwd is a shell builtin $ type cd cd is a shell builtin $ type bg bg is a shell builtin $ type alias alias is a shell builtin $ type history history is a shell builtin
Μάθετε για ορισμένες ενσωματωμένες εντολές Linux:
- 15 Παραδείγματα εντολών pwd στο Linux
- 15 Παραδείγματα εντολών «cd» στο Linux
- Μάθετε την Εντολή Ιστορίας της δύναμης του Linux
συμπέρασμα
Ως χρήστης Linux, είναι πάντα σημαντικό να γνωρίζετε τον τύπο της εντολής που εκτελείτε. Πιστεύω ότι, με την ακριβή και κατανοητή εξήγηση παραπάνω που περιλαμβάνει μερικές σχετικές απεικονίσεις, πιθανότατα έχετε καλή κατανόηση των διαφόρων κατηγοριών εντολών Linux.
Μπορείτε επίσης να έρθετε σε δύσκολη θέση μέσω της ενότητας σχολίων παρακάτω για τυχόν ερωτήσεις ή συμπληρωματικές ιδέες που θα θέλατε να μας προσφέρετε.