Algunos comandos del shell de GNU Linux, descripción, ejemplos de uso
Listado de comandos de Linux con descripción y ejemplos.
COMANDO | DESCRIPCIÓN | EJEMPLO |
su nombreusuario | Cambia el usuario actual a nombreusuario (pedirá la contraseña del usuario con el que queramos iniciar la sesión) | su root |
route | Cuando se pierde la conectividad con un servidor al reiniciar las interfaces de red se recupera con este comando que reestablece la puerta de enlace. | route add default gw 87.235.204.1 |
ionice | Para lanzar ejecuciones y que afecte lo menos posible al rendimisnto de la máquina | ionice -c 3 -n 7 tar -cvvf fichero.tar /ruta/disco/ |
who -u | Muestra los usuarios conectados al sistema | who -u |
who -b | Muestra la fecha y hora del último reinicio del sistema | who -b |
ps -A | Muestra todos los procesos en ejecución y el identificador de proceso (PID) | ps -A |
ps -A | grep bash | Muestra todos los procesos que lleven la palabra "bash" | ps -A | grep bash |
ps -fu oracle | Muestra los procesos y los usuarios que los ejecutan en formato UNIX | ps -fu oracle |
ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS | Muestra los procesos ordenados por uso de memoria (los que más memoria usan al final) | ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS |
pstree | Procesos activos del sistema jerarquizados en forma de árbol | pstree |
screen | Para conectarse varios... a la misma consola Primero conecta uno y el otro hace: De haber más de una sesión: Cerrar la sesión de screen: Cerrar solo screen pero seguir en background Vver lista de screen en ejecución problemas de recuperar screen: | screen -x 4634.pts-5.isp screen -r 24284.pts-3.sistemas ctrl+d ctrl+a y seguidamente d screen -list screen -D id-sesion y luego screen -r id-sesion |
kill -9 numeroproceso | Cierra el proceso especificado por el PID (numeroproceso) | kill -9 745 |
ls -l | Lista los ficheros y directorios de la ubicación actual | ls -l |
ls -lSrh | Muestra una lista de los ficheros de una carpeta ordenados por tamaño (los más grandes al final) | ls -lSrh |
sh nombreficherosh | Ejecuta el fichero de script especificado | sh prueba.sh |
./nombrefichero | Ejecuta la aplicación especificada | ./mysql |
apt-get install nombreaplicacion | Instala la aplicación especificada (si se tiene conexión a Internet), sólo disponible en distribuciones Debian | apt-get install mysql-server |
apt-get update | Actualiza la base de datos de paquetes a actualizar o instalar a partir del fichero '/etc/apt/sources.list'. La base de datos la constituyen un conjunto de ficheros ubicados en '/var/lib/apt/lists/' | apt-get update |
apt-get upgrade | Actualiza todos los paquetes instalados en el sistema a la última versión disponible | apt-get upgrade |
apt-get install -f | Comprueba la correcta instalación de los paquetes descargados en '/var/cache/apt/archives/', repitiendo la instalación si fuese necesario o bajando algún paquete dependiente que no se haya descargado | apt-get install -f |
apt-get clean | Elimina todos los paquetes (.deb) descargados (almacenados automáticamente en '/var/cache/apt/archives/') | apt-get clean |
cp nombrefichero carpetadestino | Copia uno o varios (*) ficheros a la carpeta especificada | cp * /usr/bin |
mv nombrecarpeta carpetadestino | Mueve una carpeta/fichero al destino especificado, también sirve para renombrar ficheros/directorios | mv /home/alonso /etc |
apt-cache search datoabuscar | Busca una aplicación en la lista de aplicaciones a instalar (sólo distribuciones Debian) | ap-cache search mysql |
whoami | Muestra el usuario con el que se ha iniciado la sesión de terminal | whoami |
pwd | Muestra el directorio de trabajo actual | pwd |
ifconfig | Muestra la IP del pc y la configuración de red | ifconfig |
iwconfig | Muestra información de las tarjetas de red inalámbrica (wireless) que haya instaladas en el equipo | iwconfig wlan0 |
ping host | Realiza ping entre pcs | ping 192.168.1.5 |
ifconfig id_tarjeta down | Detiene los servicios de red de la tarjeta especificada (id_tarjeta) | ifconfig eth0 down |
ifconfig id_tarjeta up | Inicia los servicios de red de la tarjeta especificada (id_tarjeta) | ifconfig eth0 up |
route | Muestra información de la tabla de enrutación de la red | route |
route add default gw ip_puerta_enlace id_tarjeta | Añade como puerta de enlace (gateway) por defecto la indicada en ip_puerta_enlace | route add default gw 192.168.1.1 eth0 |
passwd nombreusuario | Cambia la contraseña al usuario especificado | passwd alonso |
cat nombrefichero | Muestra el contenido de un fichero (de texto) | cat /etc/mysql/my.cnf |
vi nombrefichero | Utililidad que sirve para modificar ficheros de texto plano:
| vi /etc/mysql/my.cnf |
sudo comando usuario | Ejecuta el comando especificado con los derechos del usuario especificado (pedirá la contraseña de este usuario) | sudo apt-get install mysql-server root |
du nombredirectorio -h -s | Muestra el tamaño de todos los subdirectorios del directorio especificado y el tamaño total del mismo .-h: Muestra el resultado en unidades entendibles por el usuario (Bytes, MB, GB, etc). -s: no muestra el tamaño de los subdirectorios, sí lo tiene en cuenta para el tamaño total de la carpeta | du -sh /home |
rm nombrefichero | Borra / elimina el fichero especificado | rm /home/alonso/hola.txt |
rm -f -v | Elimina uno o varios ficheros sin pedir confirmación (-f), mostrando los ficheros que va eliminando (-v) | rm -f -v fernando* |
shred -u nombre_fichero | Elimina un fichero de forma segura (ya no podrá ser recuperado). El comando "rm" no elimina ficheros completamente, podrían ser recuperados | shred -u "fernando alonso" |
rm -f -r -v nombre_carpeta | Elimina una carpeta completa y todas sus subcarpetas:-f: no pide confirmación al eliminar. -r: elimina recursivamente carpetas y subcarpetas y su contenido. -v: muestra el nombre de los ficheros y carpetas que va eliminando. | rm -f -r -v /home/alonso |
date | Muestra la hora y la fecha | date |
cal mes año | Muestra un calendario del mes y año especificados | cal 12 2005 |
man comando | Muestra ayuda sobre el comando especificado | man ifconfig |
cd nombredirectorio | Cambia del directorio actual al directorio especificado | cd /usr/bin |
mkdir nombredirectorio | Crea un directorio | mkdir prueba |
rmdir nombredirectorio | Elimina el directorio especificado (debe estar vacío) | rmdir prueba |
rm -r nombredirectorio | Elimina el directorio especificado y todo su contenido | rm -r prueba |
file nombrefichero | Muestra el tipo de archivo o directorio. Las posibles salidas:
| file cdrom |
find expresionbusqueda | Busca ficheros coincidentes con la expresión de búsqueda | find . -name "*mysql*" -print |
find -size +500000 | Muestra los ficheros de tamaño superior a 500 MB | find -size +500000 |
cksum nombrefichero | Muestra el CRC del fichero y el tamaño en bytes | cksum isoinfo |
grep MemTotal /proc/meminfo | Muestra la memoria RAM total del sistema | grep MemTotal /proc/meminfo |
grep SwapTotal /proc/meminfo | Muestra la cantidad de espacio swap del sistema (memoria de intercambio) | grep SwapTotal /proc/meminfo |
df -h | Muestra las unidades de disco, el tamaño y el espacio libre.-h: muestra el resultado en unidades entendibles por el usuario (M= Megabytes, G=Gigabytes, etc). | df -h |
df . -h | Muestra el espacio libre, ocupado y total del disco actual | df . -h |
uname -a | Muestra información del sistema. uname -a es equivalente a uname -snrvmpio, donde:
| uname -a |
arp | Muestra y modifica las tablas de conversión de direcciones IP en direcciones físicas que usa el protocolo de resolución de direcciones (ARP ó Address Resolution Protocol) | arp -i eth0 |
chmod 777 nombrearchivo | Asigna al fichero nombrearchivo permisos del lectura, escritura y ejecución para el propietario, grupo e invitado | chmod 777 prueba |
chown nombreusuario nombrearchivo | Cambia el propietario del archivo nombrearchivo a nombreusuario | chown alonso prueba |
date --set=15:30 | Cambia la hora del sistema a las 15:30 | date --set=15:30 |
deluser nombreusuario | Elimina el usuario nombreusuario y todos sus archivos de configuración | deluser alonso |
discover --xdriver video | Muestra el driver de la tarjeta de video | discover --xdriver video |
discover ethernet | Muestra el driver de la tarjeta de red | discover ethernet |
echo $NOMBREVARIABLE | Muestra el valor de la variable de entorno especificada (nombrevariable) | echo $HOSTNAME |
env | Muestra las variables de entorno definidas para el usuario actual | env |
fdisk -l | Muestra la estructura y tipo de particiones | fdisk -l |
find / -name mysql* -exec rm {} ; | Busca todos los ficheros que comiencen por "mysql" y los ELIMINA | find / -name mysql* -exec rm {}; |
free | Muestra información sobre la memoria RAM y Swap (total, libre y ocupada) | free |
fsck /dev/hda1 | Comprueba el sistema de ficheros de la partición hda1 | fsck /dev/hda1 |
gcc -o nombreprograma ficheroresultante.c | Compila "nombreprograma.c" y devuelve el ficheroresultante.c compilado | gcc -o prueba prueba.c |
groups | Muestra los grupos de seguridad a los que pertenece el usuario actual | groups |
groupadd nombregrupo | Añade un nuevo grupo de seguridad | groupadd leerayuda |
gunzip fichero.tar.gz | tar -xvf fichero.tar | Descomprime y desempaqueta el archivo 'fichero.tar.gz' | gunzip mysql.tar.gz | tar -xvf mysql.tar |
gzip fichero | Comprime el archivo "fichero", renomb?andolo a 'fichero.gz' | gzip mysql |
tar xvf fichero.tar | Desempaqueta el archivo "fichero.tar" | tar xvf oracle.tar |
tar -czvf fichero_tar ficheros_comprimir | Comprime/Empaqueta los ficheros especificados en "ficheros_comprimir" en el fichero "fichero_tar" | tar -czvf /tmp/prueba.tar /root/* |
tar -tzvf fichero_tar | Muestra el contenido del fichero "fichero_tar" (comprimido con "tar") | tar -tzvf /tmp/prueba.tar |
tar -tzvf /dev/st0 | Muestra el contenido del dispositivo de copia de seguridad "/dev"st0" | tar -tzvf /dev/st0 |
tar -czvf /dev/st0 | Descomprime el contenido del dispositivo de copia de seguridad "/dev/st0" en la ubicación donde se ejecute el comando | tar -czvf /dev/st0 |
head nombrefichero | Muestra las 10 primeras líneas del fichero nombrefichero | head mysql |
history | Listado de los comandos utilizados por el usuario | history |
nombreservicio -k restart | Reinicia el servicio nombreservicio | httpd -k restart |
ifdown eth0 | Para el servicio de red 'eth0' | ifdown eth0 |
ifup eth0 | Arranca el servicio de red 'eth0' | ifup eth0 |
netstat -a | Muestra los puertos abiertos | netstat -a |
netstat -atun | grep ESTAB | Muestra las conexiones establecidas a puertos determinados | netstat -atun | grep ESTAB |
type comando | Muestra la ubicación del comando especificado | type ifconfig |
mount -rt iso9660 /dev/hdc /cdrom | Monta la unidad de cdrom en modo sólo lectura (r), con sistema de ficheros (t) 'iso9660', en el dispositivo '/dev/hdc', disponible en el directorio '/cdrom' | mount -rt iso9660 /dev/hdc /cdrom |
mount -t msdos /dev/fd0 /floppy | Monta la unidad de disquete, con sistema de ficheros 'MS-DOS', en el dispositivo '/dev/fd0', disponible en el directorio '/floppy' | mount -t msdos /dev/fd0 /floppy |
umount /dispositivo | Desmonta el dispositivo especificado | umount /cdrom |
umount -a | Desmonta todas las unidades y dispositivos montados | umount -a |
wc nombrefichero | Muestra las líneas, palabras y caracteres del fichero especificado | wc prueba |
whois nombredominio | Muestra información del dominio especificado (fecha registro, fecha expiración, dns, ...) | whois ajpdsoft.com |
xvncviewer ip | Realiza control remoto al equipo con la IP especificada (deberá tener instalado y en ejecución vncserver). Permite el control remoto tanto con PCs con Linux como con PCs con Windows | xvncviewer 192.168.1.3 |
which comando | Localiza la ubicación del comando especificado | which ls |
wget direccionftp/nombrefichero | Descarga el fichero nombrefichero de la dirección ftp direccionftp. También sirve para conexión mediante http | wget ftp://ftp.ajpdsoft.com/j (en este caso el ftp debe soportar conexiones anónimas) |
addgroup nombregrupo | Añade un nuevo grupo de seguridad | addgroup accesored |
useradd -g nombregrupo nombreusuario | Añade un nuevo usuario con el nombre nombreusuario perteneciente al grupo nombregrupo | useradd -g root alonso |
tr 'A-Z' 'a-z' < fichero.txt | Convierte a minúsculas todos los caracteres del archivo 'fichero.txt' | tr 'A-Z' 'a-z' < prueba |
top | Muestra información de los procesos que se están ejecutando, uso de CPU, memoria, PID, ... con la característica de que se va actualizando cada 5 segundos o tras pulsar la barra espaciadora | top |
tail nombrefichero | Muestra las últimas diez líneas del fichero nombrefichero | tail my.cnf |
shutdown minutos 'mensaje' | Reinicia el sistema en los minutos especificados, previamente envía un mensaje a todos los usuarios conectados con el texto: mensaje | shutdown 15 'El sistema se reiniciará en 15 minutos, guarde su información' |
shutdown -h now | Apaga el sistema instantáneamente (equivalente a halt o init 0) | shutdown -h now |
shutdown -r now | Reiniciar el sistema instantáneamete (equivalente a reboot o init 6) | shutdown -r now |
shutdown -r hh:mm | Reinicia el equipo a la hora y minuto indicada | shutdown -r 20:00 |
cat /dev/hda > /dev/hdb | Copia todo el disco duro 'hda' en el disco duro 'hdb' | cat /dev/hda > /dev/hdb |
cat /dev/cdrom > /usr/fichero.iso | Crea la imagen ISO-9660 del CD-ROM introducido, con el nombre 'fichero.iso' en el directorio '/usr' | cat /dev/cdrom > /usr/fichero.iso |
chgrp grupo archivo | Cambia el grupo del archivo especificado al grupo especificado | chgrp accesored mysql.cnf |
sqlplus /nolog | Si tenemos Oracle instalado se conectará a la BD | sqlplus /nologconnect / as sysdba select status from v$instance |
hwbrowser& | Muestra el navegador de hardware (modo gráfico): discos duros, SCSI, CD-ROM, USB, Unidades de cinta, etc | hwbrowser& |
watch "comando" | Ejecuta repetidamente el comando entre comillas y muestra el resultado en pantalla | watch "du -s -h" |
whereis | Busca los archivos ejecutables, las fuentes y el manual de un comando | whereis lswhereis man |
ifdown eth0 | Desactiva la tarjeta de red especificada (eth0) | ifdown eth0 |
ifup eth0 | Activa la tarjeta de red especificada (eth0) | ifup eth0 |
chkconfig | Muestra/Modifica el estado de los servicios del sistema en cada nivel de arranque (runlevel) | chkconfig --list dbora |
modprobe | Añade/Elimina módulos del Kernel de Linux | modprobe qla2300 |
vmstat | Muestra estadísticas de uso de la memoria, cpu, lectuas/escrituras en disco, etc | watch "vmstat -s -S: M" |
free | Muestra estadísticas de uso de la memoria | watch "free -m" |
lsmod | Muestra el estado de los módulos en el Kernel de Linux | lsmod |
cd /etc/init.dls -l | En el directorio init.d se guardan todos los servicios instalados en el equipo, accediendo a este directorio y haciendo un ls -l se pueden ver | cd /etc/init.dls -l |
service nombre_servicio status | Muestra el estado del servicio especificado "nombre_servicio": stopped, se está ejecutando, ... | service dsmserv status |
service nombre_servicio start | Inicia el servicio especificado "nombre_servicio" | service dsmserv start |
service nombre_servicio stop | Detiene el servicio especificado "nombre_servicio" | service dsmserv stop |
service nombre_servicio restart | Reinicia el servicio especificado "nombre_servicio" | service dsmserv restart |
export nombrevariable=valor | Cambia el valor de una variable de entorno | export $PATH=/home/oracle/bin |
echo nombrevariable | Muestra el valor de la variable de entorno nombrevariable | echo $PATH |
set | Muestra todas las variables de entorno shell y su valor | set |
$ORACLE_HOME/bin/rman target=/ | Inicia el programa rman, para copias de seguridad de Oracle en caliente | $ORACLE_HOME/bin/rman target=/ |
hostname -i | Muestra la IP de la interfaz de red actual del equipo (normalmente eth0) | hostname -i |
ethtool eth0 | Muestra el estado actual de la interfaz de red indicada "eth0" | ethtool eth0 |
ethtool --change eth0 autoneg off speed 100 duplex full | Permite cambiar de forma manual la velocidad del interfaz de red indicado, en este caso "eth0" | ethtool --change eth0 autoneg off speed 100 duplex full |
ip addr add 192.168.1.100 brd + dev eth0 | Añade una nueva IP al interfaz de red indicado, en este caso "eth0" | ip addr add 192.168.1.100 brd + dev eth0 |
ip addr show | Muestra todas las direcciones de todas las interfaces de red del equipo | ip addr show |
cal -3 | Muestra un calendario del mes anterior, el actual y el siguiente a la fecha actual del equipo | cal -3 |
last reboot | Muestra las veces que el equipo se ha reiniciado, la fecha, la hora y el tipo de reinicio | last reboot |
head -n1 /etc/issue | Muestra el nombre y la versión de la distribución de GNU Linux instalada | head -n1 /etc/issue |
grep "model name" /proc/cpuinfo | Muestra el fabricante, el modelo y la velocidad del procesador (CPU) del equipo | grep "model name" /proc/cpuinfo |
hdparm -tT /dev/sda | Realiza un test para calcular la velocidad de transferencia del disco duro indicado | hdparm -tT /dev/sda |
alias comando | Permite asignar a un comando creado por nosotros mismos con el nombre que queramos la ejecución de otro comando Linux, por ejemplo, el siguiente comando Linux: alias listar='ls -lah' creará un nuevo "comando" llamado "listar" que cada vez que se ejecute será igual que si ejecutásemos el comando ls -lah | alias listar='ls -lah' |
lspci -tv | Muestra los dispositivos PCI (Peripheral Component Interconnect ) | lspci -tv |
lsusb -tv | Muestra los dispostivos USB, la ubicación, el bus, el puerto | lsusb -tv |
visudo | Muestra y permite editar (como si de vi se tratase) el fichero /etc/sudoers, donde se le indica a Linux qué usuarios podrán ejecutar comandos como si fuesen el superusuario root utilizando el comando "sudo" | visudo |
telnet IP Puerto | Realiza una conexión mediante Telnet al equipo indicado "IP" utilizando el puerto indicado "Puerto" | telnet 192.168.1.100 4899 |
nano nombre_fichero | Editor en modo texto más intuitivo y fácil de usar que vi | nano /etc/sudoers |
ftp | Realiza un conexión mediante el protocolo FTP a un servidor de FTP | ftp |
usermod -a -G nombre_grupo nombre_usuario | Agrega el usuario "nombre_usuario" al grupo de seguridad "nombre_grupo" | usermod -a -G dba root |
id nombre_usuario | Muestra el uid interno del usuario "nombre_usuario" y los grupos de seguridad a los que pertenece | id root |
adduser -u 0 -o -g 0 -G 0,1,2,3,4,6,10 -M nombre_usuario | Añade un nuevo usuario al sistema operativo como si se tratase del superusuario root (con los mismos permisos) | adduser -u 0 -o -g 0 -G 0,1,2,3,4,6,10 -M fernando |
crontab -e | Edita el fichero "crontab" (equivalente al programador de tareas de Windows). Permite agregar nuevas tareas programadas, modificar o eliminar las actuales | crontab -e |
init numero_nivel | Cambia el nivel de ejecución al indicado:
| init 5 |
runlevel | Muestra el nivel de ejecución anterior y el actual. Si no ha cambiado, mostrará "N" en el anterior | runlevel |
halt | Apaga el equipo. Comando equivalente a ejecutar: init 0 (más o menos). En realidad, lo que hace halt es comprobar si el sistema se está deteniendo (reiniciando o apagando) consultado el fichero /var/log/wtmp. Si no se está deteniendo ya lo apaga | halt |
poweroff | Apaga el equipo (equivalente a init 0, shutdown -h now, halt) | poweroff |
reboot | Reinicia el equipo (equivalente a shutdown -r now, init 6) | reboot |
| Cheats