Ordres útils per crear un servidor de xat en línia d'ordres i eliminar paquets no desitjats a Linux


Aquí estem amb la següent part de Consells i trucs de la línia d'ordres de Linux. Si us heu perdut la nostra publicació anterior sobre Trucs de Linux, podeu trobar-la aquí.

  1. 5 trucs de línia d'ordres de Linux

En aquesta publicació presentarem 6 consells de línia d'ordres, a saber, crear un xat de línia d'ordres de Linux mitjançant l'ordre Netcat, afegir una columna sobre la marxa des de la sortida d'una ordre, eliminar paquets orfes de Debian i CentOS, obtenir IP local i remota des de línia d'ordres, obteniu una sortida de color al terminal i descodifiqueu diversos codis de color i, per últim, però no menys important, la implementació d'etiquetes hash a la línia d'ordres de Linux. Anem a comprovar-los un per un.

1. Creeu un servidor de xat en línia d'ordres de Linux

Tots fem servir el servei de xat des de fa molt de temps. Estem familiaritzats amb el xat de Google, Hangout, el xat de Facebook, Whatsapp, Hike i diverses altres aplicacions i serveis de xat integrats. Saps que l'ordre Linux nc pot convertir la teva caixa de Linux en un servidor de xat amb només una línia d'ordres.

nc és la depreciació de l'ordre netcat de Linux. La utilitat nc sovint es coneix com a ganivet suís en funció del nombre de les seves capacitats integrades. S'utilitza com a eina de depuració, eina d'investigació, lectura i escriptura a la connexió de xarxa mitjançant TCP/UDP, comprovació directa/reversa de DNS.

S'utilitza de manera destacada per a l'exploració de ports, la transferència de fitxers, la porta posterior i l'escolta de ports. nc té la capacitat d'utilitzar qualsevol port local no utilitzat i qualsevol adreça d'origen de xarxa local.

Utilitzeu l'ordre nc (al servidor amb adreça IP: 192.168.0.7) per crear un servidor de missatgeria de línia d'ordres a l'instant.

$ nc -l -vv -p 11119

Explicació dels commutadors d'ordres anteriors.

  1. -v : significa versat
  2. -vv : més detallat
  3. -p : el número de port local

Podeu substituir 11119 per qualsevol altre número de port local.

A continuació, a la màquina client (adreça IP: 192.168.0.15), executeu l'ordre següent per inicialitzar la sessió de xat a la màquina (on s'està executant el servidor de missatgeria).

$ nc 192.168.0.7 11119

Nota: podeu finalitzar la sessió de xat prement la tecla ctrl+c i també el xat nc és un servei un a un.

2. Com sumar valors en una columna a Linux

Com sumar els valors numèrics d'una columna, generats com a sortida d'una ordre, sobre la marxa al terminal.

La sortida de l'ordre 'ls -l'.

$ ls -l

Tingueu en compte que la segona columna és numèrica que representa el nombre d'enllaços simbòlics i la cinquena columna és numèrica que representa la mida del fitxer. Diguem que hem de sumar els valors de la cinquena columna sobre la marxa.

Enumereu el contingut de la 5a columna sense imprimir res més. Utilitzarem l'ordre awk per fer-ho. $5 representa la 5a columna.

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

Ara utilitzeu awk per imprimir la suma de la sortida de la 5a columna canalitzant-la.

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

Com eliminar paquets orfes a Linux?

Els paquets orfes són aquells paquets que s'instal·len com a dependència d'un altre paquet i que ja no són necessaris quan s'elimina el paquet original.

Suposem que hem instal·lat un paquet gtprogram que depenia de gtdependency. No podem instal·lar gtprogram tret que hi hagi instal·lat gtdependency.

Quan eliminem gtprogram, no eliminarà gtdependency per defecte. I si no eliminem gtdependency, es mantindrà com a paquet Orpahn sense connexió amb cap altre paquet.

# yum autoremove                [On RedHat Systems]
# apt-get autoremove                [On Debian Systems]

Sempre hauríeu d'eliminar els paquets orfes per mantenir la caixa de Linux carregada només amb les coses necessàries i res més.

4. Com obtenir l'adreça IP local i pública del servidor Linux

Per obtenir l'adreça IP local, executeu l'script d'una línia de sota.

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

Heu d'haver instal·lat ifconfig, si no, apt o yum els paquets necessaris. Aquí anirem canalitzant la sortida de ifconfig amb l'ordre grep per trobar la cadena \intel addr:.

Sabem que l'ordre ifconfig és suficient per generar l'adreça IP local. Però ifconfig genera moltes altres sortides i la nostra preocupació aquí és generar només una adreça IP local i res més.

# ifconfig | grep "inet addr:"

Tot i que ara la sortida és més personalitzada, però només hem de filtrar la nostra adreça IP local i res més. Per a això, utilitzarem awk per imprimir la segona columna només canalitzant-la amb l'script anterior.

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

Des de la imatge de dalt, es desprèn que hem personalitzat molt la sortida, però encara no és el que volem. L'adreça de loopback 127.0.0.1 encara hi és al resultat.

Utilitzem la bandera -v amb grep que imprimirà només aquelles línies que no coincideixen amb la proporcionada a l'argument. Totes les màquines tenen la mateixa adreça de bucle 127.0.0.1, així que utilitzeu grep -v per imprimir aquelles línies que no tenen aquesta cadena, canalitzant-la amb la sortida anterior.

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

Gairebé hem generat la sortida desitjada, només cal substituir la cadena (addr:) des del principi. Utilitzarem l'ordre cut per imprimir només la columna dos. La columna 1 i la columna 2 no estan separades per tabulació sinó per (:), així que hem d'utilitzar el delimitador (-d) canalitzant la sortida anterior.

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

Per fi! S'ha generat el resultat desitjat.

5. Com pintar el terminal Linux

És possible que hagis vist una sortida de color al terminal. També sabríeu habilitar/desactivar la sortida de color al terminal. Si no, podeu seguir els passos següents.

A Linux cada usuari té el fitxer .bashrc, aquest fitxer s'utilitza per gestionar la sortida del vostre terminal. Obriu i editeu aquest fitxer amb l'editor que trieu. Tingueu en compte que aquest fitxer està ocult (el punt inicial del fitxer significa ocult).

$ vi /home/$USER/.bashrc

Assegureu-vos que les línies següents no estiguin comentades. és a dir, no comença amb un #.

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

Un cop fet! Guardar i sortir. Per fer els canvis en vigor, tanqueu la sessió i torneu a iniciar sessió.

Ara veureu que els fitxers i les carpetes es mostren en diversos colors segons el tipus de fitxer. Per descodificar el codi de color, executeu l'ordre següent.

$ dircolors -p

Com que la sortida és massa llarga, permetem canalitzar la sortida amb menys ordres de manera que tinguem sortida una pantalla a la vegada.

$ dircolors -p | less

6. Com etiquetar comandes i scripts de Linux

Estem utilitzant etiquetes hash a Twitter, Facebook i Google Plus (pot ser que hi hagi altres llocs, no m'he adonat). Aquestes etiquetes hash faciliten que els altres cerquin una etiqueta hash. Molts pocs saben que podem utilitzar l'etiqueta hash a la línia d'ordres de Linux.

Ja sabem que # als fitxers de configuració i la majoria dels llenguatges de programació es tracta com a línia de comentaris i s'exclou de l'execució.

Executeu una ordre i després creeu una etiqueta hash de l'ordre perquè puguem trobar-la més tard. Suposem que tenim un script llarg que es va executar al punt 4 anterior. Ara creeu una etiqueta hash per a això. Sabem que ifconfig pot ser executat per l'usuari sudo o root, per tant actua com a root.

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

L'script anterior s'ha etiquetat amb 'myip'. Ara cerqueu l'etiqueta hash a reverse-i-serach (premeu ctrl+r), al terminal i escriviu myip. També podeu executar-lo des d'allà.

Podeu crear tantes etiquetes hash per a cada comanda i trobar-la més tard mitjançant la cerca inversa.

Això és tot per ara. Hem estat treballant dur per produir continguts interessants i informats per a vosaltres. Què et sembla com estem fent? Qualsevol suggeriment és benvingut. Podeu comentar al quadre següent. Seguiu connectat! Enhorabona.