10 Χρήσιμα κόλπα γραμμής εντολών Linux για αρχάριους - Μέρος 2


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

  1. 5 ενδιαφέρουσες συμβουλές και κόλπα για τη γραμμή εντολών στο Linux – Μέρος 1
  2. 5 χρήσιμες εντολές για τη διαχείριση τύπων αρχείων Linux – Μέρος 3

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

1. Βρείτε τη σωστή εντολή

Η εκτέλεση της σωστής εντολής μπορεί να είναι ζωτικής σημασίας για το σύστημά σας. Ωστόσο, στο Linux υπάρχουν τόσες πολλές διαφορετικές γραμμές εντολών που συχνά είναι δύσκολο να τις θυμάστε. Πώς λοιπόν αναζητάτε τη σωστή εντολή που χρειάζεστε; Η απάντηση είναι apropos. Το μόνο που χρειάζεστε για να τρέξετε είναι:

# apropos <description>

Πού πρέπει να αλλάξετε την περιγραφή με την πραγματική περιγραφή της εντολής που αναζητάτε. Εδώ είναι ένα καλό παράδειγμα:

# apropos "list directory"

dir (1) - list directory contents
ls (1) - list directory contents
ntfsls (8) - list directory contents on an NTFS filesystem
vdir (1) - list directory contents

Αριστερά μπορείτε να δείτε τις εντολές και δεξιά την περιγραφή τους.

2. Εκτελέστε την προηγούμενη εντολή

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

# history

    1  fdisk -l
    2  apt-get install gnome-paint
    3  hostname linux-console.net
    4  hostnamectl linux-console.net
    5  man hostnamectl 
    6  hostnamectl --set-hostname linux-console.net
    7  hostnamectl -set-hostname linux-console.net
    8  hostnamectl set-hostname linux-console.net
    9  mount -t "ntfs" -o
   10  fdisk -l
   11  mount -t ntfs-3g /dev/sda5 /mnt
   12  mount -t rw ntfs-3g /dev/sda5 /mnt
   13  mount -t -rw ntfs-3g /dev/sda5 /mnt
   14  mount -t ntfs-3g /dev/sda5 /mnt
   15  mount man
   16  man mount
   17  mount -t -o ntfs-3g /dev/sda5 /mnt
   18  mount -o ntfs-3g /dev/sda5 /mnt
   19  mount -ro ntfs-3g /dev/sda5 /mnt
   20  cd /mnt
   ...

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

!#

Όπου # πρέπει να αλλάξει με τον πραγματικό αριθμό της εντολής. Για καλύτερη κατανόηση, δείτε το παρακάτω παράδειγμα:

!501

Είναι ισοδύναμο με:

# history

3. Χρησιμοποιήστε το Midnight Commander

Εάν δεν έχετε συνηθίσει να χρησιμοποιείτε εντολές όπως cd, cp, mv, rm, τότε μπορείτε να χρησιμοποιήσετε το ισχυρή>μεσονύκτια εντολή. Είναι ένα εύκολο στη χρήση οπτικό κέλυφος στο οποίο μπορείτε επίσης να χρησιμοποιήσετε το ποντίκι:

Χάρη στα πλήκτρα F1 – F12, μπορείτε εύκολα να εκτελέσετε διάφορες εργασίες. Απλώς ελέγξτε το υπόμνημα στο κάτω μέρος. Για να επιλέξετε ένα αρχείο ή φάκελο, κάντε κλικ στο κουμπί «Εισαγωγή».

Εν ολίγοις, η εντολή midnight ονομάζεται mc. Για να εγκαταστήσετε το mc στο σύστημά σας, απλώς εκτελέστε:

$ sudo apt-get install mc        [On Debian based systems]
# yum install mc                 [On Fedora based systems]

Εδώ είναι ένα απλό παράδειγμα χρήσης του midnight commander. Ανοίξτε το mc πληκτρολογώντας απλώς:

# mc

Τώρα χρησιμοποιήστε το κουμπί TAB για εναλλαγή μεταξύ παραθύρων – αριστερά και δεξιά. Έχω ένα αρχείο LibreOffice που θα μετακινήσω στον φάκελο Λογισμικό:

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

Μόλις επιβεβαιωθεί, το αρχείο θα μετακινηθεί στον νέο κατάλογο προορισμού.

Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε το Midnight Commander File Manager στο Linux

4. Τερματισμός λειτουργίας υπολογιστή σε συγκεκριμένη ώρα

Μερικές φορές θα χρειαστεί να τερματίσετε τον υπολογιστή σας μερικές ώρες μετά το τέλος των ωρών εργασίας σας. Μπορείτε να ρυθμίσετε τις παραμέτρους του υπολογιστή σας ώστε να τερματίζεται σε συγκεκριμένη ώρα χρησιμοποιώντας:

$ sudo shutdown 21:00

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

$ sudo shutdown +15

Με αυτόν τον τρόπο το σύστημα θα τερματιστεί σε 15 λεπτά.

5. Εμφάνιση πληροφοριών για Γνωστούς Χρήστες

Μπορείτε να χρησιμοποιήσετε μια απλή εντολή για να απαριθμήσετε τους χρήστες του συστήματος Linux και ορισμένες βασικές πληροφορίες για αυτούς. Απλά χρησιμοποιήστε:

# lslogins

Αυτό θα πρέπει να σας φέρει την ακόλουθη έξοδο:

UID USER PWD-LOCK PWD-DENY LAST-LOGIN GECOS
0 root 0 0 Apr29/11:35 root
1 bin 0 1 bin
2 daemon 0 1 daemon
3 adm 0 1 adm
4 lp 0 1 lp
5 sync 0 1 sync
6 shutdown 0 1 Jul19/10:04 shutdown
7 halt 0 1 halt
8 mail 0 1 mail
10 uucp 0 1 uucp
11 operator 0 1 operator
12 games 0 1 games
13 gopher 0 1 gopher
14 ftp 0 1 FTP User
23 squid 0 1
25 named 0 1 Named
27 mysql 0 1 MySQL Server
47 mailnull 0 1
48 apache 0 1 Apache
...

6. Αναζήτηση για Αρχεία

Η αναζήτηση αρχείων μπορεί μερικές φορές να μην είναι τόσο εύκολη όσο νομίζετε. Ένα καλό παράδειγμα για την αναζήτηση αρχείων είναι:

# find /home/user -type f

Αυτή η εντολή θα αναζητήσει όλα τα αρχεία που βρίσκονται στο /home/user. Η εντολή εύρεση είναι εξαιρετικά ισχυρή και μπορείτε να της περάσετε περισσότερες επιλογές για να κάνετε την αναζήτησή σας ακόμη πιο λεπτομερή. Εάν θέλετε να αναζητήσετε αρχεία μεγαλύτερα από το δεδομένο μέγεθος, μπορείτε να χρησιμοποιήσετε:

# find . -type f -size 10M

Η παραπάνω εντολή θα πραγματοποιήσει αναζήτηση από τον τρέχοντα κατάλογο για όλα τα αρχεία που είναι μεγαλύτερα από 10 MB. Βεβαιωθείτε ότι δεν εκτελείτε την εντολή από τον ριζικό κατάλογο του συστήματος Linux, καθώς αυτό μπορεί να προκαλέσει υψηλή I/O στον υπολογιστή σας.

Ένας από τους πιο συχνά χρησιμοποιούμενους συνδυασμούς με τους οποίους χρησιμοποιώ το find είναι η επιλογή exec, η οποία βασικά σας επιτρέπει να εκτελέσετε ορισμένες ενέργειες στα αποτελέσματα της εντολής εύρεσης.

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

# find /home/user/files/ -type f -exec chmod 644 {} \;

Η παραπάνω εντολή θα αναζητήσει όλα τα αρχεία στον καθορισμένο κατάλογο αναδρομικά και θα εκτελέσει την εντολή chmod στα αρχεία που βρέθηκαν. Είμαι βέβαιος ότι θα βρείτε πολλές περισσότερες χρήσεις αυτής της εντολής στο μέλλον, προς το παρόν διαβάστε 35 Παραδείγματα Εντολής και Χρήσης «εύρεσης» Linux.

7. Δημιουργήστε δέντρα καταλόγου με μία εντολή

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

# mkdir new_folder

Τι γίνεται, όμως, αν θέλετε να δημιουργήσετε 5 υποφακέλους σε αυτόν τον φάκελο; Η εκτέλεση του mkdir 5 φορές στη σειρά δεν είναι καλή λύση. Αντίθετα, μπορείτε να χρησιμοποιήσετε την επιλογή -p ως εξής:

# mkdir -p new_folder/{folder_1,folder_2,folder_3,folder_4,folder_5}

Στο τέλος θα πρέπει να έχετε 5 φακέλους που βρίσκονται στο new_folder:

# ls new_folder/

folder_1 folder_2 folder_3 folder_4 folder_5

8. Αντιγράψτε το αρχείο σε πολλούς καταλόγους

Η αντιγραφή αρχείων συνήθως εκτελείται με την εντολή cp. Η αντιγραφή ενός αρχείου συνήθως μοιάζει με αυτό:

# cp /path-to-file/my_file.txt /path-to-new-directory/

Τώρα φανταστείτε ότι πρέπει να αντιγράψετε αυτό το αρχείο σε πολλούς καταλόγους:

# cp /home/user/my_file.txt /home/user/1
# cp /home/user/my_file.txt /home/user/2
# cp /home/user/my_file.txt /home/user/3

Αυτό είναι λίγο παράλογο. Αντίθετα, μπορείτε να λύσετε το πρόβλημα με μια απλή εντολή μίας γραμμής:

# echo /home/user/1/ /home/user/2/ /home/user/3/ | xargs -n 1  cp /home/user/my_file.txt

9. Διαγραφή Μεγαλύτερων Αρχείων

Μερικές φορές τα αρχεία μπορεί να μεγαλώσουν εξαιρετικά. Έχω δει περιπτώσεις όπου ένα μεμονωμένο αρχείο καταγραφής ξεπέρασε τα 250 GB λόγω ανεπαρκών δεξιοτήτων διαχείρισης. Η κατάργηση του αρχείου με το βοηθητικό πρόγραμμα rm ενδέχεται να μην είναι επαρκής σε τέτοιες περιπτώσεις, λόγω του γεγονότος ότι υπάρχει εξαιρετικά μεγάλος όγκος δεδομένων που πρέπει να καταργηθούν. Η επέμβαση θα είναι «βαριά» και θα πρέπει να αποφεύγεται. Αντίθετα, μπορείτε να πάτε με μια πολύ απλή λύση:

# > /path-to-file/huge_file.log

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

10. Εκτελέστε την ίδια εντολή σε πολλούς διακομιστές Linux

Πρόσφατα ένας από τους αναγνώστες μας ρώτησε στο φόρουμ LinuxSay, πώς να εκτελέσετε μία εντολή σε πολλαπλά πλαίσια Linux ταυτόχρονα χρησιμοποιώντας SSH. Είχε τις διευθύνσεις IP του μηχανήματος του να μοιάζουν με αυτό:

10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
10.0.0.5

Εδώ είναι λοιπόν μια απλή λύση αυτού του ζητήματος. Συλλέξτε τις διευθύνσεις IP των διακομιστών σε ένα αρχείο που ονομάζεται list.txt το ένα κάτω από το άλλο όπως φαίνεται παραπάνω. Στη συνέχεια, μπορείτε να τρέξετε:

# for in $i(cat list.txt); do ssh $i 'bash command'; done

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

Σημειώστε ότι μπορεί να χρειαστεί να περάσετε ορισμένες πρόσθετες παραμέτρους στην εντολή SSH ανάλογα με τη ρύθμιση των πλαισίων Linux.

συμπέρασμα

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