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.
head
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
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
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
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.
whereis
Muestra donde se encuentra los ficheros referentes a una aplicación.
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 | Binario | Nº | Definición |
---|---|---|---|
--- | 000 | 0 | sin acceso |
--x | 001 | 1 | ejecución |
-w- | 010 | 2 | escritura |
-wx | 011 | 3 | escritura y ejecución |
r-- | 100 | 4 | lectura |
r-x | 101 | 5 | lectura y ejecución |
rw- | 110 | 6 | lectura y escritura |
rwx | 111 | 7 | lectura, 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
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
ps
Muestra información de los procesos activos.
ps -aux
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
w
who. Comando que muestra quien tiene abierta una sesión en la máquina.
w
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
netstat
Muestra un informe detallado de las conexiones establecidas por la máquina. Especificando puerto y servicio.
netstat
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
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
sha256sum
Calcula y muestra el hash con el algoritmo SHA 256.
md5sum fichero
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"