· Tutorial ·

Comandos básicos para usar en el terminal

En este manual aprenderás los comandos básicos para manejarte por el terminal de tu servidor Linux.

Antes de empezar con el tutorial, ¿no tienes un servidor Cloud Linux? ¡No te preocupes! Con solo un clic, puedes desplegarlo fácilmente con SW Hosting.

Tu Cloud SO desde 5,60$/mes

Sácale el máximo partido a tu proyecto con el Cloud que tiene los discos más rápidos y CPU de alto rendimiento.

cd

Como indican las siglas de su nombre, sirve para Cambiar de Directorio.

Para ir al la raíz del directorio:

cd /

Si queremos ir a un directorio en concreto:

cd mi_directorio/otro_directorio

Para ir al directorio anterior:

cd ..

ls

Con este comando obtendremos una "LISTA" de los directorios y/o archivos, sería como un DIR de MS-DOS:

ls

Puedes utilizar el *, que hará la función de comodín:

ls *.txt

Mostraría solo los archivos con la extensión .txt

uname

Al escribir uname en tu terminal verás información básica del sistema operativo.

uname

Si añadimos la opción -a veremos una información más extensa sobre el sistema.

uname -a

pwd

El comando pwd nos mostrará el directorio donde nos encontramos en este momento.

pwd

whoami

Con este comando, veremos el usuario con el que estamos trabajando en este momento.

whoami

whatis

Al escribir el comando whatis seguido de cualquier otro comando, se mostrará para que es usado este segundo comando. Por ejemplo, podemos saber la utilidad del comando ls ejecutando lo siguiente:

whatis ls

whereis

Este comando es parecido al anterior, ya que nos mostrará donde se encuentra el código fuente de un comando en concreto. Por ejemplo, podemos saber donde se encuentra el comando ls ejecutando lo siguiente:

whereis ls

mkdir

Con este comando podrás crear un directorio:

mkdir nuevo_directorio

rmdir

Al contrario que el anterior comando, este sirve para borrar directorios:

rmdir nuevo_directorio

mv

MV sirve para mover archivos, detrás del "comando" pondremos el archivo que queramos mover y el directorio de destino:

mv mi_archivo mi_directorio

rm

RM sirve para borrar archivos, si lo acompañamos de * borrará todos los archivos del directorio en que estés:

rm mi_archivo
rm *

clear

Este comando sirve para borrar la pantalla de terminal:

clear

También podemos utilizar la combinación de teclas CTRL + L para hacer la misma acción.

cp

CP de "COPY", sirve para copiar archivos y directorios:

cp archivo copia_archivo

Puedes hacer la copia en otro directorio:

cp archivo /directorio/sub_directorio

chmod

Con este comando podremos modificar los permisos de un archivo o directorio. Estos permisos pueden ser de lectura (r), escritura (w) y ejecución (x), y se aplican a tres tipos de usuarios: el propietario del archivo, el grupo al que pertenece el archivo y otros usuarios.

Tenemos dos formas de cambiar los permisos de un archivo o directorio usando este comando:

  1. Notación numérica

Podemos especificar los permisos de un archivo mediante un número de octal de tres dígitos, donde cada dígito representa los permisos para el propietario, el grupo y otros usuarios, respectivamente. Cada dígito se creará sumando el número al que pertenece cada tipo de permiso:

  • 4: Lectura
  • 2: Escritura
  • 1: Ejecución

Por ejemplo, si queremos que el propietario de un archivo tenga todos los permisos, mientras que el grupo y otros usuarios solo tengan permisos de lectura y ejecución, podemos utilizar el siguiente comando:

chmod 755 archivo
  1. Notación simbólica

Con este método, primero indicaremos a quien aplicaremos el cambio de permisos:

  • u: usuario propietario
  • g: grupo propietario
  • o: otros
  • a: todos

Seguidamente escogeremos una de las siguientes opciones:

  • +: Agrega permisos
  • -: Elimina permisos
  • =: Establece permisos específicos

Finalmente, deberemos especificar los permisos con las siguientes notaciones:

  • r: Leer
  • w: Escribir
  • x: Ejecutar

Por ejemplo, podemos añadir permiso de escritura al usuario y grupo propietario, y quitar permiso de lectura a otros usuarios con el siguiente comando:

chmod ug+w,o-r archivo

chown

Con el comando chown, podremos modificar el usuario y/o grupo propietario de un archivo o directorio. Por ejemplo, podemos asignar el usuario "usuario" y grupo "grupo" a un archivo con el siguiente comando:

chown usuario:grupo archivo

En caso de que queramos cambiar los propietarios de un directorio y todo su contenido recursivamente, podemos hacerlo utilizando la opción -R:

chown -R usuario:grupo directorio

touch

Este comando puede ser útil para cuando queremos crear un archivo vacío.

touch archivo.txt

Si utilizamos el comando touch sobre un archivo que ya existe, nos modificará su fecha de acceso y modificación a la actual.

ln

El comando ln creará un fichero el cual apuntará hacia el mismo bloque del sistema de ficheros que el archivo que indiquemos, por lo que tendrán el mismo número de inodo. Básicamente, se creará un acceso directo.

Por ejemplo, si tenemos un archivo con nombre archivo y queremos crear un acceso directo con nombre archivo_ad, podemos utilizar el siguiente comando:

ln archivo archivo_ad

cat

Es el comando utilizado por excelencia para mostrar el contenido de un archivo en Linux:

cat archivo.txt

less

Parecido al comando cat, pero en este caso se utilizará toda la terminal para mostrar el contenido de un archivo, permitiéndonos mover a través del archivo con las flechas del teclado o la barra espaciadora:

less archivo.txt

head

Otro comando para mostrar el contenido de un archivo, aunque en este caso solo se nos mostrarán las primeras 10 líneas:

head archivo.txt

Podemos indicar el número de líneas a mostrar con la opción -n seguida del número que queramos. Por ejemplo podemos mostrar las primeras 15 líneas con este comando:

head -n15 archivo.txt

tail

Es el comando contrario al head, pues nos mostrará las últimas 10 líneas de un archivo:

tail archivo.txt

Al igual que head, podemos mostrar el número de líneas que queramos especificándolo con la opción -n:

tail -n15 archivo.txt

Este comando tiene una opción muy interesante que nos permite ver en tiempo real las líneas que se añaden a nuestro fichero, esto lo podemos conseguir añadiendo -f a nuestro comando. Esta opción nos puede ser muy útil, por ejemplo, para poder leer un archivo de logs en tiempo real.

El comando quedaría de la siguiente forma:

tail -f log.txt

tar

El comando tar es muy utilizado para la compresión y descompresión de archivos y directorios en Linux.

Para comprimir, podemos utilizar las siguientes opciones:

  • c: Crea un nuevo archivo
  • v: Imprime por pantalla el progreso de la compresión
  • f: Se especifica el nombre del archivo

Imaginemos que en un directorio tenemos varios archivos de texto (.txt) que queremos comprimir en un solo archivo. Esto lo podríamos conseguir utilizando el siguiente comando:

tar cvf archivo.tar *.txt

Para descomprimir, deberemos utilizar esta nueva opción:

  • x: Extrae los ficheros del archivo comprimido

Esta vez, para descomprimir el archivo creado en el comando anterior, podríamos ejecutar lo siguiente:

tar xvf archivo.tar

grep

Este comando es usado para buscar un patrón dentro de un archivo de texto. Podríamos utilizarlo, por ejemplo, para mostrar las líneas de un archivo de logs donde aparezca solo una IP en concreto.

En el siguiente comando, estaríamos mostrando solo las líneas donde aparece la IP 1.2.3.4 dentro del archivo de logs log.txt:

grep '1.2.3.4' log.txt

sort

Como indica el nombre del comando sort, se utiliza para ordenar la salida de un archivo. Imaginemos que tenemos un archivo llamado numbers.txt con el siguiente contenido:

4
5
2
1
6
3

Si quisiéramos ver el archivo ordenado, podríamos utilizar el siguiente comando:

sort numbers.txt

Veremos como la salida recibida es la siguiente:

1
2
3
4
5
6

watch

Este comando se utiliza para ejecutar un programa o comando de forma periódica, mostrando la salida en pantalla completa en la terminal que estemos utilizando.

La utilización del comando sería el siguiente:

watch 'comando a ejecutar'

Por ejemplo, podríamos mostrar la memoria RAM libre y utilizada del servidor cada 5 segundos con el siguiente comando:

watch -n5 'free -m'

ssh

Con ssh podremos conectarnos de forma remota a un servidor utilizando un usuario en específico.

La utilización más básica de este comando es indicando el usuario y IP del servidor separados por el carácter '@':

ssh [email protected]

También podemos conectarnos a un puerto en específico con la opción -p, por ejemplo si nuestro servidor usa el puerto 2200 para el servicio ssh, ejecutaríamos el siguiente comando:

ssh -p 2200 [email protected]

service

El comando service nos será muy útil cuando tengamos que gestionar algún servicio de nuestro servidor. Las principales acciones que podemos hacer a un servicio con este comando son:

  • iniciar
  • parar
  • ver el estado actual
  • reiniciar
  • recargar

A continuación puedes ver ejemplos de como usaríamos el comando service para hacer las acciones que acabas de ver sobre el servicio mysql en ese mismo orden:

service mysql start
service mysql stop
service mysql status
service mysql restart
service mysql reload

ps

Este comando nos permitirá ver todos los procesos que están siendo ejecutados en nuestro sistema en ese momento por nuestro usuario:

ps

A este comando es muy común añadirle las opciones -e y -f. La primera nos permitirá ver todos los procesos que se están ejecutando por todos los usuarios del sistema. La segunda nos mostrará todos los procesos con mayor detalle:

ps -ef

df

DF indica el espacio en disco, el disponible, usado y total:

df -h

du

DU sirve para saber el espacio que ocupa un archivo a un directorio:

du /mi_directorio

Si lo que quieres es saber cuanto ocupan los archivos con una misma extensión (con -s), lo podrás saber:

du -s *.txt

find

Sirve para encontrar un archivo. Por defecto, el comando nos mostraría una lista de todos los directorios y archivos a partir del directorio donde nos encontremos:

find -name nombre_archivo

echo

Con echo podremos mostrar un texto por la pantalla. Por ejemplo, para mostrar Hello World haríamos así:

echo 'Hello World'

Suele ser común el querer redirigir la salida del comando echo hacia un archivo de texto, en este caso podríamos hacer:

echo 'Hello World' > archivo.txt

kill

Si algo no funciona, este comando te será de gran ayuda, primero tendremos qué saber que procesos se están ejecutando con:

kill -l

Luego miraremos el número del proceso que nos causa problemas y lo cerraremos:

kill -l 5

man

Con MAN seguido del comando que quieras, obtendrás la ayuda necesaria, así como diferentes combinaciones del comando en cuestión:

man du

sudo

Con sudo podremos ejecutar cualquier comando como usuario administrador (siempre que tengamos su contraseña). Por ejemplo para modificar un archivo protegido del usuario root haríamos lo siguiente:

sudo nano /root/archivo.txt

su

Sirve para cambiar de usuario, te pedirá la contraseña para realizar el cambio:

su otro_usuario

exit

Con este comando saldrás del terminal, cerrando el mismo:

exit

Recuerda que con las fechas (arriba y abajo) obtendrás un histórico de todo lo que has escrito en el terminal, de esta manera, te ahorrarás, volver a escribirlo.

Si no dispones aun de un servidor Cloud con sistema operativo Linux puedes desplegarlo fácilmente con SW Hosting.

Tu Cloud SO desde 5,60$/mes

Sácale el máximo partido a tu proyecto con el Cloud que tiene los discos más rápidos y CPU de alto rendimiento.

i