Wyszukiwanie w witrynie

Przydatne polecenia do tworzenia serwera czatu z wiersza poleceń i usuwania niechcianych pakietów w systemie Linux


Oto kolejna część porad i wskazówek dotyczących wiersza poleceń systemu Linux. Jeśli przegapiłeś nasz poprzedni post na temat sztuczek z Linuksem, możesz go znaleźć tutaj.

  1. 5 sztuczek z wierszem poleceń systemu Linux

W tym poście przedstawimy 6 wskazówek dotyczących wiersza poleceń, a mianowicie utwórz czat z wiersza poleceń systemu Linux za pomocą polecenia Netcat, dodawaj kolumnę w locie z wyniku polecenia, usuń pakiety osierocone z Debiana i CentOS, uzyskaj lokalny i zdalny adres IP z wiersza poleceń, uzyskaj kolorowe wyjście w terminalu i zdekoduj różne kody kolorów oraz, co nie mniej ważne, implementację znaczników skrótu w wierszu poleceń Linuksa. Sprawdźmy je jeden po drugim.

1. Utwórz serwer czatu z linią poleceń systemu Linux

Wszyscy korzystamy z usługi czatu od dłuższego czasu. Znamy czat Google, Hangout, czat na Facebooku, Whatsapp, Hike i kilka innych aplikacji oraz zintegrowanych usług czatu. Czy wiesz, że polecenie Linux nc może sprawić, że Twój Linux będzie serwerem czatu za pomocą tylko jednej linii poleceń.

Co to jest polecenie nc w systemie Linux i do czego służy?

nc to deprecjacja polecenia netcat w Linuksie. Narzędzie nc jest często określane jako szwajcarski scyzoryk ze względu na liczbę wbudowanych funkcji. Jest używany jako narzędzie do debugowania, narzędzie do sprawdzania, odczytywania i zapisywania połączenia sieciowego przy użyciu protokołu TCP/UDP, sprawdzania przesyłania do przodu/wstecznego DNS.

Jest powszechnie używany do skanowania portów, przesyłania plików, backdoorów i nasłuchiwania portów. nc ma możliwość wykorzystania dowolnego lokalnego, nieużywanego portu i dowolnego adresu źródłowego w sieci lokalnej.

Użyj polecenia nc (na serwerze z adresem IP: 192.168.0.7), aby natychmiast utworzyć serwer wiadomości z wiersza poleceń.

nc -l -vv -p 11119

Objaśnienie powyższych przełączników poleceń.

  1. -v: oznacza pełne
  2. -vv: bardziej szczegółowe
  3. -p: numer portu lokalnego

Możesz zastąpić 11119 dowolnym innym numerem portu lokalnego.

Następnie na komputerze klienckim (adres IP: 192.168.0.15) uruchom następujące polecenie, aby zainicjować sesję czatu z komputerem (na którym działa serwer przesyłania wiadomości).

nc 192.168.0.7 11119

Uwaga: sesję czatu możesz zakończyć, naciskając klawisze ctrl+c. Czat nc jest także usługą indywidualną.

2. Jak sumować wartości w kolumnie w systemie Linux

Jak zsumować wartości liczbowe kolumny, wygenerowane jako wynik polecenia, na bieżąco w terminalu.

Dane wyjściowe polecenia „ls -l”.

ls -l

Zauważ, że druga kolumna jest liczbą, która reprezentuje liczbę dowiązań symbolicznych, a piąta kolumna jest liczbą, która reprezentuje rozmiar pliku. Załóżmy, że musimy na bieżąco zsumować wartości piątej kolumny.

Wypisz zawartość 5. kolumny bez drukowania czegokolwiek innego. W tym celu użyjemy polecenia „awk”. „5 USD” oznacza 5. kolumnę.

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

Teraz użyj awk, aby wydrukować sumę wyników 5. kolumny poprzez potokowanie.

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

Jak usunąć pakiety osierocone w systemie Linux?

Pakiety osierocone to pakiety, które są instalowane jako zależność od innego pakietu i nie są już potrzebne po usunięciu oryginalnego pakietu.

Załóżmy, że zainstalowaliśmy pakiet gtprogram, który był zależny od gtdependent. Nie możemy zainstalować gtprogram, jeśli nie jest zainstalowany gtdependent.

Gdy usuniemy gtprogram, domyślnie nie usuniemy gtdependent. A jeśli nie usuniemy gtdependent, pozostanie on pakietem Orpahn bez połączenia z żadnym innym pakietem.

yum autoremove                [On RedHat Systems]

apt-get autoremove                [On Debian Systems]

Powinieneś zawsze usuwać pakiety sieroce, aby Linux był załadowany tylko niezbędnymi rzeczami i niczym więcej.

4. Jak uzyskać lokalny i publiczny adres IP serwera Linux

Aby uzyskać lokalny adres IP, uruchom poniższy skrypt liniowy.

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

Musisz mieć zainstalowany ifconfig, jeśli nie, apt lub yum wymagane pakiety. Tutaj będziemy przesyłać dane wyjściowe ifconfig za pomocą polecenia grep, aby znaleźć ciąg „intel adres:”.

Wiemy, że polecenie ifconfig wystarczy do wygenerowania lokalnego adresu IP. Ale ifconfig generuje wiele innych wyników, a naszym zadaniem jest tutaj wygenerowanie tylko lokalnego adresu IP i niczego więcej.

ifconfig | grep "inet addr:"

Chociaż dane wyjściowe są teraz bardziej niestandardowe, musimy filtrować tylko nasz lokalny adres IP i nic więcej. W tym celu użyjemy awk do wydrukowania drugiej kolumny tylko poprzez potokowanie jej za pomocą powyższego skryptu.

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

Z powyższego obrazu jasno wynika, że bardzo dostosowaliśmy dane wyjściowe, ale nadal nie są one takie, jak chcieliśmy. Adres pętli zwrotnej 127.0.0.1 nadal występuje w wyniku.

Używamy flagi -v z grep, która wypisze tylko te linie, które nie pasują do tej podanej w argumencie. Każda maszyna ma ten sam adres pętli zwrotnej 127.0.0.1, więc użyj grep -v, aby wydrukować te linie, które nie mają tego ciągu, poprzez potokowanie ich z powyższym wyjściem.

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

Prawie wygenerowaliśmy żądane wyjście, po prostu zastąp ciąg (addr:) od początku. Użyjemy polecenia cut, aby wydrukować tylko drugą kolumnę. Kolumna 1 i kolumna 2 nie są oddzielone tabulatorem, ale (:), więc musimy użyć ogranicznika (-d ) poprzez potokowanie powyższych wyników.

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

Wreszcie! Pożądany wynik został wygenerowany.

5. Jak pokolorować terminal Linux

Być może widziałeś kolorowe wyjście w terminalu. Powinieneś także wiedzieć, jak włączyć/wyłączyć kolorowe wyjście w terminalu. Jeśli nie, możesz wykonać poniższe kroki.

W Linuksie każdy użytkownik ma plik '.bashrc', plik ten służy do obsługi danych wyjściowych terminala. Otwórz i edytuj ten plik za pomocą wybranego edytora. Zauważ, że ten plik jest ukryty (kropka na początku pliku oznacza ukryty).

vi /home/$USER/.bashrc

Upewnij się, że poniższe wiersze nie są skomentowane. tzn. nie zaczyna się od #.

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

Raz zrobione! Zapisz i wyjdź. Aby zmiany zostały wprowadzone, wyloguj się i zaloguj ponownie.

Teraz zobaczysz, że pliki i foldery są wyświetlane w różnych kolorach w zależności od typu pliku. Aby zdekodować kod koloru, uruchom poniższe polecenie.

dircolors -p

Ponieważ dane wyjściowe są za długie, potokujemy dane wyjściowe z mniejszą liczbą poleceń, abyśmy otrzymywali dane wyjściowe po jednym ekranie na raz.

dircolors -p | less

6. Jak hashować polecenia i skrypty systemu Linux

Używamy tagów skrótu na Twitterze, Facebooku i Google Plus (może być w innych miejscach, nie zauważyłem). Te znaczniki skrótu ułatwiają innym wyszukiwanie znacznika skrótu. Bardzo niewielu wie, że możemy używać tagu skrótu w wierszu poleceń Linuksa.

Wiemy już, że # w plikach konfiguracyjnych i większości języków programowania jest traktowany jako linia komentarza i wykluczany z wykonania.

Uruchom polecenie, a następnie utwórz znacznik skrótu polecenia, abyśmy mogli go później znaleźć. Załóżmy, że mamy długi skrypt, który został wykonany w punkcie 4 powyżej. Teraz utwórz do tego tag mieszający. Wiemy, że ifconfig może uruchomić użytkownik sudo lub root, dlatego działa jako root.

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

Powyższy skrypt został oznaczony skrótem „myip”. Teraz wyszukaj znacznik skrótu w reverse-i-serach (naciśnij ctrl+r), w terminalu i wpisz „myip”. Możesz go również wykonać stamtąd.

Możesz utworzyć dowolną liczbę znaczników skrótu dla każdego polecenia i znaleźć je później za pomocą wyszukiwania wstecznego.

To wszystko na teraz. Ciężko pracowaliśmy, aby stworzyć dla Ciebie interesujące i merytoryczne treści. Jak myślisz, jak sobie radzimy? Każda sugestia jest mile widziana. Możesz skomentować w polu poniżej. Pozostań w kontakcie! Sława.