next up previous
Next: Shell Up: Curso de GNU/Linux para Previous: Conceptos Generales

Subsecciones

Recorrido por el sistema

Vamos a ver algunos comandos básicos de todo UNIX, que nos permitirán familiarizarnos con el sistema. Para poder utilizar estos comandos ya debemos haber iniciado la sesión.

Cuando hemos iniciado la sesión estaremos delante de un prompt (solicitud), que es la línea de comandos de UNIX. El formato de este prompt será similar a: user@anteojito:~$.

La mayoría de estos comandos son herramientas simples, que realizan una sola tarea. Más adelante aprenderemos como combinar lo que hacen dos o más herramientas para lograr un resultado más interesante.

Algunos de estos comandos pueden recibir opciones o parámetros, que pueden hacerlos realizar tareas diferentes. En UNIX, casi todas las opciones que reciba un comando estarán precedidas por el caracter -, y pueden combinarse según sea necesario.

Es importante notar que UNIX es sensible a las mayúsculas y minúsculas (case sensitive), de forma que si queremos obtener la salida correcta es necesario escribir los comandos que aquí se explican tal cual se presentan (casi siempre en minúsculas).

Comandos Sencillos

date

Ejecutando el comando date obtendremos la fecha y la hora actual. También es el comando que se usa para cambiar la fecha de la máquina.

who

El comando who nos permite ver los usuarios que están utilizando el sistema, incluyendo la fecha en la que se conectaron al sistema.

Además, una versión alternativa (who am i) nos muestra únicamente nuestra conexión.

uptime

Podemos ver cuánto tiempo hace que se ha iniciado el sistema de nuestra computadora ejecutando el comando uptime. También obtendremos alguna información adicional, como la cantidad de usuarios que están utilizando el sistema, o la carga promedio que tiene el procesador.

clear

El comando clear sirve para limpiar la pantalla. Es equivalente al cls de DOS.

echo

echo es un comando muy sencillo. Lo que hace es repetir todo lo que recibe por línea de comandos. Si ejecutamos: echo Hola obtendremos la salida Hola.

A pesar de parecer inútil, este comando nos será de bastante utilidad cuando aprendamos más sobre el intérprete de comandos del sistema.

Comandos relacionados con archivos y directorios

pwd

El comando pwd es muy sencillo, nos muestra la ruta de directorios en la que estamos situados en este momento. Por ejemplo, /home/user.

ls

Para listar los archivos dentro de un determinado directorio utilizaremos el comando ls. El equivalente en DOS es 'dir'.

Si ejecutamos ls sin ninguna opción, nos listará los archivos del directorio actual. Si, en cambio, ejecutamos ls directorio, nos listará los archivos de ese directorio.

Puede recibir varias opciones:

Estas opciones pueden combinarse, utilizando un solo signo '-', por ejemplo: ls -lat.

touch

El comando touch archivo puede tener dos consecuencias: si archivo no existe aún, lo crea con tamaño 0 y como propiedad de nuestro usuario. Por otro lado, si archivo ya existe, actualiza la fecha de modificación.

cp

El comando cp es el que se utiliza para copiar archivos.

Si escribimos cp viejo nuevo, copiaremos el archivo viejo con el nombre nuevo. Es decir, el archivo origen se escribe primero y a continuación el archivo que se va a crear. Una vez hecha la copia, tendremos dos archivos diferentes, con el mismo contenido.

Por otro lado, también podemos ejecutar cp archivo1 archivo2 directorio, de forma que los archivos archivo1 y archivo2 se copiarán dentro de directorio.

mv

Muy similar a cp, el comando mv es el que se utiliza para mover archivos de un lugar a otro, o para cambiarle el nombre a un archivo. Si ejecutamos, mv viejo nuevo, el archivo viejo habrá pasado a llamarse nuevo.

Por otro lado, si ejecutamos mv archivo1 archivo2 directorio, los archivos archivo1 y archivo2 se moverán dentro de directorio.

rm

Para borrar archivos utilizamos el comando rm. Hay que usarlo cuidadosamente, porque una vez que los archivos han sido borrados, no pueden recuperarse de ninguna forma.

Si deseamos que rm nos pregunte si queremos borrar o no un archivo, debemos utilizar la opción -i, mientras que si deseamos que no nos pregunte utilizamos la opción -f. Dependerá de la configuración del sistema cual de estas dos opciones es la que está seleccionada por omisión.

mkdir

Utilizamos el comando mkdir directorio para crear directorios. Pueden utilizarse rutas absolutas o relativas. Es decir que si queremos crear el directorio /home/user/temp, y estamos situados dentro del directorio /home/user, podremos ejecutar mkdir temp o mkdir /home/user/temp indistintamente.

rmdir

Para borrar directorios utilizamos el comando rmdir directorio. Solamente funcionará si el directorio está vacío. En caso contrario, habrá que borrar primero los archivos, para luego borrar el directorio.

cd

El comando cd nos permite cambiar de directorio, igual que en DOS.

Por ejemplo, cd / nos lleva al directorio raíz, que es de donde surgen todos los directorios del sistema.

Para cambiar a otro directorio dentro del arbol, podemos utilizar cd usr, o cd /home/user. Más adelante veremos cómo se organiza el árbol de directorios, y qué hay en cada uno.

Utilizado sin ningún otro parámetro, cd nos lleva al directorio personal del usuario (home). Otra manera de ir al directorio personal es utilizar cd ~, ya que el símbolo ~ identifica al directorio de cada usuario.

Para cambiar al directorio padre del directorio actual se utiliza cd .. (no olvidar el espacio). Mientras que para volver al directorio en el que nos encontrábamos antes de ejecutar el último cd, podemos ejecutar cd -.

file

En UNIX los archivos no se identifican por su extensión, como en DOS. Se les puede poner una extensión, pero es de adorno.

El comando file nos permite tener una idea del contenido de un archivo. Al ejecutar file archivo, inspecciona partes del archivo para darse cuenta qué clase de archivo es. Puede decirnos que se trata de un archivo de texto, un directorio, una imagen, etc.

du

El comando du, Disk Usage, nos muestra el espacio que ocupan todos los directorios a partir del directorio actual. El número de la primera columna es el espacio ocupado por el directorio y está expresado en kb.

find

El comando find permite encontrar archivos, utilizando diversas técnicas. En principio, si se le pasa como parámetro únicamente una determinada ruta, por ejemplo find /home/user, el comando buscará todos los archivos y directorios que se encuentren a partir de esa ruta.

Utilizando algunos otros parámetros es posible buscar los archivos por diversos criterios.

Es posible, además, utilizar opciones adicionales para la búsqueda, que indiquen la profundidad de la búsqueda, que agreguen otros criterios adicionales a los explicados, o que indiquen una acción a llevar a cabo una vez encontrados los archivos.

cat

Ejecutando cat archivo podremos ver el contenido de archivo. Este comando puede recibir una serie de archivos, y el resultado será que nos mostrará un archivo a continuación del otro.

Un caso especial se produce cuando ejecutamos cat sin ningún nombre de archivo. En este caso, el comando esperará a que nosotros le demos una entrada, y la irá reproduciendo línea por línea. Hasta que presionemos la combinación Ctrl-d, que indica que la entrada ha terminado.

od

El comando od Octal Dump, nos permite ver byte a byte el contenido de un archivo. La primera columna es la dirección de cada línea que vemos. Utilizando las distintas opciones, podemos visualizarlo en varios formatos:

Las nuevas versiones de od soportan muchos más formatos, utilizando la opcion -t formato.

wc

El comando wc archivo, se utiliza para contar la cantidad de líneas, palabras y letras que tiene un archivo.

less

El comando less permite paginar la salida de otros comandos, o bien, el contenido de algún archivo.

Si ejecutamos less archivo, veremos la primera página del archivo. Si este archivo es lo suficientemente largo, podremos movernos hacia abajo y hacia arriba utilizando PageUp, PageDown, Home, End, Enter, los cursores, la barra espaciadora, etc.

También podemos realizar búsquedas dentro del archivo, para ello utilizamos la barra invertida \, seguida del patrón que queremos buscar. Por ejemplo, si tipeamos \consola, nos mostrará la primera ocurrencia del patrón consola. Para ver la siguiente ocurrencia, utilizamos n, y para ver la ocurrencia anterior N.

Para salir, utilizamos q.

Comandos relacionados con procesos

Cada aplicación que se ejecuta dentro de un sistema UNIX es un proceso. Algunos procesos están ejecutándose sin que nosotros lo sepamos. Otros procesos comienzan a ejecutarse cuando nosotros se lo indicamos.

Cada proceso que se ejecuta dentro de nuestra computadora tiene un número que lo identifica, llamado Process ID (PID). Este número será el que deberemos utilizar para referirnos a ese proceso con otros comandos.

Vemos a continuación los comandos básicos para manejar procesos dentro de los sistemas UNIX.

top

El comando top nos muestra algunos de los procesos que se están ejecutando, ordenados por el tiempo de procesador de la computadora que consumen. Muestra algunos datos adicionales de cada proceso, por ejemplo, en la primera columna, podemos observar el PID de cada uno.

Además, muestra otros datos acerca del uso que se le esta dando a la máquina.

Para salir: q.

ps

El comando ps nos muestra la lista de procesos que se están ejecutando en la computadora. En particular, es interesante ver la salida de ps ax, que nos muestra todos los procesos, tanto los de nuestro usuario como los de otros, e incluso los procesos que no tienen usuario.

La primera columna de la salida de ps también contiene el PID del proceso.

Ctrl-z

La combinación de teclas Ctrl-z sirve para suspender una tarea dentro de su ejecución.

Por ejemplo, si estamos ejecutando el proceso top y presionamos Ctrl-z, se suspenderá la ejecución de top y volveremos a obtener la línea de comandos. Antes de devolvernos la línea de comandos, nos indicará cuál es el número de trabajo del proceso que hemos suspendido.

Podemos iniciar varias tareas distintas, y luego suspenderlas. De forma que el número de trabajo de las tareas suspendidas se va incrementando.

bg - fg

El comando bg permite que el proceso que se halle suspendido, continúe ejecutándose en background (de fondo). Mientras que el comando fg permite que un proceso suspendido pase a foreground (a la pantalla principal).

jobs

Para poder ver qué comandos se están ejecutando en background y cuáles han sido suspendidos o terminados, podemos utilizar el comando jobs.

La lista que nos muestra este comando incluye el número de trabajo, que no es el mismo que el PID, y podemos utilizar este identificador para decidir cuál de las tareas pasar a foreground o background.

Por ejemplo: fg 1 pasa a foreground el trabajo número 1. Mientras que bg 3 pasa a background el trabajo número 3.

kill

Este comando nos sirve para interrumpir la ejecución de un determinado proceso. El comando envía una señal al proceso por la cual (normalmente) se cierra.

Podemos ejecutarlo teniendo en cuenta el PID del proceso. Por ejemplo: kill 1234, matará el proceso 1234. O bien, teniendo en cuenta el número de trabajo. En ese caso: kill %2, detendrá el trabajo número 2.

Ctrl-c

Cuando una aplicación se está ejecutando en foreground, y deseamos detenerla, podemos utilizar la combinación de teclas Ctrl-c.

El uso de esta combinación es equivalente a ejecutar el comando kill con el número de proceso de la aplicación que estamos utilizando.

Obteniendo más información

En GNU/Linux existen muchísimos documentos de ayuda, manuales y HOWTOs, que están pensados para que cualquier persona pueda encontrar información sobre lo que está buscando.

man

Un comando muy importante es man. Este comando nos mostrará las hojas del manual del programa que estamos queriendo buscar.

Por ejemplo, man date nos mostrará el manual del comando date, que ya sabemos que sirve para ver y configurar la fecha, aquí está explicado cómo utilizarlo.

Podemos movernos dentro de las páginas de los manuales utilizando la barra espaciadora, Enter, los cursores y el mismo sistema de búsqueda que utilizamos en less. Para salir, utilizamos q.

info

Un comando muy similar a man, es el comando info. Las páginas que nos muestra este comando suelen tener una mayor cantidad de información acerca de la aplicación sobre la cual estamos consultando.

Por ejemplo info sh-utils, contiene información detallada sobre algunas de las utilidades del intérprete de comandos (shell), que se verá más adelante.

help

Algunos comandos (como fg), son parte interna del intérprete de comandos, y por esta razón no tienen una página del manual que los explique.

Para saber de qué manera utilizar estos comandos, usamos help. La ayuda que nos da este comando es más sintética que la de man.

Por ejemplo help jobs, nos informará sobre el uso del comando jobs visto anteriormente.

Archivos con información

Dentro del directorio /usr/share/doc, encontramos una gran cantidad de documentos que tratan las distintas aplicaciones que tenemos instaladas en nuestro sistema.

En particular, el directorio /usr/share/doc/HOWTO, contiene artículos sobre cómo hacer determinadas cosas dentro de nuestro sistema.


next up previous
Next: Shell Up: Curso de GNU/Linux para Previous: Conceptos Generales
hecho por Margarita Manterola y Maximiliano Curia