Comandos de Unix

En Unix, el formato para la ejecución de los comandos es el siguiente:

cmd [opc][arg][arc] <retorno>

En donde:

cmd es el nombre del comando

opc son opciones del comando

arg son argumentos opcionales al comando

arc es nombre del archivo

Comandos más comunes

Algunos de los comandos más utilizados son los siguientes:

* man [comando][número de mensaje] - Despliega información para utilizar el comando especificado como argumento en el parámetro comando

* date - Muestra la fecha del sistema

* banner arg - Muestra los argumentos en letras grandes

* write login - Permite escribir un mensaje al usuario cuyo login se especifica como argumento.

* who - Presenta a los usuarios activos en el sistema (terminal, fecha y hora de inicio).

* w - Usuarios activos del sistema, hora, tiempo de actividad, % de carga, nombre de los usuarios, terminal asociada, hora de entrada al sistema, tiempo ocioso, tiempo que su tarea y procesos han ocupado el CPU y actividad que realizan.

* finger [nombre] - Si se teclea sin argumentos, presenta la información sobre los usuarios conectados en el sistema actualmente. Si se especifica un argumento éste podrá ser un nombre, un apellido o un nombre de usuario y como resultado se desplegará en pantalla los datos del o los usuarios cuyos datos concuerden con el argumento pasado en el parámetro nombre.

* pwd - Nos indica en qué directorio nos encontramos actualmente.

* ls [-ACFRabcdfgilmnopqrstux] [nombre_de_archivo] - Si se ejecuta sin argumentos, despliega la información acerca del contenido del directorio actual. Si se le proporciona un argumento desplegará la información del archivo pasado en el parámetro nombre_de_archivo.

* cd [directorio] - Permite cambiarnos al directorio especificado en el parámetro directorio. Si se ejecuta sin ningún argumento, permite cambiarse directamente al directorio hogar sin importar en dónde estemos ubicados dentro de la estructura de directorios del sistema operativo.

* cp archivo [archivo ...] destino - Copia el contenido del argumento pasado en el parámetro archivo al archivo pasado en el parámetro destino.

* mv archivo [archivo ...] destino - Mueve (o renombra) el archivo pasado en el parámetro archivo al archivo pasado en el parámetro destino.

* rm [-rf] archivo - Borra el archivo pasado en el parámetro archivo. Si se trata de un directorio en lugar de un archivo, éste deberá estar vacío para que se pueda borrar a menos que se utilicen los parámetros -rf.

* rmdir directorio - Borra el directorio pasado en el parámetro directorio. El directorio tiene que estar vacío.

* more [-cdflrsuw][+no-de-línea][+/patrón] archivo - Permite ver la información del pasado en el parámetro archivo y examinarla, despliega la información por páginas y para seguir desplegándola se podrá utilizar o la tecla "enter" (que desplegará la información línea por línea) o la barra espaciadora (que desplegará la información pantalla por pantalla).

* cat archivo [archivo ...] - Si se ejecuta con un sólo argumento, desplegará en pantalla el contenido del archivo pasado en el parámetro archivo. Si se le proporcionan más argumentos juntará el contenido de todos los archivos cuyo nombre se pasó como argumento y lo desplegará en pantalla.

* ln archivo [archivo ...] destino - Un archivo tendrá múltiples nombres. Crea una "liga" adicional al archivo indicado, la cual equivale a otro nombre del archivo. La información no se copia.

Redireccionamiento de comandos

En Unix tenemos la posibilidad de redireccionar la salida de un comando hacia un archivo diferente al especificado de manera predeterminada (generalmente la salida de un comando siempre será a la pantalla). El operadorador ">" nos permite redireccionar la salida de un comando para que sea utilizada como entrada de otro.

Por ejemplo, al teclear el comando:

finger

desplegará en pantalla la lista de usuarios conectados. Si en lugar de imprimir en pantalla el resultado del comando anterior quisiéramos que se imprimiera en un archivo de texto llamado, por ejemplo usuarios.txt (que se creará en el momento de ejecutar el comando, tendríamos que hacer lo siguiente:

finger > usuarios.txt

Entubamiento de comandos

En Unix tenemos la posibilidad de utilizar la salida de algún comando como entrada de un segundo comando. Esa acciÛn se conoce como entubamiento de comandos. El entubamiento de comandos se puede utilizar entre dos comandos "complementarios", es decir, se puede utilizar para unir dos comandos en donde el primer comando da como resultado la salida de algún tipo de información y el segundo comando necesita algún tipo de información para poderse ejecutar. El entubamiento de comandos se hace por medio del operador "pipe" (|).

Por ejemplo, el comando banner tiene como salida un texto; y el comando write necesita como entrada un texto, de tal manera que se puede usar la salida del comando banner como la entrada del comando write entubando dichos comandos para ejecutarlos al mismo tiempo de la siguiente manera:

banner hola | write jperez

El comando anterior le mandará el texto "Hola" en grande al usuario "jperez ".

Otro ejemplo serí con el comando finger . Supongamos que existen más de 30 usuarios conectados en el sistema en un momento determinado. Si ejecutáramos el comando finger la lista de usuarios conectados se desplegaría totalmente, de tal manera que no podríamos ver a los usuarios conectados poco a poco; sin embargo podríamos entubar el comando finger con el comando more , de tal manera que la salida del primero sea la entrada del segundo y podamos ver la lista de usuarios página por página, tal y como despliega la información de un archivo el comando more :

finger | more