Saltar al contenido principal

Comandos Linux

sudo

Superuser do. Ejecuta los comandos posteriores como administrador. Hay que tener especial cuidado con este comando

Identificarse como root.

sudo -i

su

Cambia el usuario actual a superusuario

Cheatsheets

Comandos de Ayuda

man

Ejecuta el manual del comando proporcionado como argumento.

man top

Para salir pulsar q****

Para visualizar un manual en el entorno gráfico.

yelp man:cat

Si se desea añadir man en diferentes lenguajes podemos consultar el procedimiento descrito en: https://askubuntu.com/questions/1113648/linux-man-pages-in-different-languages

Recrear base de datos de manuales

sudo mandb -c

help

La mayoría de los comandos tienen un argumento para mostrar su ayuda. Para ello existe el argumento extendido --help y a veces su versión corta -h.

 cp --help

info

Ayuda GNU, contiene hipervínculos para navegar aunque esta un poco más desestructurada.

 info comando

history

Comando que recupera el historial de comandos introducidos.

 history

Borrar historial de history

 history -c

Ejecutar un comando listado en history.

 !21

Nota: Si ejecutamos un comando con un espacio delante no se almacena en el historial de history

Comandos de Información

more

Muestra un fichero en el terminal. Opciones limitadas de navegación. Sintaxis more [opciones] nombre_archivo

 more -c fichero.txt

Opciones: -c: Limpia la pantalla antes de mostrar el archivo. -e: Salir inmediatamente después de escribir la última línea del último archivo en la lista de argumentos. -n: Especifica cuántas líneas se muestran en la pantalla para un archivo dado. +n: Inicia el archivo desde la línea del número dado.

less

El comando less se usa para mostrar texto en la pantalla del terminal. Sólo muestra el texto del archivo dado. No se puede editar o manipular el texto. Para mostrar el archivo desde la línea especificada, se introduce el número de línea seguido de dos puntos (:). Permite el movimiento hacia adelante y hacia detrás en la navegación del archivo.

Sintaxis: less [opciones] nombre_de_archivo

 less -3 fichero1.txt

Opciones:

  • -c: Limpia la pantalla antes de mostrar.
  • +n: Inicia el archivo desde el número dado.
  • :p :Examina el archivo previo en la lista de línea de comandos.
  • :d :Elimina el archivo actual de la lista de archivos.

Muestra las primeras líneas de un fichero. Por defecto las 10 primeras.

 head fichero

tail

Muestra las últimas líneas de un fichero. Por defecto las 10 últimas.

 tail fichero

Para que el fichero se actualice para cada cambio podemos utilizar la opción -f (follow)

 tail -f fichero

+Info https://www.computerhope.com/unix/utail.htm

Comandos de navegación por el sistema de ficheros

cd

Cambia al directorio especificado.

 cd /directorio/subdirectorio/

Casos especiales

Ir al directorio raíz

 cd /

Cambiar subir un nivel en el árbol de directorios

 cd ..

Cambiar al directorio HOME (/home/nombredeusuario/)

 cd

o

 cd $HOME

Volver al directorio anterior Vuelve a la ruta anterior en la que nos encontrábamos

 cd -

ls

Lista los archivos y directorios contenidos en el directorio en el que se ejecuta el comando.

Argumentos habituales:

  • -l: Muestra los resultados como un listado
  • -a: Muestra todos los resultados incluyendo aquellos archivos y directorios ocultos
 ls -la

pwd

Print working directory Imprime en consola el directorio actual.

 bjlanza@kali:~$ pwd
/home/bjlanza/

tree

Muestra el árbol de directorios desde el directorio donde se ejecuta. No viene por defecto instalado en Kali Linux.

Instalación

 sudo apt install tree
 tree -L 1

tree_info

Comandos relativos a la gestión de la máquina

uname

Muestra información sobre el sistema operativo.

 sudo uname -a

shutdown

Para apagar la máquina.

 sudo shutdown -h now

halt

Alias del comando sudo shutdown -h now

 sudo halt

reboot

Reinicia la maquina.

 sudo reboot now

uptime

Muestra información sobre el tiempo que la maquina lleva encendida. También muestra información la carga de de los procesadores. (Load Average)

 sudo uptime

info_uptime

Comandos de edición de ficheros y carpetas

mv

Mueve un fichero de una localización a otra. También sirve para renombrar un fichero.

 mv archivoamover /ruta/destino/nombrecopia

cp

Copia los ficheros o directorios indicados en la ruta proporcionada.

 cp ficheroacopiar /ruta/fichero/copiafichero

rm

Remover o Borrar. Borra el fichero o directorio indicado.

 rm fichero

Para borrar un directorio podemos hacerlo con el comando rm pero debemos indicar que lo haga recursivo (-r), lo que borrara todos los ficheros contenidos en el directorio y para evitar problemas de permisos forzar el borrado (-f). Si queremos que nos pregunte para cada fichero indicamos el modo info (-i).

 rm /directorio/ -rf

mkdir

Make Directory. Crea un directorio con el nombre proporcionado en la ruta especificada.

 mkdir nombredirectorio
 mkdir /home/Kali/pruebas/

rmdir

Remove directory. Borra un directorio.

 rmdir nombredirectorio

touch

Crea un fichero con el nombre proporcionado

touch nombrefichero

Opciones

  • -t: Modifica la fecha de creación a la fecha proporcionada
 touch -t 202003041220:22

ln

Crea enlaces (accesos directos) Los enlaces pueden ser hard o soft. Si son hard crea una copia referenciada completa del fichero. Si son soft crea un enlace símbolico que apunta a la localización del fichero. Si el fichero referenciado cambia de localización el enlace se "rompe".

Ejemplo de creación de un enlace simbólico.

 ln -s /etc/init.d acceso_a_init.d

Diferencias entre soft y hard linksDiferencias entre soft y hard links

Comandos mostrar información

cat

Concatenar. El comando cat concatena archivos y los muestra en el salida estándar.

Sintaxis

cat [OPCIONES][ARCHIVO]...

 cat fichero

Opciones Cat

  • -A: Mostrar todo.
  • -b: Omitir los números de línea para los espacios en blanco en el salida.
  • -e: Un carácter $ se mostrará al final de cada línea anterior a una nueva línea.
  • -E: Muestra un $ (símbolo del dólar) al final de cada línea.
  • -n: Numera todas las líneas en el salida.
  • -s: Si el salida tiene múltiples líneas vacías las sustituye con una única línea vacía.
  • -T: Muestra los caracteres de tabulación en el salida.
  • -v: Los caracteres no mostrados (con la excepción de tabuladores, nuevas líneas y saltos de página) se muestran.

Crear un fichero nuevo o sobrescribir un fichero existente.

 cat>fichero1.txt

Añadir contenido a un fichero.

 cat>>fichero1.txt

Para concatenar varios ficheros.

 cat>>fichero1.txt fichero2.txt

Concatenar 2 ficheros y mostrarlos mediante less.

 cat>>fichero1.txt fichero2.txt | less

Concatenar 2 ficheros y mostrarlos mediante less.

 cat fichero1.txt fichero2.txt | less

Concatenar 2 ficheros y añadirlos a un tercero.

 cat fichero1.txt fichero2.txt >>fichero3.txt

tac

 tac fichero

echo

Muestra en terminal el objeto proporcionado, normalmente una variable.

 echo $PS1

stat

Muestra información de las estadísticas de un archivo.

 stat nombre de fichero

stats_info

diff

Muestra las diferencias línea a línea entre dos ficheros.

 diff fichero1 fichero2

Comandos de búsqueda

locate

Localiza consultando bases de registros del sistema donde se encuentran los ficheros. Por tanto hay que actualizar dichas bases de datos.

+Info https://www.howtoforge.com/linux-locate-command/

find

El comando Find busca los archivos y carpetas que concuerden con los parámetros de búsqueda, pudiendo realizar acciones sobre dichos comandos.

Opciones Find

  • -iname: Busca sin ser sensible a mayúsculas
  • -maxdepth: Busca hasta el nivel de profundidad máximo definido (Ex: -maxdepth 3)
  • -type: Busca ficheros o carpetas (Ex: _-type f)
  • -mtime: Especifica un rango temporal de la creación del fichero (Ex: _-mtime -1)

Ejemplos:

Borrar ficheros que se ajusten a un patrón de búsqueda.

 find . -maxdepth 1 -type f -iname "fichero?" -exec rm {} \;

Buscar todos los archivos que contengan office, descartando aquellos mensajes que presenten denied(al no poder entrar en dichos directorios) Los mensajes que se mostraban en el ouput de error pasarlos a la terminal normal.

 sudo find / -type f -iname “*office*” 2>&1 | grep -v denied

Buscar archivos modificados En el último minuto.

sudo find / -type f -mmin

-mtime -1 (busca archivos modificados en 24h) -mtime -3 (busca archivos modificados en 72h)

Comandos relativos a aplicaciones

which

Da la ruta donde se encuentra el binario de una aplicación.
info_which

whereis

Muestra donde se encuentra los ficheros referentes a una aplicación.

info_whereis

apt

Advance Package Tool - Herramienta avanzada de gestión de paquetes Herramienta de gestión de paquetes que utilizan las distribuciones de la familia debian. En la mayoría de las veces necesitaremos permisos de administrador por lo que ejecutaremos sudo.

update

Descarga y actualiza la lista de paquetes disponibles en los repositorios configurados.

 sudo apt update

upgrade

Actualiza los paquetes actualizables

 sudo apt upgrade

Para actualizar un paquete concreto, ejecutar:

 sudo apt upgrade paquete_aplicacion

install

Instala un paquete. Si tiene dependencias listadas también las instala.

 sudo apt install paquete_aplicacion

remove

Elimina un paquete concreto.

 sudo apt purge paquete_aplicacion

purge

Purga un paquete. Esto significa no solo borrar el paquete si no eliminar también todos los ficheros relacionados.

 sudo apt purge paquete_aplicacion

list

Listar paquetes que cumplan con ciertos criterios.

Listar todos los paquetes actualizables.

 sudo apt list --upgradable

Listar los paquetes instalados.

 sudo apt list --installed

Comprobar si una aplicación está instalada.

 sudo apt list --installed

+Info

Para más información https://codeburst.io/a-beginners-guide-to-using-apt-get-commands-in-linux-ubuntu-d5f102a56fc4

Comandos relativos a permisos

chmod

 chmod +rwx fichero
 chmod 777 fichero

Permisos octales

  • 4-r (Read) - Permisos de lectura
  • 2-w (Write) - Permisos de escritura
  • 1-x (eXecution) - Permisos de ejecución

permisos

PermisosBinarioDefinición
---0000sin acceso
--x0011ejecución
-w-0102escritura
-wx0113escritura y ejecución
r--1004lectura
r-x1015lectura y ejecución
rw-1106lectura y escritura
rwx1117lectura, escritura y ejecución

+Info Permisos Octales

https://desarrolloweb.com/articulos/tutorial-comando-chmod.html

chown

Change Owner. Cambia el propietario de un fichero.

 chown root fichero.txt

Comandos de rendimiento - gestión de procesos

top

 top

info_top

Para finalizar pulsar (control +c) Si se pulsa 1. Muestra información detallada para cada procesador.

IMPORTANTE Load Average (0.45 0.17 0.12)
Ultimo minuto | Últimos 5 minutos | Últimos 15 minutos

info_top

ps

Muestra información de los procesos activos.

 ps -aux

info_psaux

Jobs

Muestra los comandos ejecutándose en segundo plano.

 Jobs -l

kill

Conocido como matar el proceso, finaliza el proceso con el pID proporcionado

 kill 94848 -9

Para saber el id de un proceso realiza un ps -aux

 ps -aux

pstree

Muestra el árbol de ejecución de procesos.

 pstree

crontab

Programa que se encarga de ejecutar tareas periódicamente. Herramienta fundamental para un administrador.

+Info https://www.redeszone.net/2017/01/09/utilizar-cron-crontab-linux-programar-tareas/

Comandos utilidades

wc

Word Count. Cuenta las apariciones. Usado en conjunción a otros comandos. La opción -l (lines) cuenta el número de líneas.

 wc -l

Comandos relativos a la gestión de usuarios

id

Comando que muestra los grupos a los que pertenece nuestro usuario.

id

info_id

w

who. Comando que muestra quien tiene abierta una sesión en la máquina.

 w

info_who

who

Comando que muestra que sesión tenemos abierta como usuario.

 who

whoaim

Muestra el usuario con el que estamos conectados

bjlanza@kali:~$ whoami
bjlanza

Comandos relativos a redes

hostname

Muestra el nombre de la maquina en un entorno red.

 hostname

ping

Ejecuta un ping a la dirección IP especificada. En Linux el ping es continuo hasta que se cancele.

 ping 192.168.1.255

ifconfig

Muestra la información de los interfaces de red de la máquina. Actualmente este comando se ejecuta con otra sintaxis.

 ip a

info_ipa

netstat

Muestra un informe detallado de las conexiones establecidas por la máquina. Especificando puerto y servicio.

 netstat

netstat_info

wget

Utilidad que descarga el contenido de la dirección proporcionada.

 wget http://www.direccionweb.com

curl

Utilidad que descarga el contenido de la dirección proporcionada.

 curl http://www.direccionweb.com

Editores de texto

Gedit

Editor texto Linux

 gedit fichero

Nano

Nano es un editor de texto incorporado en las mayorías de las distribuciones de Linux. Si el fichero que se indica no existe, nano lo crea.

 nano fichero

info_nano

Para salir presionar control + X.

Vim

Editor de texto Linux.

Comandos criptografía

md5sum

Calcula y muestra el hash con el algoritmo md5 de un fichero.

 md5sum fichero

info_md5

sha256sum

Calcula y muestra el hash con el algoritmo SHA 256.

 md5sum fichero

sha256_info

Argumentos

  • -b, --binary: Lee el fichero en binario.
  • -c, --check: Lee el SHA256 sums del fichero y lo comprueba.
  • --tag: Crea un checksum estilo BSD
  • -t, --text: Lee el fichero en modo texto (por defecto)

Sintaxis

sha256sum [OPTION]... [FILE]

+Info sha256

https://www.computerhope.com/unix/sha256sum.htm

Grep

Gestión de terminales

tellinit

Cambia el RUNLEVEL del sistema

Salir del entorno gráfico

Sudo telinit 3

Arrancar entorno gráfico

Sudo telinit 35

+Info https://www.computerhope.com/unix/telinit.htm

Otros comandos

Volcado de datos de terminal

Realiza un volcado del trafico tcp

tcpdump -nli eth "port 443"