Comandos Linux


La siguiente entrada pretende ser una recopilación de los comandos de mas utilidad que pueden ser empleados en Linux. Esta entrada irá creciendo con el tiempo según se añadan mas comandos.

Abrir puertos TCP o UDP

El comando nc permite entre otras opciones abrir puertos en un host. Dichos puertos pueden ser tanto TCP como UDP. 

Abrir un puerto TCP

nc -l "puerto" 

ej:

nc -l 5555

Abrir un puerto UDP

nc -u -l "puerto"

ej:

nc -u -l 5555

Conectarse a un servidor

nc "direcciónIP" puerto

ej:

nc 10.0.0.1 5555

Analizar ancho de banda por interfaz

bwm-ng

Para analizar el tráfico transmitido o el tráfico recibido se puede emplear la herramienta speedometer. Dicha herramienta se obtendrá a través de la ejecución del siguiente comando:

sudo apt-get install speedometer

Analizar tráfico transmitido:

speedometer -t eth0

Analizar tráfico recibido:

speedometer -r eth0


Buscar contenido en un fichero empleando expresiones regulares

grep -w expresión regular


Buscar un archivo

find  ruta -name fichero

ej:

find / -name etc

Buscar un programa

which ls

El comando devolverá la ruta del programa en cuestión. Si se le añade la opción -a el comando devolverá todas las ubicaciones posibles para dicho programa

which -a ls

Comprimir y descomprimir ficheros en tar gz

comprimir:

tar -zcvf nombrefichero.tar.gz ruta_directorio_a_comprimir

ej:

tar -zcvf personal.tar.gz /home/cdui/personal

descomprimir:

tar -zxvf fichero.tar.gz

descomprimir en un directorio:

tar -zxvf fichero.tar.gz -C /home/cdui/

Comprobar el espacio en disco

df -H

Copiar un fichero

cp fichero_origen fichero_destino


Se pueden copiar varios ficheros distintos a otra ruta


cp fichero1 fichero2 fichero3 /home/user1/ficheros


Cortar una fila empleando un carácter como separador

cut -d'separador' -f número de campo

ej:

cut -d',' -f 3

En este caso se emplea como separador la coma "," y se selecciona el tercer campo separado. Es decir para el siguiente ejemplo el comando devolvería un 4

x,e,4,5

Desmontar una unidad compartida

umount

En el caso que queramos desmontar una unidad en formato cifs se puede emplear el comando umount de la siguiente forma:

umount -a -t cifs -l

Diferenciar dos archivos

diff fichero1 fichero2

Permite comparar ficheros. También funciona con directorios y permite comparar el contenido de dichos directorios


Ejecutar un comando periódicamente

watch -n 1 "comando a ejecutar" 

Destacar que la opción -n permitirá establecer el periodo de ejecución del comando en segundos. Ejemplo:

watch -n 1 ls -la

Eliminar lineas duplicadas

uniq

El comando uniq se puede combinar con opciones como las siguientes:

uniq -u

Solo muestra las líneas únicas

uniq -d

Muestra las líneas duplicadas

uniq -c

Muestra el número de veces que una línea está duplicada


Eliminar una línea de un fichero

sed -i "númerodelinea d" fichero

ej:

sed -i "4 d" /etc/fichero

El ejemplo eliminará la línea número 4 del fichero /etc/fichero

Eliminar un proceso

kill "id del proceso"

Se puede obtener el id del proceso a través del comando PS 

Enviar constantemente ceros

Si se realiza un cat de la ruta /dev/zero se podrá enviar constantemente ceros si redireccionamos la salida a un fichero o un puerto. Por ejemplo:

cat /dev/zero | nc 10.0.0.1 5555

De esta forma se redireccionará la salida al puerto 5555 del servidor 10.0.0.1


Información del procesador

cat /proc/cpuinfo | grep processor 

Muestra información del procesador. Si se quiere obtener el número de procesadores se añadirá a la salida el comando wc


cat /proc/cpuinfo | grep processor | wc -l

Listar el contenido de una carpeta

ls -la


La opción -l muestra la información en formato extendido
La opción -a permite mostrar los archivos ocultos
Listar el contenido de una carpeta ordenado numericamente:

ls -v1

Mostrar fecha

date

Para mostrar la fecha en un formato especifico por ejemplo Horas y Minutos se ejecutará de la siguiente forma:

date +"%H:%M"

Si se quiere restar a la hora un minuto se puede emplear el comando date de la siguiente forma:

date +"%H:%M" --date="+1 minutes ago"

Mostrar la primera columna de un fichero

awk -F"," '{print $1}' fichero

Mostrar las primeras líneas de un fichero


head


Mostrar las últimas líneas de un fichero



tail


La opción -f permite verificar las últimas líneas así como nuevas líneas que se le pueden añadir al fichero por el final en tiempo real.

tail  -f


Mostrar los archivos abiertos por los procesos

lsof


Mostrar los archivos abiertos por un proceso (también se puede con lsof -c nombredeprograma)


lsof | grep dropbox

Mostrar los procesos que usan un determinado puerto

lsof -i udp:3500

Mostrar los procesos en ejecución en el sistema

ps -aux

La opción -a permite mostrar todos los procesos que se están ejecutan todas las terminales. 
La opción -u muestra el usuario con el cual se está ejecutando el proceso. 
Finalmente la opción -x muestra aquellos procesos que no se controlan por ningún terminal. 

Si solo se quieren mostrar los procesos en ejecución para un determinado usuario bastan con ejecutar el comando ps de la siguiente forma:

ps -u

Obtener el número de la fila de un campo de un fichero

awk -F"," '{print $1}' fichero | grep -n "campoabuscar"
ej

awk -F"," '{print $1}' fichero | grep -n aa

En este caso devolverá el siguiente valor:

1:cc:cc;cc.  aaa 
2:aa aa ss ff

Para un fichero con el siguiente contenido:

cc:cc;cc.        aaa
aa aa ss ff
xx cc 11 22

Sumatorio de un campo de un fichero

awk '{s+=$5} END {print s}' /home/ubuntu/informes/temporal

En este caso se realiza un sumatorio del campo numero 5, del fichero temporal que se encuentra en la ruta /home/ubuntu/informes/temporal.