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.
Ready to boost your website’s growth? Our AI-powered tool brings targeted visitors using keywords with regional filters from continents to local areas.
Seeking higher revenue, vibrant users, or stronger online impact?
We customize it to fit your strategy. Enjoy a 7-day free trial period with no contract. Start here:
https://ow.ly/2EWF50WrhfS