19.3. Resumen de los comandos más importantes de Linux

En este apartado le ofrecemos un resumen de los comandos más importantes de su sistema SUSE LINUX. Además del significado básico de cada comando, describimos algunos de los parámetros y, si es pertinente, un ejemplo típico de uso. Para obtener más información sobre los diferentes comandos, utilice el comando man seguido del nombre del comando, por ejemplo: man ls.

En estas páginas del manual (manual pages) puede desplazarse hacia arriba y hacia abajo con las teclas de desplazamiento Re. Pág. y Av. Pág.; al inicio o final del documento con las teclas Inicio y Fin. Para salir de este modo de visualización pulse la tecla Q. Ejecutando el comando man man puede obtener más información sobre el propio comando man.

Para obtener información adicional sobre los diferentes programas de la línea de comandos, le recomendamos encarecidamente el libro Linux in a Nutshell publicado por la editorial O'Reilly. En el siguiente resumen se utilizan diferentes formatos de texto para diferenciar las distintas partes que forman un comando.

Tendrá que adaptar las especificaciones a sus propias necesidades. No tiene sentido escribir ls archivo(s) si no existe en realidad ningún archivo de nombre archivo(s). Por lo general puede combinar más de un parámetro, escribiendo por ejemplo ls -la en lugar de ls -l -a.

19.3.1. Comandos del sistema

El siguiente apartado menciona los comandos más importantes para la gestión de archivos, desde la administración general de archivos hasta la manipulación de las listas de control de acceso (ACL) al sistema de ficheros.

19.3.1.1. Administración de archivos

ls [opcion(es)] [archivo(s)]

Si introduce ls sin más datos ni parámetros, podrá ver un listado resumido con el contenido del directorio en el que se encuentre en ese momento.

-l

Lista detallada.

-a

Muestra los archivos ocultos.

cp [opción(es)] original copia

Crea una copia de original en copia.

-i

Espera una confirmación antes de sobreescribir una copia existente.

-r

Copia recursiva (incluyendo subdirectorios).

mv [opción(es)] origen destino

Hace una copia de origen en destino y a continuación borra el archivo original.

-b

Crea una copia de seguridad antes de desplazar origen.

-i

Espera una confirmación antes de sobreescribir un archivo_destino existente.

rm [opcion(es)] archivo(s)

Borra el archivo(s) indicado del sistema de archivos. Los directorios no serán borrados con el comando rm a menos que se haya especificado de forma explícita a través del parámetro -r.

-r

Borra, si existen, los subdirectorios existentes.

-i

Espera una confirmación antes de borrar cada uno de los archivos.

ln [opción(es)] origen destino

Crea un enlace (link) interno de origen a destino. Normalmente este enlace apunta directamente a la posición de destino dentro del mismo sistema de archivos. Si por el contrario se ejecuta el comando ln con la opción -s, se creará un enlace simbólico que apuntará exclusivamente a la rama de destino y que por esa razón se podrá usar fuera de los límites del sistema de archivos.

-s

Crea un enlace simbólico.

cd [opción(es)] directorio

Cambia el directorio actual. Si sólo se introduce cd, se desplazará al directorio home.

mkdir [opción(es)] directorio

Crea un directorio nuevo.

rmdir [opcion(es)] directorio

Borra el directorio, pero sólo si está vacío.

chown [opcion(es)] nombre_usuario[:[grupo]]archivo(s)

Cambia el dueño de un archivo, otorgándole la propiedad a nombre_usuario.

-R

Cambia los archivos y directorios en todos los subdirectorios.

chgrp [opcion(es)] nombre_grupo archivo(s)

Cambia el nombre del grupo al que pertenece el archivo por nombre_grupo. El dueño del archivo sólo puede cambiar este valor si pertenece tanto al grupo al que pertenecía el archivo hasta ahora como al nuevo grupo al que pertenecerá en adelante.

chmod [opciones] modo archivo(s)

Cambia los permisos de acceso a uno o varios archivos.

El parámetro modo tiene tres partes: grupo, acceso y tipo de acceso. grupo acepta los siguientes caracteres:

u

para el usuario user,

g

para el grupo group,

o

para todos los demás: others.

+ y - se utilizan para permitir o denegar el acceso, de manera que: el símbolo + permitirá el acceso y el símbolo - lo denegará.

Los tipos de acceso son controlados por las siguientes opciones:

r

para lectura read,

w

para escritura write,

x

Ejecutar archivos o cambiar de directorio eXecute.

s

Set uid-Bit; el programa se ejecutará con los privilegios del propietario del archivo

Una alternativa es el uso del código de cifras. Cada uno de los cuatro dígitos de este código se compone de la suma de los valores 4, 2 y 1. La primera posición ocupa el atributo set user ID (4) y/o set group ID (2) y/o el atributo sticky- (1). La segunda posición determina los derechos del dueño del archivo, la tercera los derechos de los miembros del grupo y el último valor determina los derechos para todos los demás usuarios. El derecho de lectura se representa por el valor 4, el derecho de escritura por el valor 2 y el derecho de ejecución por el valor 1. El dueño de un archivo recibe habitualmente el valor 6 o 7 en caso de un archivo ejecutable.

gzip [parámetros] archivo(s)

Este programa comprime el contenido de archivos mediante unos complicados procesos matemáticos. El nombre del archivo comprimido termina con .gz y se debe descomprimir antes de ser usado nuevamente. Si desea comprimir más de un archivo o directorios completos, deberá usar además el comando tar.

-d

Descomprime el archivo comprimido gzip, recuperando este su tamaño original y pudiendo volver a ser utilizado de forma normal (corresponde al comando gunzip).

tar opciones nombre_paquete archivo(s)

El comando tar agrupa uno o (normalmente) más archivos en un llamado paquete, que luego se puede por ejemplo comprimir.

tar es un comando muy complejo que ofrece una gran cantidad de opciones. A continuación le enseñamos algunas de las combinaciones más usadas.

-f

La información generada por el proceso se escribe en un archivo y no se muestra en la pantalla, como está previsto por defecto (file).

-c

Crea un nuevo archivo tar (create).

-r

Agrega archivos a un paquete existente.

-t

Muestra el contenido de un paquete.

-u

Agrega archivos al paquete, pero sólo si estos son más recientes que los existentes.

-x

Desempaqueta archivos de un paquete (extrae)

-z

Comprime con gzip el paquete generado.

-j

Comprime con bzip2 el paquete generado.

-v

Da los nombres de los archivos procesados.

Los archivos creados mediante tar terminan en .tar. Cuando el archivo tar ha sido además comprimido con gzip, la terminación será .tar.gz, con bzip2, será .tar.bz2. Encontrará aplicaciones de ejemplo en la Sección 19.1.8, “Archivar y comprimir datos”.

locate prueba

Solo dispone de este comando, si el paquete findutils-locate está instalado. Con el comando locate se puede averiguar en qué directorio se encuentra el archivo especificado. Para ello también se puede usar los Comodines. El programa trabaja muy rápido ya que no busca en el sistema de archivos, sino en una base de datos propia creada a tal efecto. Este es el mayor problema de estos comandos rápidos, ya que los archivos creados posteriormente a la última actualización de esta base de datos no se tienen en cuenta.

Como root puede crear esta base de datos usando el comando updatedb.

updatedb [opción(es)]

Con este comando se puede actualizar de forma sencilla la base de datos requerida por locate. Para conseguir que todos los archivos se tengan en cuenta, se debe ejecutar el comando como root. También es posible, añadiendo al final del comando el símbolo &, que el programa se ejecute en segundo plano y así poder seguir trabajando mientras se produce la actualización. (updatedb &). Habitualmente este comando se ejecuta como tarea cron diaria (ver cron.daily).

find [opcion(es)]

Con el comando find puede buscar un archivo en un determinado directorio. El primer argumento representa el directorio desde el que debe comenzar la búsqueda. La opción -name requiere una cadena de búsqueda en la que también se permite el uso de Comodines. Al contrario que locate, find busca en el directorio especificado, no en una base de datos.

19.3.1.2. Comandos para visualizar contenidos

cat [opcion(es)] archivo(s)

Con el comando cat se ve el contenido del archivo elegido sin interrupciones.

-n

Numera el texto en el borde izquierdo.

less [opcion(es)] archivo(s)

Con este comando se puede examinar el contenido del archivo elegido. Por ejemplo puede subir y bajar media hoja de pantalla con las teclas Av. Pág. y Re. Pág. con la tecla espaciadora hasta una página entera hacia adelante. También puede desplazarse al comienzo y al final del texto con las teclas Inicio y Fin. Y con la tecla Q puede cerrar este modo de visualización.

grep [opción(es)] término_búsqueda archivo(s)

grep está pensado para buscar un determinado término de búsqueda en el archivo(s) elegido. Si la búsqueda se ha realizado con éxito, el programa mostrará la línea en la que se ha encontrado el término de búsqueda así como el nombre del archivo.

-i

Ignora las diferencias entre mayúsculas y minúsculas.

-l

Da sólo el nombre del archivo correspondiente y no el número de línea.

-n

Numera además las líneas donde se encontró el texto buscado.

-l

Da una lista de los archivos que no contengan el término de búsqueda.

diff [opcion(es)] archivo1 archivo2

diff fue creado para comparar el contenido de dos archivos cualesquiera y mostrar en una lista las líneas en las que se hayan detectado diferencias.

Los programadores utilizan con frecuencia este comando para enviar los cambios realizados en sus programas sin necesidad de enviar todo el texto fuente.

-q

Indica tan sólo si existen diferencias entre el contenido de los dos archivos seleccionados.

-u

Produce un resultado “unificado” para ser más legible

19.3.1.3. Sistema de archivos

mount [opcion(es)] [dispositivo] punto_de_montaje

Con ayuda de este comando se puede montar diferentes dispositivos de almacenamiento. Con ello se entiende la unión de discos duros, CD-ROM y otras unidades de disco con un directorio del sistema de archivos Linux.

-r

monta el dispositivo como sólo lectura (read only).

-t sistema de archivos

Especifica el sistema de archivos. Los más comunes son: ext2 para discos duros de Linux, msdos para dispositivos MS-DOS, vfat para sistema de archivos de particiones Windows y iso9660 para CDs.

En el caso de unidades que no estén definidas en el archivo /etc/fstab, se deberá también especificar el tipo de dispositivo. En este caso, sólo root podrá montarlo. Para que el sistema de archivos pueda ser montado por otros usuarios, introduzca la opción user en la línea correspondiente del archivo/etc/fstab (separado por comas) y guarde los cambios. Para más información, diríjase a mount(1).

umount [opcion(es)] punto_montaje

Con este comando se desmonta una unidad de disco del sistema de archivos. Ejecute este comando antes de retirar un medio de almacenamiento de la unidad de discos. ¡De lo contrario se expone a una pérdida de datos! Por norma general, tanto el comando mount como el comando umount sólo pueden ser ejecutados por root. Excepción: Cuando, para el dispositivo, aparece la opción user en el archivo /etc/fstab.

19.3.2. Comandos del sistema

El siguiente apartado contiene una lista de algunos de los comandos más importantes que sirven para obtener información del sistema, de procesos y de la red.

19.3.2.1. Información

df [opcion(es)] [directorio]

Si se ejecuta el comando df disk free sin ninguna opción, se nos dará una estadística sobre el espacio total, el ocupado y el libre de todas las unidades de disco montadas. Si por el contrario se introduce un directorio, se mostrarán sólo las estadísticas de la unidad de disco que incluye dicho directorio.

-h

Nos enseña el número de bloques ocupados en gigabytes, megabytes o kilobytes—de forma legible para el ser humano.

-T

Tipo de unidad (ext2, nfs, etc.).

du [opcion(es)] [ruta]

Este comando, usado sin opciones, indica el espacio total de almacenamiento utilizado por todos los archivos del directorio en el que nos encontremos. Si existen subdirectorios en él, también se indicará su tamaño total.

-a

Indica el tamaño de cada uno de los archivos.

-h

Listado en forma legible para el ser humano.

-s

Nos enseña tan sólo el tamaño total.

free [opcion(es)]

free nos muestra el tamaño total y el usado de memoria física y de intercambio.

-b

Indicado en bytes.

-k

Indicado en kilobytes.

-m

Indicado en megabytes.

date [opcion(es)]

Ejecutando este pequeño programa, se nos informará de la hora del sistema. Además, el usuario root puede modificar con este comando la hora del sistema. Encontrará más detalles en man date(1).

19.3.2.2. Procesos

top[opcion(es)]

Por medio de top se obtiene una lista rápida de todos los Procesos que se estén ejecutando. Pulsando la tecla H se le enseñara una página con aclaraciones y con las opciones más importantes para adaptar este programa a sus necesidades.

ps [opcion(es)] [proceso-ID]

Si se ejecuta sin opciones se mostrarán en una tabla todos los procesos propios, es decir, todos los programas y procesos que haya inicializado uno mismo. Tenga cuidado al usar las opciones de este comando; pues no se debe anteponer un guión.

aux

Proporciona una lista detallada de todos los procesos sin tener en cuenta el dueño.

kill [opcion(es)] ID_proceso

A veces, desafortunadamente, nos encontramos con programas que no se pueden cerrar de forma normal. El comando kill permite eliminar todos los procesos que se han colgado con ayuda del ID del proceso en cuestión (ver top y ps).

Para ello envía una señal llamada TERM que ordena al programa cerrarse a sí mismo. Si esto tampoco sirve tenemos aún otro parámetro de gran ayuda:

-9

En lugar de una señal tipo TERM, envía una señal tipo KILL, lo que ocasiona que el proceso sea liquidado por el sistema operativo, consiguiendo en casi todos los casos que el proceso especificado se termine.

killall [opcion(es)] nombre_proceso

Este comando funciona de forma equivalente a kill, sólo que para este comando basta con dar el nombre del proceso - y no su ID - para matar todos los procesos que tengan ese nombre.

19.3.2.3. Red

ping [opcion(es)] nombre_ordenador o dirección_IP

ping es el comando por excelencia para comprobar que las funciones básicas de una red TCP/IP funcionan correctamente. La herramienta manda a otro ordenador un pequeño paquete de datos, ordenándole que una vez recibido lo devuelva de inmediato. Si esto funciona, ping se lo indicará con un mensaje, con lo que se asegura la capacidad de transmisión básica de la red.

-c

número: determina el número total de paquetes enviados, tras lo cual el programa se cierra (por defecto no hay límite).

-f

Flood (desbordamiento) ping: envía tantos paquetes de datos como sea posible. Comando usado para probar al límite la capacidad de una red, pero que sin embargo sólo puede ser ejecutado por root.

-i

valor: segundos transcurridos entre el envío de dos paquetes de datos; el valor predeterminado es un segundo.

nslookup

Para transformar nombres de dominios en direcciones IP existe el denominado Domain Name System. Con esta herramienta puede dirigir preguntas al servicio de información correspondiente (servidor DNS).

telnet [opcion(es)] nombre_ordenador o dirección_IP [Puerto]

Telnet es un protocolo de Internet que permite trabajar en otros ordenadores de la red de forma remota. No obstante, Telnet es también el nombre de un programa Linux que utiliza este mismo protocolo para permitir el trabajo con otras máquinas sin tener que estar sentado delante de ellas.

[Warning]Aviso

Procure no utilizar Telnet en redes en las que pueda ser espiado por terceros. En Internet se deberían usar sobre todo métodos de transmisión cifrados como por ejemplo ssh y así impedir el peligro que conlleva el uso malintencionado de su contraseña (ver ssh).

19.3.2.4. Otros

passwd [opcion(es)] [nombredeusuario]

Con este comando, cada usuario tiene en todo momento la posibilidad de cambiar su propia contraseña. El superusuario root tiene además permiso para cambiar la contraseña de cualquier usuario.

su [opcion(es)] [nombredeusuario]

su permite cambiar el login del usuario durante una sesión. Una vez introducida la contraseña se obtendrán todos los derechos del superusuario. También se puede usar el entorno de otro usuario introduciendo detrás del comando el nombre del usuario y posteriormente la contraseña correcta del mismo. root no necesita introducir esta contraseña. Es decir, con los derechos de superusuario se puede asumir sin problemas la identidad de cualquier usuario. Si se utiliza el comando sin especificar un nombre de usuario, se le pide la contraseña de root. Ahora puede trabajar como superusuario (root).

halt [opcion(es)]

Para evitar la pérdida de datos siempre debería utilizar este programa para apagar el ordenador.

reboot [opcion(es)]

Funciona como el comando halt, pero el ordenador se volverá a iniciar tras apagarse.

clear

De vez en cuando ocurre que la consola está tan llena de líneas de texto que una limpieza no le iría nada mal. Este comando se usa justamente para eso y no tiene ninguna opción.


SUSE LINUX Manual de usuario 9.3