Χρήσιμες εντολές για τη δημιουργία Commandline Chat Server και την κατάργηση ανεπιθύμητων πακέτων στο Linux


Εδώ είμαστε με το επόμενο μέρος του Linux Command Line Tips and Tricks. Αν χάσατε την προηγούμενη ανάρτησή μας στο Linux Tricks, μπορείτε να το βρείτε εδώ.

  1. 5 κόλπα γραμμής εντολών Linux

Σε αυτήν την ανάρτηση θα παρουσιάσουμε 6 συμβουλές για τη γραμμή εντολών δηλαδή δημιουργία συνομιλίας γραμμής εντολών Linux χρησιμοποιώντας την εντολή Netcat, εκτέλεση προσθήκης στήλης εν κινήσει από την έξοδο μιας εντολής, αφαιρέστε τα ορφανά πακέτα από το Debian και το CentOS, λάβετε τοπική και απομακρυσμένη IP από τη Γραμμή εντολών, λάβετε έγχρωμη έξοδο στο τερματικό και αποκωδικοποιήστε διάφορους χρωματικούς κωδικούς και τελευταία, αλλά όχι λιγότερο σημαντική, εφαρμογή ετικετών κατακερματισμού στη γραμμή εντολών Linux. Ας τα ελέγξουμε ένα προς ένα.

1. Δημιουργήστε Linux Commandline Chat Server

Όλοι χρησιμοποιούμε την υπηρεσία συνομιλίας εδώ και πολύ καιρό. Είμαστε εξοικειωμένοι με το Google chat, το Hangout, το Facebook chat, το Whatsapp, το Hike και πολλές άλλες εφαρμογές και ενσωματωμένες υπηρεσίες συνομιλίας. Γνωρίζετε ότι η εντολή Linux nc μπορεί να κάνει το Linux box σας διακομιστή συνομιλίας με μία μόνο γραμμή εντολών.

Τι είναι η εντολή nc στο Linux και τι κάνει;

Το nc είναι η απόσβεση της εντολής netcat του Linux. Το βοηθητικό πρόγραμμα nc αναφέρεται συχνά ως ελβετικό μαχαίρι με βάση τον αριθμό των ενσωματωμένων δυνατοτήτων του. Χρησιμοποιείται ως εργαλείο εντοπισμού σφαλμάτων, εργαλείο έρευνας, ανάγνωση και εγγραφή σε σύνδεση δικτύου με χρήση TCP/UDP, έλεγχος προώθησης/αντίστροφης DNS.

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

Χρησιμοποιήστε την εντολή nc (Σε διακομιστή με διεύθυνση IP: 192.168.0.7) για να δημιουργήσετε άμεσα έναν διακομιστή ανταλλαγής μηνυμάτων γραμμής εντολών.

nc -l -vv -p 11119

Επεξήγηση των παραπάνω διακοπτών εντολών.

  1. -v : σημαίνει Λεπτός
  2. -vv : πιο περίπλοκο
  3. -p : Ο αριθμός της τοπικής θύρας

Μπορείτε να αντικαταστήσετε το 11119 με οποιονδήποτε άλλο αριθμό τοπικής θύρας.

Στη συνέχεια, στον υπολογιστή-πελάτη (διεύθυνση IP: 192.168.0.15) εκτελέστε την ακόλουθη εντολή για να αρχικοποιήσετε τη συνεδρία συνομιλίας στο μηχάνημα (όπου εκτελείται ο διακομιστής ανταλλαγής μηνυμάτων).

nc 192.168.0.7 11119

Σημείωση: Μπορείτε να τερματίσετε τη συνεδρία συνομιλίας πατώντας το πλήκτρο ctrl+c και επίσης η nc chat είναι υπηρεσία ένας προς έναν.

2. Πώς να αθροίσετε τις τιμές σε μια στήλη στο Linux

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

Η έξοδος της εντολής «ls -l».

ls -l

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

Καταχωρίστε το περιεχόμενο της 5ης στήλης χωρίς να εκτυπώσετε τίποτα άλλο. Θα χρησιμοποιήσουμε την εντολή "awk" για να το κάνουμε αυτό. Το "5$" αντιπροσωπεύει τη στήλη .

ls -l | awk '{print $5}'

Τώρα χρησιμοποιήστε το awk για να εκτυπώσετε το άθροισμα της εξόδου της 5ης στήλης γραμμώνοντάς το.

ls -l | awk '{print $5}' | awk '{total = total + $1}END{print total}'

Πώς να αφαιρέσετε τα ορφανά πακέτα στο Linux;

Τα πακέτα Orphan είναι εκείνα τα πακέτα που εγκαθίστανται ως εξάρτηση άλλου πακέτου και δεν απαιτούνται πλέον όταν αφαιρεθεί το αρχικό πακέτο.

Ας υποθέσουμε ότι εγκαταστήσαμε ένα πακέτο gtprogram το οποίο εξαρτιόταν από gtdependency. Δεν μπορούμε να εγκαταστήσουμε το gtprogram εκτός εάν έχει εγκατασταθεί το gtdependency.

Όταν καταργούμε το gtprogram, δεν θα καταργήσει το gtdependency από προεπιλογή. Και αν δεν καταργήσουμε το gtdependency, θα παραμείνει ως Πακέτο Orpahn χωρίς σύνδεση με κανένα άλλο πακέτο.

yum autoremove                [On RedHat Systems]

apt-get autoremove                [On Debian Systems]

Θα πρέπει πάντα να αφαιρείτε τα Orphan Packages για να διατηρείτε το κουτί Linux φορτωμένο με απλά απαραίτητα πράγματα και τίποτα άλλο.

4. Πώς να αποκτήσετε τοπική και δημόσια διεύθυνση IP του διακομιστή Linux

Για να λάβετε τοπική διεύθυνση IP, εκτελέστε την παρακάτω δέσμη ενεργειών γραμμής.

ifconfig | grep "inet addr:" | awk '{print $2}' | grep -v '127.0.0.1' | cut -f2 -d:

Πρέπει να έχετε εγκαταστήσει το ifconfig, αν όχι, apt ή yum τα απαιτούμενα πακέτα. Εδώ θα μεταφέρουμε την έξοδο του ifconfig με την εντολή grep για να βρούμε τη συμβολοσειρά "intel addr: ".

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

ifconfig | grep "inet addr:"

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

ifconfig | grep “inet addr:” | awk '{print $2}'

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

Χρησιμοποιούμε τη σημαία -v με grep που θα εκτυπώσει μόνο εκείνες τις γραμμές που δεν ταιριάζουν με αυτήν που παρέχεται στο όρισμα. Κάθε μηχάνημα έχει την ίδια διεύθυνση loopback 127.0.0.1, επομένως χρησιμοποιήστε το grep -v για να εκτυπώσετε αυτές τις γραμμές που δεν έχουν αυτήν τη συμβολοσειρά, γραμμώνοντάς την με την παραπάνω έξοδο.

ifconfig | grep "inet addr" | awk '{print $2}' | grep -v '127.0.0.1'

Έχουμε σχεδόν δημιουργήσει την επιθυμητή έξοδο, απλώς αντικαταστήστε τη συμβολοσειρά (addr:) από την αρχή. Θα χρησιμοποιήσουμε την εντολή cut για να εκτυπώσουμε μόνο τη δεύτερη στήλη. Η στήλη 1 και η στήλη 2 δεν διαχωρίζονται με καρτέλα αλλά με (:), επομένως πρέπει να χρησιμοποιήσουμε οριοθέτη (-d ) με διοχέτευση της παραπάνω εξόδου.

ifconfig | grep "inet addr:" | awk '{print $2}' | grep -v '127.0.0.1' | cut -f2 -d:

Τελικά! Το επιθυμητό αποτέλεσμα έχει δημιουργηθεί.

5. Πώς να χρωματίσετε το τερματικό Linux

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

Στο Linux κάθε χρήστης έχει αρχείο '.bashrc', αυτό το αρχείο χρησιμοποιείται για τον χειρισμό της εξόδου του τερματικού σας. Ανοίξτε και επεξεργαστείτε αυτό το αρχείο με τον επεξεργαστή της επιλογής σας. Σημειώστε ότι, αυτό το αρχείο είναι κρυφό (η αρχή της κουκκίδας του αρχείου σημαίνει κρυφό).

vi /home/$USER/.bashrc

Βεβαιωθείτε ότι οι παρακάτω γραμμές δεν σχολιάζονται. δηλαδή, δεν ξεκινά με #.

if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dirc$
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

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

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

dircolors -p

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

dircolors -p | less

6. Πώς να κατακερματίσετε τις εντολές και τα σενάρια Linux

Χρησιμοποιούμε ετικέτες κατακερματισμού στο Twitter, το Facebook και το Google Plus (μπορεί να είναι κάποια άλλα μέρη, δεν το έχω παρατηρήσει). Αυτές οι ετικέτες κατακερματισμού διευκολύνουν τους άλλους να αναζητήσουν μια ετικέτα κατακερματισμού. Πολύ λίγοι γνωρίζουν ότι μπορούμε να χρησιμοποιήσουμε hash tag στη γραμμή εντολών Linux.

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

Εκτελέστε μια εντολή και, στη συνέχεια, δημιουργήστε μια ετικέτα κατακερματισμού της εντολής για να μπορούμε να τη βρούμε αργότερα. Ας υποθέσουμε ότι έχουμε ένα μεγάλο σενάριο που εκτελέστηκε στο σημείο 4 παραπάνω. Τώρα δημιουργήστε μια ετικέτα κατακερματισμού για αυτό. Γνωρίζουμε ότι το ifconfig μπορεί να εκτελεστεί από χρήστη sudo ή root, επομένως λειτουργεί ως root.

ifconfig | grep "inet addr:" | awk '{print $2}' | grep -v '127.0.0.1' | cut -f2 -d: #myip

Το παραπάνω σενάριο έχει προστεθεί με ετικέτα "myip". Τώρα αναζητήστε την ετικέτα κατακερματισμού στο reverse-i-serach (πατήστε ctrl+r), στο τερματικό και πληκτρολογήστε "myip". Μπορείτε να το εκτελέσετε και από εκεί.

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

Αυτα για τωρα. Εργαζόμαστε σκληρά για να δημιουργήσουμε ενδιαφέρον και ενημερωμένο περιεχόμενο για εσάς. Τι νομίζεις πώς τα πάμε; Οποιαδήποτε πρόταση είναι ευπρόσδεκτη. Μπορείτε να σχολιάσετε στο παρακάτω πλαίσιο. Μείνετε συνδεδεμένοι! Δόξα.