Comandos básicos en Linux
Hace mucho tiempo que no trabajaba con sistemas Linux y tenía olvidado por completo la sintaxis de comandos.
Es momento de refrescar conocimientos olvidados. Por un lado el procedimiento de instalación en un entorno virtualizado.
http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=416
Y por otro los comandos más importantes:
http://www.ajpdsoft.com/modules.php?name=news&file=article&sid=155
- Manejo de ficheros y carpetas: cd, pwd, ls, cp, mv, rm, mkdir
- Gestión de usuarios: adduser, passwd, addgroup
- Gestión de permisos: chmod, chownd
- Gestión del cliente de red (IP, DNS, DHCP): ifconfig,
- Para gestión de archivos comprimidos: tar, gzip, gunzip
- Para edición de ficheros: vi, nano
- Para gestión de procesos y sistema: dmesg, vmstat, ps
- Información de sistema: top, ifconfig
- Para elevación de privilegios: sudo
- Para ejecución de ShellScripts: sh
- Otros: halt, clear,
- Si deseas aprender en detalle estos y otros comandos de importancia para PaaSOS y Velneo continua leyendo.
Extraídos desde http://www.ajpdsoft.com/modules.php?name=news&file=article&sid=155:
COMANDO | DESCRIPCIÓN | EJEMPLO |
su nombre_usuario | Cambia el usuario actual a nombre_usuario (pedirá la contraseña del usuario con el que queramos iniciar la sesión) | su root |
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 |
kill -9 numero_proceso | Cierra el proceso especificado por el PID (numero_proceso) | 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 nombre_fichero_sh | Ejecuta el fichero de script especificado | sh prueba.sh |
./nombrefichero | Ejecuta la aplicación especificada | ./mysql |
apt-get install nombre_aplicacion | 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 nombre_fichero carpeta_destino | Copia uno o varios (*) ficheros a la carpeta especificada | cp * /usr/bin |
mv nombre_carpeta carpeta_destino | Mueve una carpeta/fichero al destino especificado, también sirve para renombrar ficheros/directorios | mv /home/alonso /etc |
apt-cache search dato_a_buscar | 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 nombre_usuario | Cambia la contraseña al usuario especificado | passwd alonso |
cat nombre_fichero | Muestra el contenido de un fichero (de texto) | cat /etc/mysql/my.cnf |
vi nombre_ficheroo nano nombre_fichero | Utilidad que sirve para modificar ficheros de texto plano | vi /etc/mysql/my.cnfonano/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 |
rm nombre_fichero | 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* |
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 |
man comando | Muestra ayuda sobre el comando especificado | man ifconfig |
cd nombre_directorio | Cambia del directorio actual al directorio especificado | cd /usr/bin |
mkdir nombre_directorio | Crea un directorio | mkdir prueba |
rmdir nombre_directorio | Elimina el directorio especificado (debe estar vacío) | rmdir prueba |
rm -r nombre_directorio | Elimina el directorio especificado y todo su contenido | rm -r prueba |
find expresion_busqueda | 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 |
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 |
chmod 777 nombre_archivo | Asigna al fichero nombre_archivo permisos del lectura, escritura y ejecución para el propietario, grupo e invitado | chmod 777 prueba |
chown nombre_usuario nombre_archivo | Cambia el propietario del archivo nombre_archivo a nombre_usuario | chown alonso prueba |
date –set=15:30 | Cambia la hora del sistema a las 15:30 | date –set=15:30 |
deluser nombre_usuario | Elimina el usuario nombre_usuario y todos sus archivos de configuración | deluser alonso |
echo $NOMBRE_VARIABLE | Muestra el valor de la variable de entorno especificada (nombre_variable) | 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 nombre_a_buscar* -exec rm {} ; | Busca todos los ficheros que comiencen por «nombre_a_buscar» y los ELIMINA | find / -name mysql* -exec rm {}; |
free | Muestra información sobre la memoria RAM y Swap (total, libre y ocupada) | free |
groups | Muestra los grupos de seguridad a los que pertenece el usuario actual | groups |
groupadd nombre_grupo | 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», renombrándolo 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 |
head nombre_fichero | Muestra las 10 primeras líneas del fichero nombre_fichero | head mysql |
history | Listado de los comandos utilizados por el usuario | history |
nombre_servicio -k restart | Reinicia el servicio nombre_servicio | httpd -k restart |
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 |
whois nombre_dominio | Muestra información del dominio especificado (fecha registro, fecha expiración, dns, …) | whois ajpdsoft.com |
wget direccion_ftp/nombre_fichero | Descarga el fichero nombre_fichero de la dirección ftp direccion_ftp. 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 nombre_grupo | Añade un nuevo grupo de seguridad | addgroup accesored |
useradd -g nombre_grupo nombre_usuario | 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 |
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 |
chgrp grupo archivo | Cambia el grupo del archivo especificado al grupo especificado | chgrp accesored mysql.cnf |
ifdown id_interface | Desactiva la tarjeta de red ‘id_interface’ | ifdown eth0 |
ifup id_interface | Desactiva la tarjeta de red ’id_interface‘ | ifup eth0 |
chkconfig | Muestra/Modifica el estado de los servicios del sistema en cada nivel de arranque (runlevel) | chkconfig –list dbora |
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» |
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_serviciostart/stop/restart | Inicia/para/reinicia el servicio especificado «nombre_servicio« | service dsmserv start |
export nombre_variable=valor | Cambia el valor de una variable de entorno | export $PATH=/home/oracle/bin |
echo nombre_variable | Muestra el valor de la variable de entorno nombre_variable | echo $PATH |
set | Muestra todas las variables de entorno shell y su valor | set |
hostname -i | Muestra la IP de la interfaz de red actual del equipo (normalmente eth0) | hostname -i |
ethtool id_interface | Muestra el estado actual de la interfaz de red indicada»id_interface« | ethtool eth0 |
ip addr add dir_ip brd + dev id_interface | Añade una nueva IP al interfaz de red indicado, en este caso «id_interface« | 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 |
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’ |
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 |
Espero os sea de utilidad… Si creéis que falta alguno no dudes en comentarlo.
Viendo esto me estas animando a sacar los libros que tengo sobre la administracion de sistemas Unix/Linux (Si los encuentro).
A lo mejor me animo xD
Anímate… «el saber no ocupa lugar» dice mi padre.