LINEA DE COMANDOS

Volver a Documentos                                                                                    Volver a la página principal

¿Para qué sirve conocer la línea de comandos en gnu/linux?

Los que alguna vez conocimos el DOS o quienes vienen de algún Unix saben la importancia de la línea de comandos. Si bien día a día GNU/Linux por medio de sus distribuciones, va mejorando su intefase gráfica, siempre resulta bueno conocer la línea de comandos, ya que para algunas tareas es insustituible y para otras más mucho más potente y rápida que el ratón. Alguien lo explicó en una oportunidad diciendo que:

"Diez dedos siempre pueden más que un ratón"

La pretención es conocer los comandos básicos para realizar algunas acciones que son mucho más potentes desde esta que desde el modo gráfico. Es posible que muchos no lo tengan demasiado en cuenta pero hasta el mismo Windows aun en su versión XP y 2003 tienen una línea de comandos. Baste escribir en su línea de órdenes "Cmd" para que aparezca una pantalla 'negra con letras blancas'.
Especialmente los administradores de red, casi no conocen otra cosa que la línea de comandos sea cual sea el
Sistema Operativo que utilicen. Y esto es así por lo rápido que se puede dar órdenes a la computadora y por lo preciso que se puede llegar a ser.
A veces realizar una tarea determinada mediante el modo gráfico, representa 5 o 6 "clics" de ratón, y la misma tarea se puede hacer con una sola orden, un solo comando.

Utilizando una terminal

Normalmente cuando encendemos la computadora, luego del proceso propio del Bios, este entrega "el mando" al gestor de booteo que normalmente es Lilo o Grub. Lo que hacen estos gestores es mostrarnos en pantalla un menú que nos permite bootear con GNU/Linux o con otro Sistema Operativo que tengamos instalado.
Si elegimos GNU/Linux, seguramente aparecerá algún texto mostrándose a gran velocidad por la pantalla. Al cabo de algunos instantes nuestro Sistema Operativo estará listo para correr. Hay un detalle; salvo que hayamos modificado la forma de booteo, el sistema arrancará en modo gráfico en la mayoría de las distribuciones.
Una vez iniciado el modo gráfico y logueados (colocación del nombre de usuario y de la contraseña), podremos empezar a usar el SO. Pero, tambien es posible pasar al modo texto si así lo deseamos.

Dos formas de hacer casi lo mismo

La forma clásica de llegar al modo texto es mediante una combinación de teclas:

Presionando Control+Alt+F1 podremos llegar al modo texto.
Pero en GNU/Linux hay en modo texto no una sino varias consolas. Si quisieramos abrir una segunda consola podríamos oprimir la siguiente combinación de teclas:

Ctrl+Alt+F2

Mientras que con F1 estaríamos en la terminal de consola 1 (conocida como tty1), con F2 estaríamos en la consola 2 (conocida como tty2).
Normalmente la mayoría de las distribuciones traen hasta 5 consolas de texto, aunque esto es configurable y pueden haber más cantidad de consolas o menos según nuestro gusto como veremos más adelante.

¿Como llego a la sexta consola?

Simplemente oprimiendo la combinación de teclas:

Ctrl+Alt+F6

De ahora en más y para representar el número total de consolas posibles escribiremos:

Ctrl+Alt+F1~F6 (queriendo representar que tenemos 6 consolas de texto [del 1 al 6])

¿Y como volvemos al modo gráfico?

Esta es una pregunta con trampa Deberíamos responder de diferentes maneras.
Por ejemplo si nuestro Sistema Operativo arrancó en modo gráfico y luego pasamos al modo texto, simplemente con un

Alt+F7

será suficiente.
Aunque en algunas distribuciones puede que en lugar de Alr+F7 pida:

Ctrl+Alt+F7

Si en cambio arrancamos nuestra distribución en modo texto, cosa perfectamente posible como veremos más adelante, el modo gráfico no está todavía listo para desplegarse y entonces la combinación anterior de teclas no dará el resultado esperado. En ese caso debemos escribir en línea de comandos:

startx

Otra forma de usar comandos es mediante el despliegue de una pseudo terminal de texto. Se trata en realidad de una terminal gráfica que simula ser una terminal de texto y permite el uso de todos los comandos como lo haríamos desde el modo texto.
Tiene algunas ventajas como por ejemplo permitirnos el uso del ratón cosa que no podríamos desde una verdadera terminal de texto.
La llegada a esta terminal es desde Aplicaciones ==> Accesorios ==> Terminal
(en escritorios tipo Gnome). Para escritorios Kde se puede lograr lo mismo desde

K-Menú (la estrella de inicio) ==> System ==> Terminals ==>

Es muy buena idea añadir un "lanzador" que se trata de un ícono de acceso a un programa que aparecerá en la barra. Para esto nos acercamos al panel superior (o inferior, depende de la distribución) y con el botón derecho hacemos "clic" en "añadir al panel", luego en la ventana que aparece, hacemos "clic" en "lanzador", en "accesorios" buscamos "Terminal" y hacemos clic en "Añadir".
Esto es exactamente así para Ubuntu, pero con leves diferencias se puede hacer en las otras distros (las diferencias son solo de ubicación de los programas en el menú).
Ahora tenemos un acceso a esta consola y con un solo clic en el panel tendremos acceso al mismo.
Para quienes tienen problemas para ingresar en modo texto con Ctrl+Alt+Fx (entendiendo por "x" el número 1 al 6), esta puede ser una solución.

Ingresando al modo texto

Para entrar al modo texto utilizaremos alguno de los dos métodos vistos:

1) Ctrl+Alt+F1

2) Desde el modo gráfico Aplicaciones ==> Accesorios ==> Terminal

Dependiendo del modo en que hayamos entrado habrá unas pequeñas diferencias.

Por ejemplo en el modo texto aparecerá algo como esto:


Ubuntu 9.04 andropulos tty1


andropulos loguin:


(andropulos es el nombre de la máquina, y por lo tanto esto va a cambiar en cada máquina según sea su nombre. También habrá leves diferencias si se utiliza otra distribución que no sea ubuntu, pero básicamente así es como se verá)
En este caso nos indica que estamos en una terminal de texto (tty1) de una distribución Ubuntu 8.04 LTS

La máquina se llama "andropulos" (de allí el nombre que aparece en la parte superior junto a la terminal).
Debajo nos está pidiendo nombre de usuario para esta máquina.

En este caso escribiremos el nombre de usuario:


andres

e inmediatamente el sistema nos pedirá el password:

Cuando coloquemos el password, no veremos ningún cambio en la pantalla. A diferencia del modo gráfico, aquí no aparecen unas "x" sino que el cursor se queda en el mismo lugar. Es como si el teclado no estuviera respondiendo, pero al dar Enter, si la clave es la correcta, aparecerá una pantalla bastante completa que nos mostrará la última vez que nos logueamos y algunas cosas más.

Finalmente aparecerá el siguiente texto:


andropulos@andres:~$


Veamos esto en detalle:

andres es el usuario, cada uno tendrá un nombre de usuario diferente por lo tanto aquí en lugar de "andres" irá el nombre de usuario que hayamos elegido. Hay que agregar que en gnu/linux no es lo mismo Andres que andres que aNdREs. El sistema es "case sensitive" esto quiere decir que ve de diferente manera mayúsculas y minúsculas.

El símbolo "@" (arroba) indica pertenencia o sea que en este caso sería de la computadora cuyo nombre es "andropulos".

Luego vienen los dos puntos y un símbolo "~" (ñuflo) que nos indica que estamos en el directorio /home/dir (ya veremos esto más en detalle).

Finalmente aparece un símbolo "$" que nos indica que somos usuarios comunes.
Si fueramos superusuarios (root) en lugar de "$" tendríamos el símbolo "#"

Si entramos por consola desde la parte gráfica (para entrar en consola gráfica vamos a Menú-->Sistema--Konsole u otra consola gráfica similar) veríamos esto:

andropulos@andres:~$

Esto significa que no necesitamos loguearnos ya que estamos logueados con el mismo usuario que tenemos en modo gráfico. En realidad esto es así, porque si bien parece que estuvieramos en modo texto estamos en un simil de consola pero nunca salimos del modo gráfico.

Luego haremos lo propio con SuSe.
En el caso de Mandriva para llegar a la consola grafica que trabaja sobre texto debemos ir a:
| ==> Konsole

Vamos a observar la consola gráfica (seudo consola de texto) desde Mandriva y también la consola de texto y las pequeñas diferencias que hay con Ubuntu.


K-Menú (la estrella de inicio) ==> System ==> Terminals ==>


| ==> RXvt
Esto significa que tenemos la posibilidad de elegir entre dos tipos diferentes de consola. Realmente las diferencias entre ambos son mínimas y cualquiera de las dos funciona muy bien.
Ni bien entramos en la consola notamos que no necesitamos loguearnos, ya que en realidad estamos dentro del sistema gráfico y ya nos hemos logueado con anterioridad, así que la consola nos muestra nuestro logueo de la siguiente forma:

[andropulos@andropulos ~]$

Salvo los corchetes vemos que es muy similar a la forma mostrada en Ubuntu. Primero va el nombre de usuario, luego el nombre de la computadora, el ñuflo nos indica que estamos en el directorio del usuario (en este caso andropulos). Finalmente y ya fuera del corchete vemos un signo "$" que indica usuario. Este signo cambiará por otro "#" en caso que estemos trabajando con root.
Desde la consola de texto (Ctrl+Alt+Fx -donde "x" puede ser un número del 1 al 6) veremos lo siguiente:

Mandriva Linux release 2007 (Official)
kernel 2.6.12-14 mdksmp on an i686 / tty1
andropulos login:

En este caso menciona andropulos porque ese es el nombre de la máquina, pero lo importante es saber que aquí irá el nombre de la máquina. Si esta se llamara "pepe", allí aparecería:

pepe login:

Colocamos nuestro nombre de usuario:

andropulos

e inmediatamente nos pedirá el password

password:

Una vez que coloquemos en forma correcta el password, aparecerá esto en pantalla:
Last login: Thursday 3 19:31:10
[andropulos@andropulos ~]$

Truco para los que están usando VMware:

Los que están utilizando VMware con algún GNU/Linux desde máquina virtual, verán que la combinación de teclas ctrl+alt+Fx no responde. Para solucionarlo se pueden hacer dos cosas:
1) Utilizar la consola grafica para texto (Konsole por ejemplo)
2) Entrar a Konsole y como usuario root escribir:
init 3
Esto hará que automáticamente el sistema operativo funcione en una forma especial. Veremos que toda la pantalla se va al negro, en realidad lo que ha sucedido es que entramos en modo texto.
Para salir de modo texto, debemos escribir en consola:
startx

La consola seudo texto en SuSe:

En este caso llegaremos a la consola mediante:
K-Menú (menú de inicio que aparece en la parte de abajo -un círculo verde) ==> System ==> Terminal
Aparecerán 3 tipos diferentes de consola. Una de ellas será exclusivamente para root, las otras dos (Konsole y X Terminal) funcionarán casi iguales y sin problema.
Al entrar en consola veremos algo como esto:

andropulos@andropulos:~>

Lo primero que aparece es el nombre de usuario, que en el caso particular es "andropulos" pero podría ser cualquier otro. Luego el "@" nos indica pertenencia, en este caso se leería "andropulos de la máquina andropulos" El símbolo "~" está indicando que estamos posicionados en el directorio del usuario andropulos. Finalmente el símbolo de ">" de usuario común, nos indica que todo está listo para que empecemos a enviar comandos. Si cambiamos para usuario root, en ese caso el símbolo ">" dejará paso al símbolo"#"
Para llegar a la consola de texto utilizamos Ctrl+Alt+Fx (siendo la x el número 1 a 6).
Para aquellos que trabajen en VmWare recuerden que esto no se logra con combinación de teclas sino, entrando en una consola tipo "konsole" y escribiendo:

su

la máquina pedirá password, y unos instantes después de escribirla estaremos en consola como root.
Ahora escribiremos
init 3
rápidamente la computadora perderá el modo grafico y pasará a modo texto.

En la pantalla de texto aparecerá:
Welcome to SuSe Linux (i586) Kernel 2.6.15.11
andropulos login:
Luego de escribir el nombre y el password, el sistema nos dejará empezar a operar con la consola.
Su siguiente mensaje será:
Last Login Fri Jul 28 10:45 from console
have a lot of fun
andropulos@andropulos:~>

¿Qué es un comando?

Se trata de órdenes que ejecutamos desde una consola de texto luego del prompt, que es una línea que titila y nos indica que el intérprete de comandos está listo para recibir los comandos, que nosotros como usuarios, queramos ordenarle a nuestra comutadora.
Uno de los intérpretes de comandos más usados en gnu/linux es bash (bourne again sh).
Bash en realidad va a actuar como un intérprete entre el kernel y nosotros los usuarios.
Los comandos aunque a veces pueden escribirse solos, por lo general van acompañados de modificadores.

ANTES DE VER LOS COMANDOS MÁS USADOS POR ORDEN ALFABÉTICO

Un detalle muy importante es tener en claro la utilización de dos comandos que nos servirán para manejarnos sin problema con el resto de los comandos. Estos son los comandos HELP y MAN.

El comando HELP nos da una ayuda rápida sobre un comando en particular, mientras que el comando MAN es todo un manual sobre un comando.

La forma de usar Help es:

[nombre_del_comando] -h    o [nombre_del_comando] --help

El comando MAN nos ofrece un manual completo sobre el comando que queremos investigar

La forma de usar MAN es:

man [nombre_del_comando]

Cuando tengamos dudas o no sepamos cómo usar un comando o algún parámetro asociado podemos recurrir a HELP o a MAN.

COMANDOS MAS USADOS

adduser:

Hace un trabajo completo agregando usuario, grupo, password, nuevo directorio /home/[usuario] y en forma opcional datos personales.

sintaxis: adduser <usuario_nuevo>

alias:

Usado para la creacion de nombres alternativos. Normalmente se usan para abreviar comandos dificiles de escribir o recordar. Veamos un ejemplo:
alias dir=ls
En este caso hemos creado un alias a partir de 'ls'. Muchos usuarios que vienen de DOS recuerdan que para listar comandos se usaba el comando 'dir'. En bash el comando se llama 'ls' Por este motivo no viene para nada mal crear un alias de 'ls' que se llame 'dir'.

apropos:

Sirve para realizar una busqueda en las paginas man. Si tenemos cierto comando y no sabemos de que se trata podemos utilizar apropos.

Sintaxis: apropox <palabra_a_buscar>

bg:

Cada programa corriendo en nuestra maquina se considera un proceso. Hay muchos procesos corriendo al mismo tiempo en nuestra maquina, Se dice que hay procesos que estan en 'espera', otros en background, etc. Justamente 'bg' es el comando que permite reiniciar procesos en segundo plano (background). (Procesos que no estan visibles)

Sintaxis: bg <%job>

job es un numero de trabajo (no confundir con PID)

cat:

Este comando nos permite ver el contenido de un archivo tipo texto (puede ser un archivo ejecutable del tipo script). Con este comando no se puede modificar (editar) ni escribir un archivo, solamente verlo.

Sintaxis: cat <nombre_de_archivo)

cd:

Cambia de un directorio a otro. Para subir a un directorio padre usamos 'cd ..' Para cambiar a otro directorio escribimos 'cd <ruta_al_nuevo_directorio>'

chgrp:

Le permite a root y al dueño de un archivo cambiar el grupo asociado al mismo.
La sintaxis es: chgrp <grupo> <ruta_completa_al_archivo>

chmod:

En el mundo *nix cada directorio/archivo tiene un conjunto de permisos. Basicamente estos son:

Permisos del dueño: lectura, escritura, ejecucion
Permiso para el grupo: lectura, escritura, ejecucion
Permiso para otros: lectura, escritura, ejecucion

Se puede dar todos los permisos a los 3 grupos (usuario, grupo y otros) o bien dar algunos permisos segun sea nuestro deseo. Por ejemplo podemos dar permio de lectura, escritura y ejecucion al usuario y tanto al grupo como a 'otros' solo dar permisos de lectura. Existen diferentes formas de otrogar permisos que se explican en detalle en el capitulo correspondiente. Una de esas formas es:

permiso de lectura= valor 4
permiso de escritura=valor 2
peermiso de ejecucion=valor 1

Esto significa que si quisieramos darle un permiso de lectura, escritura y ejecucion a dueño, escribiriamos el numero 7 (4+2+1=7)
Luego, para el grupo, donde solo queremos darle permisos de lectura el valor sera 4 (4+0+0=4). Y finalmente si a otros tambien quisieeramos darle permiso de lectura su valor seria igual que el anterior (4).

En este caso la notacion de permisos seria 744 (el primer '7' corresponde a dueño, el segundo numero corresponde a grupo y el tercero a 'otros')

Sintaxis: chmod <numeros de permiso> <ruta y archivo>

chown:

Cambia el propietario de un archivo. De esta manera (change owner cambiar dueño) debido a un tema de seguridad solamente el dueño y root pueden efectuar este tipo de cambio.

La sintaxis es:

chown <nuevo/s usuario/s> <directorio/archivo>

Si se va a usar para mas de un usuario se separan los usuarios mediante el uso de ':' Por ejemplo root:nobody

chroot:

Hace que el directorio llamado raiz (o root) sea distinto a '/' en el sistema de archivos. Esto puede ser util al trabajar con un servidor de Internet donde tal vez podriamos cambiar el directorio 'root' para que este sea igual a '/usr/ftp' por ejemplo. Esto sirve especialmente para seguridad.

La sintaxis es: chroot <nueva_ubicacion>

cp:

Sirve para copiar. Su sintaxis es simple

cp <archivo_original> <ruta y nombre del nuevo archivo>

env:

Sirve para ver las variables de entorno exportadas. Se trata de una lista de dos columnas, en donde del lado izquierdo se encuentra el nombre de la variable y el valor asociado a la misma esta del lado derecho.

Sintaxis: env (sin parametros)

fg:

Se utiliza para traer un proceso a primer plano.

file:

Nos indica el tipo de archivo al que le hacemos referencia.

Ejemplo:

file /home/pepe/pepe.txt
ASCII text, with no line terminators

find:

Busqueda de un archivo por el arbol de directorios o en un directorio dado. Se pueden usar comodines cuando el nombre del archivo no se conoce o cuando deseamos buscar un grupo de archivos. Por ejemplo si quisieramos saber donde se encuentran archivos .txt en todo el arbol de directorios podriamos escribir:

find . -name *.txt -print

El punto indica en el directorio actual (aunque no este indicado es recursivo, es decir que tambien buscara en los directorios hijos). Luego le indicamos mediante el asterisco que busque cualquier archivo con extension .txt y luego mediante la orden '-print' que lo imprima por pantalla.

grep:

El comando grep sirve para buscar un caracter o una cadena de caracteres dentro de un archivo de texto, o de todos los archivos de texto de un directorio determinado. Es muy util cuando tenemos un archivo muy grande y deseamos encontrar un texto determinado.

Veamos un ejemplo:

grep p /home/pepe/Desktop/pepe.txt
p
pppp

Aqui grep nos indica los caracteres 'p' que existen dentro del archivo pepe.txt

Otro caso:

grep -v p /home/pepe/Desktop/pepe.txt
eeee
exit
eulogio
amando

En este caso la opcion -v hace la busqueda en forma inversa. Busca todo lo que haya dentro del archivo pepe.txt que no coincida con 'p'

Un ultimo ejemplo:

cat /etc/passwd | grep root
root:x:0:0:root:/root:/bin/bash

En este caso mediante una tuberia, le hemos indicado a grep que del archivo /etc/passwd nos muestre unicamente lo que tenga que ver con root.

gzip:

Seguramente conocemos el software de compresion 'zip'. Gzip es el software de compresion de GNU. O sea que sirve para comprimir archivos.

Sintaxis: gzip <nombre_de_archivo>

gunzip:

Sirve para descomprimir archivos que ha sido comprimidos con gzip.

Sintaxis:

gunzip <nombre_de_archivo>

o tambien

gzip -d <nombre_de_archivo>

halt:

Se usa como usuario root y hace que el sistema se apague. Se puede usar sin opciones.

hostname:

Si lo usamos solo, nos dara el nombre de nuestra maquina, por el contrario si a su lado colocamos un nombre, cambiara el actual nombre de la maquina por el que hayas colocado al lado del comando.

Help:

Se puede usar para averiguar para qué sirve un comando y cómo usarlo junto a sus parámetros.

kill:

Sirve para matar procesos. Normalmente se utiliza con la opcion -9 si se desea que 'mate' efectivamente un proceso determinado.

Su sintaxis es: kill <numero_de_proceso>

El numero de proceso se conoce como PID y se puede obtener entre otros mediante el comando ps

killall:

Killall, hace lo mismo que kill pero a diferencia de este no utiliza el PID sino directamente el nombre del proceso, con lo que podemos evitar utilizar el comando ps para saber el PID de un determinado proceso. Se puede conocer el nombre de los procesos en ejecucion mediante el comando killall seguido de la opcion --l que lista el nombre de todos los procesos.

less:

Con less nos podemos mover para adelante y para atras en un archivo aunque este ocupe mas de lo que se puede ver en la pantalla.

login:

Sirve para iniciar sesion o para cambiar de usuario en una sesion ya abierta. El programa login pide nombre de usuario y contraseña.

ls:

Sirve para listar los archivos que se encuentran dentro de un directorio.

make:

Sirve para saber las piezas de un programa grande a ser recompiladas. Su uso mas comun es utilizar codigo fuente para compilar e instalar alguna aplicacion

man:

Sirve para poder ver paginas concretas de manual de cada comando.

Ejemplo de uso:

man man

Con esto veremos la pagina de manual del comando 'man'

man ls

Con esto vemos un completo manual sobre el comando "ls"

mkdir:

Se usa para crear nuevos directorios

Sintaxis: mkdir <ruta y nombre del nuevo directorio>

mkfs:

Se usa para construir un sistema de archivos en un dispositivo determinado. Puede usarse en la particion de un disco rigido por ejemplo.

La sintaxis es: mkfs <nombre>

El nombre puede ser el nombre de la particion (como /dev/hdb3) o bien el punto de montaje (como / o /home, etc)

mkswap:

Sirve para crear un area de intercambio generalmente en una particion

more:

Se trata de un filtro similar a 'less' solo que en una pagina si usamos 'more' podremos avanzar pero no retroceder como haciamos con less.

mount:

En gnu/linux las particiones deben montarse sobre un directorio en particular, de lo contrario no se podran usar. Por ejemplo podremos crear (con el comando 'mkdir') un subdirectorio dentro del directorio 'mnt' que se llame por ejemplo '/hda1'. Es decir que quedara luego de creado algo asi:
/mnt/hda1.
Luego, mediante el comando 'mount' se podra montar el dispositivo /dev(hda1 en el subdirectorio creado para tal fin de la siguiente manera.

mount /dev/hda1 /mnt/hda1

De esta manera cuando hagamos

cd /mnt/hda1 podremos ver todos los directorios/subdirectorios y archivos que se encuentren dentro de la particion 'hda1'.

mv:

El comando mv se utiliza para mover un archivo desde un lugar a otro o bien para cambiarle su nombre, o ambas cosas.

Sintaxis: mv /home/pepe/pepe.txt juan.txt
De esta forma solo cambiamos el nombre de pepe.txt a juan.txt
mv /home/pepe/pepe.txt /home/pepe/Desktop/juan.txt
De esta forma hemos cambiado la ubicacion y el nombre del archivo

netstat:

Muestra el estado de la conexiones de red, puertos, etc. Se puede usar sin parametros.

passwd:

Sirve para cambiar la contraseña de un usuario o del propio root. Este comando funciona solamente si entramos en consola como usuario root. Si queremos darle password a un usuario que no existe el sistema no lo va a permitir. Previamente debemos usar adduser y crear el usuario, y ya este comando nos va a pedir el password. En cambio el comando passwd se usa (o se debería usar ) al menos usa vez por mes para cambiar las contraseñas.

Forma de uso ejemplo:

passwd pepe
changing password for pepe
(current)UNIX password:

Una vez que escribimos el password actual que tiene el usuario, el sistema nos pide:

Enter new UNIX password:

Lo escribimos y el sistema nos pide:

Retype New UNIX password:

Finalizado y si ambas contraseñas son iguales y tienen la complejidad mínima necesaria, el sistema nos dice:

passwd: password updated succefully

Lo mismo podemos (y debemos) hacer a menudo con root. En suma escribimos el password anterior, luego nos pide que escribamos (2 veces) el nuevo password y finalmente nos informa si la contraseña fue actualizada con éxito.

ps:

Nos muestra los procesos que están corriendo en el instante que escribimos el comando. Hay varias opciones posibles, y por esto lo ideal es leer el man. Entre las más comunes está

ps -a Nos muestra los procesos en una terminal dada
ps -A Nos muestra el nombre y el número de proceso (PID)
ps -aux Nos muestra el usuario, el PID, la memoria y el cpu utilizado, etc.

pwd:

Nos muestra en pantalla el directorio de trabajo que estamos usando.

rm:

Sirve para eliminar archivos Existen varias opciones:

Opción -r (recursiva) Borra un directorio y todos los archivos que haya dentro.
Opción -i Antes de borrar pregunta
Si bien para eliminar directorios hay otro comando más o menos parecido. Si utilizamos la opción -r se puede borrar un directorio y recursivamente todos los archivos que tenga dentro.

rmdir:

Elimina directorios, pero no lo puede hacer si en el interior del directorio hay archivos. O bien los borramos mediante la opción rm -r o bien borramos archivo por archivo.

set:

Permite ver comandos usados con anterioridad y guardados en el historial.

shutdown:

Sirve tanto para reiniciar como para apagar según las opciones que utilicemos. Existen además distintas opciones para reinicio rápido o normal.
Algunas de las opciones posibles son:

-r Para que reinicie
-h Para que apague
-f Saltea la verificación de los discos rígidos y reinicia rápido
-F Fuerza a verificar los discos antes de reinciar el sistema
-c Cancela un reinicio
-t Tiempo en segundos entre un aviso de apagado y el apagado en si.

su:

Permite que un usuario se convierta por cierto tiempo en otro usuario, incluso en root si el sistema está configurado para esto.

Si colocamos 'su [nombre_de_usuario]' se convertirá en ese usuario. Si en cambio colocamos solo 'su' hará el intento de convertirse en root.

tail:

Imprime en pantalla (salvo que redireccionemos el comando a otra salida) las 10 últimas líneas de un archivo determinado (o grupo de archivos si así se lo indicamos) También es posible mediante opciones, lograr modificar la cantidad de líneas, etc.

Por ejemplo veamos como ver las últimas 12 líneas:

tail -12 /tmp/pepitito

vemos que la sintaxis es:

el comando tail [opciones] [archivo]

Para ver las últimas líneas de varios archivos, utilizaremos la sintaxis

tail [opciones] [archivo1..archivo10]

Se pueden colocar todos los archivos que se deseen

tar:

Se trata de un comando que permite empaquetar varios archivos en uno solo. Por ejemplo se puede empaquetar todo un programa completo incluyendo bibliotecas, y hasta el código fuente en caso que dicho programa ya esté compilado.

Tiene varias opciones:

-z Sirve para descomprimir si junto a 'tar' se ha usado el comando gz
-x Extrae, desempaqueta
-v Verboso
-f Nombre de archivo

Por ejemplo veamos cómo hacer para desempaquetar un archivo llamado pepito.tar.gz

tar zxvf pepito.tar.gz

Si lo escribimos así, en el mismo directorio aparecerá un subdirectorio nuevo llamado pepito con todos los archivos ya desempaquetados y descomprimidos.

telnet:

Sirve para comunicarse con otra computadora. Es bastante rápido pero por los protocolos que utiliza muy inseguro. Hoy existen aplicaciones que utilizan algo de telnet y algo de ssh para lograr comunicaciones y trabajos remotos más o menos seguros.

top:

Sirve para ver los procesos que están corriendo en nuestro sistema, como lo hace 'ps'. La diferencia está en que ps nos muestra una 'foto' o sea que es un proceso estático que nos dice qué procesos están en curso en el momento de ejecutar el comando. En cambio 'top' va cambiando a medida que los procesos van cambiando.
Se puede usar sin opciones.

umount:

Las particiones, para poder ser vistas, necesitan ser montadas en un directorio y esto se hace con el comando 'mount' Umount es el comando contrario que permite desmontar una partición determinada.

unalias:

Mediante un 'alias' podemos inventar un nombre diferente para un comando. Por ejemplo podemos crear un alias llamado 'dir' para que funcione como 'ls'. Cuando usamos 'unalias' eliminamos un 'alias' ya creado.
La forma de uso es unalias [nombre_del_alias]

unzip:

Cuando hay un archivo que se ha comprimido con el comando 'zip' se puede descomprimir con el comando unzip

wall:

Sirve para enviar mensajes a todas las terminales a la vez. Se usa desde un archivo.
El modo de uso es:

wall [archivo]

who:

Imprime el nombre de inicio de sesión, tipo de terminal, el tiempo de conexión, etc.

write:

Sirve para enviar un mensaje a la pantalla de otro usuario

xset:

sirve para realizar algunas configuraciones de una sesión de X. Por ejemplo la velocidad del ratón, algunos sonidos, etc.

zip:

Este comando permite comprimir archivos y también agregar archivos comprimidos.