Comandos Linux

Ejemplos prácticos de algunos de los comandos linux esenciales. chmod, chown, chgrp, du, grep, locate, tail, ls ...

Sintaxis y buenas prácticas en Markdown

Comandos para administrar un servidor Linux

En este artículo veremos una selección de comandos linux, cada uno con algún ejemplo. Estos comandos son útiles para moverse por el sistema operativo y poder realizar tareas de forma rápida y eficaz.

* Con esta lista no se pretende mostrar (ni mucho menos) todos los comandos linux, sinó un recopilatorio de algunos de ellos y las formas más útiles o comunes de usarlos.

Para obtener ayuda detallada de estos y otros comandos ver el comando man de más abajo. Los comandos están ordenados alfabéticamente:

Comando Chmod

Este comando sirve para modificar permisos de archivos. Hay dos formas de usarlo:

chmod 777 miarchivo

O esta otra:

chmod g+x miarchivo

En el primer caso añadimos permisos de forma octal, mientras que en el segundo utilizamos la notación con letras. En el ejemplo añadimos el permiso ejecutar al grupo propietario del archivo. Podemos usar o+,o- para los otros usuarios, g+, g- para añadir o quitar permisos sobre el grupo, y u+, u- para los permisos del usuario propietario, seguidos de la letra r(read), w(write) o x(execute).

Comando Chown

Este comando sirve para cambiar el propietario de un archivo y se puede usar de la siguiente forma

chown -R nuevopropietario /rutadelarchivo

Comando Chgrp

El comando chgrp modifica el grupo propietario del archivo o directorio.

chgrp nuevogrupo /rutadelarchivo

Comando Du

Muestra el uso de disco de cada ARCHIVO y directorio (incluído sus subdirectorios).

du

Si se quiere ver sólo el tamaño total de todos los archivos y directorios de una carpeta se puede usar este comando:

du -ch | grep total

Comando Grep

Este es un comando indispensable. Sirve para buscar cadenas de texto dentro de un archivo o dentro de otra cadena. Por ejemplo estas tres instrucciones devolverán el número de directorios que hay en el directorio actual. (ls es para listar todos los archivos y directorios y wc -l para contar el número de líneas

ls -l | grep ^d | wc -l

En este otro ejemplo podemos ver el número de veces que está conectado el usuario root. Por ejemplo si tiene abiertas diferentes shells del sistema operativo a la vez. (who devuelve una cadena con todos los usuarios conectados)

who | grep root | wc -l

El comando grep soporta expresiones regulares y es lo que lo hace realmente potente, aunque siempre que se añaden expresiones regulares la cosa se complica. Supongamos que tenemos un fichero llamado archivo_prueba con los siguientes datos:

dir 15kb 27/07/2007
archivo 27kb 26/07/2007
dualco 1kb 26/07/2007

Y sólo queremos que nos muestre las líneas que empiezan por la letra d. Esta sería la solución con el comando grep usando expresiones regulares.

grep \\'^[d]\\' archivo_prueba

Comando Head

Devuelve las primeras líneas de un texto dado. Este ejemplo devolvería las primeras 10 líneas del archivo.

head -n 10 archivo.c

Comando Kill

Este comando es muy útil para detener un proceso. Normalmente se utiliza el comando ps para buscar el PID (Process id o número identificador de proceso) y luego kill para 'matarlo'

kill 174541

Donde este número es el PID del proceso.

En algunas ocasiones usando este comando el proceso no se detendrá. En este caso podemos usar el parámetro -9 para darle más prioridad

kill -9 174541

Comando Locate

Este comando sirve para localizar la ruta de un archivo en linux para saber dónde está guardado. Puede ser más rápido que find ya que almacena las rutas en una base de datos. Es especialmente útil cuando se conoce el nombre del programa pero no se recuerda la ruta.

Es necesario actualizar el índice con el comando updatedb para que reindexe los archivos nuevos.

updatedb
locate archivo

Si sólo se quieren mostrar 5 resultados se puede utilizar esta instrucción:

locate "\*.h" -n 5

Comando ls

Comando indispensable. Sirve para listar los archivos y directorios de una carpeta.

ls /home/root/

Los parámetros más usados para esta función son posiblemente "-la". Ya que muestra información detallada sobre cada archivo y directorio (incluso los archivos ocultos):

ls -la /home/root/

Comando man

Este comando se utiliza para llamar al Manual de Linux y preguntarle sobre un comando en concreto.

man NOMBRECOMANDO

Si el NOMBRECOMANDO existe, se nos abrirá la aplicación MAN con toda la información referente a ese comando, todas sus opciones y explicaciones. Este es un comando imprescindible para profundizar en el uso de Linux.

Una vez se entra dentro de la aplicación man, se puede salir pulsando la tecla ESC y luego escribiendo :q

Algunos comandos aceptan el parámetro --help para mostrarnos información de sus opciones. Podemos usar este método para no tener que llamar a man.

NOMBRECOMANDO --help

Comando Tail

Este comando sirve para visualizar la parte final de un documento (en inglés tail signifia cola). Se puede usar en muchos casos, por ejemplo, supongamos que tenemos un log de errores del servidor web Apache que ocupa varios GB. Mostrarlo usando el comando cat error_log no sería una buena idea, y menos si lo único que queremos es ver un error reciente que está en las últimas líneas del fichero. En este caso esta instrucción nos vendría muy bien para que nos mostrara por pantalla las últimas 50 líneas del archivo error_log.

tail error_log -n 50

Comando ps

El comando ps nos da una instantánea de todos los procesos que se están ejecutando en un momento determinado. Ver comando Top para mostrar los procesos en tiempo real.

Aunque hay muchas opciones para filtrar y ordenar los procesos que muestra este comando, posiblemente la que más se usa suele ser

ps aux

Con estos parámetros se formatean los procesos mostrándo los atributos más importantes. Muchas veces se suele usar este comando junto con grep para encontrar un proceso en concreto

ps aux | grep "nombredelproceso"

Para detener un proceso se usa el comando Kill, también explicado en esta página.

Comando Top

Muestra toda la actividad de los procesos que se están ejecutando en tiempo real. Así como información varia del sistema, uptime, memoria, etc

top

Para detener el comando pulsar control+c.

Tiene multitud de opciones para ordenarlo según nuestras preferencias. Si mientras se está ejecutando se pulsa la tecla shift+m se ordena por los procesos que ocupan más memoria.

Comando Uptime

Muestra el tiempo que ha transcurrido desde que el sistema se abrió.

uptime

Además también muestra los usuarios que estan connectados al equipo en ese instante y las medias de carga en los últimos 1, 5 y 15 minutos.