Esta página puede ser redistribuida libremente bajo los términos de la licencia GPL. Vease ( GPL texto original ) o si lo prefiere (Traducción española no oficial de la GPL) Al margen de las obligaciones legales que se derivan del uso de esta licencia rogamos sea respetada la referencia a su lugar de publicación original www.ciberdroide.com. y a su autor original Antonio Castro Snurmacher (Madrid 01/01/2000).

Ausencia de Garantía

Esta ausencia de garantía se hace extensa a cualquier tipo de uso de este material y muy especialmente a las prácticas, ejercicios, y de ejemplos que encuentre en estas páginas. Deberá trabajar siempre salvo indicación contraria con un SO Linux y con un usario distinto de 'root' sin privilegios especiales. Como directorio de trabajo se procurará usar el directorio '/tmp' o algún otro que no contenga información valiosa. Tampoco se considera buena idea practicar en una máquina que contenga información valiosa.

Todo esto son recomendaciones de prudencia. En cualquier caso si algo sale mal toda la responsabilidad será únicamente suya. En ningún caso podrá reclamar a nadie por daños y perjuicios derivados del uso de este material. Para más información lea el contenido de la licencia GPL y abstengase de hacer prácticas si no está dispuesto a asumir toda la responsabilidad.

Tenemos una excelente noticia para sus neuronas. En este capítulo no introduciremos conceptos nuevos.

Le proporcionaremos una lista alfabética de comandos que puedan resultarle de utilidad. Entre estos comandos no encontrará comandos internos de la shell, ni comandos relacionados con la programación o administración de su sistema. Solo incluiremos los comandos de usuario de uso más frecuente. En el tema de comunicaciones solo mencionaremos unos pocos comandos básicos.

Nos limitaremos a indicar brevemente para que se usan. En algunos de ellos pondremos algún ejemplo pero los detalles tales como forma de uso y opciones deben consultarse en el manual. El objetivo es simplemente que conozca la existencia de los comandos que pueden resultarle de mayor utilidad en este momento.

Recuerde que un número entre paréntesis a continuación de un comando indica el número de sección en el man.

Dado que no vamos a mencionar en este momento ningún comando interno del interprete de comandos bash lo que si podemos indicarle es la forma de saber cuales son y como obtener información sobre cualquiera de ellos. Bastará con teclear el comando 'help'. Si quiere obtener más información sobre cualquiera de ellos teclee 'help comando'.

Ejemplo:


$ help | less

$ help cd

Dijimos que no explicaríamos ningún comando interno pero en realidad 'help' es un comando interno y tenemos que añadir que admite el uso de meta caracteres.


$ help help

$ help *alias

No se va a estudiar en detalle ningún comando en este capítulo ya que se trata de tener una visión de conjunto. Por ello cuando lleguemos a un comando que merezca ser explicado con mayor profundidad nos limitaremos a decir para que sirve y le dejaremos con la miel en los labios con un oportuno "Se estudiará más adelante".

Selección de los comandos externos de usuario más útiles.


apropos   at   atq   atrm   awk   banner   batch   bc   cal   cat   chgrp   chmod   chown   cksum   clear   cp   cpio   cut   date   df   diff   du   echo   egrep   emacs   env   ex   expr   false   fgrep   file   find   finger   free   ftp   fuser   gawk   grep   gzip   head   hostname   id   info   ispell   kill   killall   less   ln   locate   lpq   lprm   ls   mail   man   mkdir   more   mv   nice   nohup   passwd   paste   pr   ps   pstree   pwd   renice   reset   rm   rmdir   rsh   script   sed   sleep   sort   split   stty   su   tail   talk   tee   telnet   test   tload   top   tr   true   vi   w   wc   whatis   whereis   who   whoami   write   xargs   zcat   zdiff   zgrep   zless   zmore  

Los comandos awk, cpio, egrep, fgrep, find, gawk, grep, sed, sort, test, y vi serán tratados en detalle en capítulos posteriores.


apropos(1)

Ya comentamos este comando en el capítulo dedicado al manual online de unix. Sirve para ayudar a localizar un comando que no sabemos exactamente como se escribe. Solo se usa para la búsqueda la descripción corta que figura al principio de la página del manual y hay que usar palabras completas y no secuencias de caracteres. Por ejemplo si nuestro manual está en ingles podríamos buscar compresores con:

$ apropos compress


at(1)

Se utiliza para programar un comando para que se ejecute en un determinado momento. Este comando no admite intervalos de tiempo menores a un minuto. La salida deberá estar redirigida ya que se ejecutará en segundo término sin un terminal asociado. Una vez ejecutado este comando devuelve un número de tarea y el momento en el cual se activará el comando. Ejemplos:

$ echo 'date > /tmp/salida' | at now + 1 minute
$ echo 'date > /tmp/salida' | at 8:15am Saturday
$ echo 'date > /tmp/salida' | at noon
$ echo 'echo feliz año nuevo > /dev/console' | at 11:59 Dec 31
$ echo 'banner a comer > /dev/console' | at 1:55pm


atq(1)

Permite ver la cola de tareas pendientes.

$ atq


atrm(1)

Permite cancelar una tarea programada y pendiente de ejecutarse más tarde.

$ atrm 188


awk(1)

Se trata de un programa que implementa un lenguaje para tratar ficheros de texto estructurados en campos y registros. Es muy potente y se estudiará más adelante.


banner(1)

Para generar cabeceras con letras grandes. Ejemplo:

$ banner hola


 #    #   ####   #         ##
 #    #  #    #  #        #  #
 ######  #    #  #       #    #
 #    #  #    #  #       ######
 #    #  #    #  #       #    #
 #    #   ####   ######  #    #
      


batch(1)

Es un comando muy similar al comando at pero no requiere la indicar el momento en ese caso se ejecutará en un momento con baja carga. Ejemplo:

$ echo 'date > /dev/console' | batch


bc(1)

Es una calculadora de precisión arbitraria. (Es decir con toda la precisión que uno quiera) Se puede usar interactivamente o admitir comandos por la entrada estándar. Admite expresiones bastante complejas y sentencias condicionales y de repetición que constituyen un potente lenguaje de programación para esta calculadora. Por ejemplo calcular el número PI con 300 cifras decimales.

$ echo "scale=300; 4*a(1)" | bc -l

3.141592653589793238462643383279502884197169399375105820974944592307\
81640628620899862803482534211706798214808651328230664709384460955058\
22317253594081284811174502841027019385211055596446229489549303819644\
28810975665933446128475648233786783165271201909145648566923460348610\
454326648213393607260249141272


cal(1)

Calendario Ejempos:

$ cal

$ cal 2000


cat(1)

Lee uno o más ficheros y los saca por la salida estándar.

$ cat fichero1 fichero2 > fichero1_mas_2


chgrp(1)

Permite cambiar el atributo de grupo de uno o más ficheros. Solo el propietario del fichero o un usuario privilegiado puede usarlo.


chmod(1)

Permite el cambio de los permisos asociados a un fichero. Solo el propietario del fichero o un usuario privilegiado puede usarlo.


$ chmod +r /tmp/fich
$ chmod u+r /tmp/fich
$ chmod 770 /tmp/fich
$ chmod a-wx,a+r /tmp/fich


chown(1)

Permite cambiar el propietario actual de un fichero. Solo el propietario del fichero o un usuario privilegiado puede usarlo. Tambien permite cambiar el grupo.


$ chown usuario fichero
$ chown usuario:grupo fichero


cksum(1)

Obtiene un código (CRC) que está diseñado para detectar variaciones en la información por problemas en la grabación o transmisión de datos.


$ cksum fichero


clear(1)

Limpia el contenido de la consola.


cp(1)

Copia ficheros. Si se utiliza con un par de argumentos tomará el inicial como origen y el final como destino. Si el segundo argumento es un fichero entonces sobreescribirá su contenido. Si se usa con más de un argumento el último ha de ser obligatoriamente un directorio.


$ cp fich1 fichdest
$ cp fich1 dirdest
$ cp fich1 fich2 fich3 dirdest


cpio(1)

Admite una lista de nombres de ficheros para empaquetarlos en un solo fichero. Es un comando muy potente y versátil. Junto con tar se usa entre otras cosas para hacer copias de seguridad. Suele usarse mucho en combinación con find. Lo estudiaremos más adelante.


cut(1)

Permite extraer columnas o campos desde uno o más ficheros.


$ cut -d: -f1 /etc/passwd
$ cut -d: -f6 /etc/passwd


date(1)

Obtiene la fecha. Las opciones permiten obtener distintos formatos de salida.

$ date


dom jun 11 18:17:14 CEST 2000


$ date +"%Y/%m/%d %T"


2000/06/11 18:16:49


$ date +%s


960740283



df(1)

Informa de la utilización de disco en las particiones que están montadas.


$ df -a


diff(1)

Sirve para localizar diferencias entre dos ficheros de texto.

$ diff fich1 fich2


du(1)

Permite averiguar la ocupación de espacio de todo aquello que cuelga de un determinado directorio. Este comando conviene usarlo de vez en cuando para localizar directorios demasiado cargados de información.


$ du -s .

$ du .

$ du -s * | sort -n


echo(1)

Permite sacar mensajes por salida estándar.


egrep(1)

Es una variedad del comando grep que permite el uso de expresiones regulares extendidas. Sirven para buscar cadenas de texto o secuencias de caracteres en ficheros. Se estudiarán más adelante.


emacs(1)

Es un editor multipropósito.


env(1)

Obtiene la lista de variables de entorno y sus valores.


ex(1)

Es un editor interactivo similar al vi. En Linux existe una versión mejorada llamada elvis.


expr(1)

Es un evaluador de expresiones.


$ expr \( 55 + 31 \) / 3


28



false(1)

Solo tiene sentido usarlo en programación y retorna un código de retorno que indica error. En otras palabras no solo no hace nada sino que además siempre lo hace mal. Parece absurdo pero tiene su utilidad. Si no fuera sí no existiría y no es el único comando de este tipo.


fgrep(1)

Es una variedad del comando grep. Sirven para buscar cadenas de texto o secuencias de caracteres en ficheros. Se estudiarán más adelante.


file(1)

Sirve para averiguar el tipo de fichero pasado como argumento. Distingue muchos tipos de ficheros.


$ file fich
$ file dir1 fich2 


find(1)

Permite localizar ficheros dentro de la estructura de directorios. Es tremendamente versátil y se estudiará más adelante.


$ find /var -name '*.log'


finger(1)

Sirve para averiguar quien está conectado al sistema.


$ finger
$ finger -l


free(1)

Proporciona estadísticas de uso de la memoria del sistema.


ftp(1)

Comando para intercambiar ficheros entre distintos ordenadores.


fuser(1)

Indica que proceso está usando un fichero o un directorio.


$ fuser /


gawk(1)

Es la versión GNU de awk. Se trata de un programa que implementa un lenguaje para tratar ficheros de texto estructurados en campos y registros. Es muy potente y se estudiará más adelante.


grep(1)

Junto a egrep, fgrep y rgrep sirven para buscar cadenas de texto o secuencias de caracteres en ficheros. Se estudiarán más adelante.


gzip(1)

Compresor des-compresor de gnu. Se puede usar directamente sobre un fichero o por el contrario puede usarse como filtro. Cuando se usa directamente sobre un fichero se modificará el nombre del fichero añadiendo .gz para indicar que está comprimido o se eliminará cuando sea descoprimido.


$ ls -l / > directorio_raiz
$ gzip directorio_raiz
$ gzip -d directorio_raiz.gz 
$ gzip < directorio_raiz > directorio_raiz.gz
$ gzip -d < directorio_raiz.gz > directorio_raiz


head(1)

Permite sacar las primeras lineas de un fichero.


hostname(1)

Obtiene el nombre de la máquina.


id(1)

Devuelve información de identidad de aquel que lo ejecuta.


info(1)

Es un lector de hipertexto de GNU. Muchos programas de GNU incluyen documentación en formato info. Los hipertextos son textos que incluyen enlaces sub-menús, y otros elementos que facilitan una lectura no secuencial. Por ejemplo el html es otro formato de hipertexto.


ispell(1)

Es un comprobador ortográfico que puede ser acoplado a diversos editores como por ejemplo al vi. Existen diccionarios ortográficos para distintos lenguajes.


kill(1)

Envía una señal a un proceso. Se llama kill porque generalmente se usa para "matar" procesos. Requiere que se conozca el identificador del proceso PID.


killall(1)

Como el anterior pero permite pasar el nombre del comando y "matará" a todos los procesos que tengan ese nombre.


less(1)

Es un paginador que puede usarse en sustitución del paginador more.


$ less fichero
$ cat fichero | less


ln(1)

Crea enlaces rígidos y enlaces simbólicos que son cosas que ya hemos estudiado.


locate(1)

Permite la localización rápida de ficheros en su sistema de ficheros. Se utiliza una base de datos que debe de ser actualizada regularmente mediante el comando updatedb. Este último lo realizará root cuando lo crea oportuno o mejor aun estará programado en el sistema para que se ejecute periódicamente. La idea es la siguiente. Para localizar un fichero se suele ejecutar el comando find capaz de explorar todo el árbol del sistema de ficheros pero esta operación es muy costosa porque requiere abrir y cerrar cada uno de los directorios en los que busca información. El comando updatedb hace esto mismo pero guardando el resultado de toda la exploración en una base de datos muy compacta donde se puede buscar con enorme rapidez. La desventaja es que la información de búsqueda tendrá cierta antigüedad y que no se guardan todos los atributos del fichero por lo que resulta imposible buscar usando criterios para esos atributos. Por ello usaremos locate para ciertas búsquedas aunque algunas veces tendremos que usar find.


lpq(1)

Informa sobre el estado de la cola de impresión. Muestra las tareas que están el la cola su identificador numérico, orden, tamaño y propietario.


lprm(1)

Permite cancelar tareas de impresión usando el identificador numérico obtenido con lpq..


ls(1)

Obtiene un listado de los ficheros de un directorio. Tiene una gran cantidad de opciones.


mail(1)

Se usa para enviar un correo electrónico. Su manejo comparado con otros programas de correo electrónico no resulta muy amigable pero no solo sirve para usarlo en modo interactivo. Se le puede pasar por la entrada estándar el contenido de un mensaje. Una aplicación de esto es que podemos coleccionar mensajes cortos por ejemplo para suscribirse o de-suscribirse de listas de correo.

$ echo unsubscribe l-linux | mail [email protected]

$ mail -s unsubscribe [email protected] 


man(1)

Este fué el primer comando que se estudió en este curso y no nos cansaremos de recomendarle que se familiarice con el. La información de estas páginas del manual no suele resultar muy didáctica. En Linux no vienen apenas ejemplos. A pesar de ello suele traer información completa de opciones y formas de uso.


mkdir(1)

Crea uno o más directorios. Los permisos dependerán de el valor actual de 'umask'. Esto ya lo vimos en capítulos anteriores. Para eliminar un directorio se usará 'rmdir'.


$ mkdir dir1 dirA/dirB/dirC/dir2 dir3


more(1)

Es un paginador mucho más sencillo que el sofisticado 'less'.


$ ls | more

$ more fichero


mv(1)

Se utiliza para renombrar directorios y ficheros o para trasladarlos de un lugar a otro. Conviene usarlo con precaución porque se presta a obtener resultados diferentes en función de la existencia o no de un fichero o directorio de destino. Mover un fichero a otro que ya existe supondría sobreescribirlo así que un error puede provocar perdida de información. Cuando se usan más de dos argumentos en Linux se obliga a que el último sea un directorio de destino lo cual previene errores.


$ mv fich1 fich01
$ mv dir1 dir01
$ mv fich1 fich2 dir1 dir2 fich3 fich4  dir001


nice(1)

A un usuario normal le permitirá bajar la prioridad de los proceso lanzados con este comando. Solo root puede usarlo para aumentar la prioridad. Una vez que un comando ha sido lanzado se puede modificar su prioridad con renice.


$ nice comando


nohup(1)

Los comandos lanzados con nohup no terminan al abandonar la sesión. Se puede usar combinado con la ejecución en background.


$ nohup GeneraInformeMensual > informe01-05-2000.out &

$ # logout
$ exit


passwd(1)

Permite cambiar nuestra clave de acceso al sistema. Conviene no olvidar la clave. Generalmente para evitar olvidos los usuarios eligen claves demasiado sencillas. Dependiendo del nivel de seguridad configurado en el sistema, este podría rechazar claves demasiado sencillas. No conviene usar claves cortas ni palabras que puedan ser localizadas en un diccionario ni fechas o nombres relacionadas con datos de alto significado personal. Palabras escritas al revés tampoco son seguras. Intercalar algún carácter de puntuación alguna mayúscula o algún dígito suele ser una buena práctica. foTo;21 pon.5.mar 7li-bRos Bueno si el ordenador es de uso personal y solo tienen acceso personas de confianza tampoco hay que ser demasiado paranoico.


paste(1)

Se usa para combinar columnas de distintos ficheros en uno solo. Viene a ser lo contrario del comando cut.


$ who | paste - -


pr(1)

Permite paginar un texto incorporando cabeceras.

$ ls /*/* | pr -h ejemplo-pr -o 5 -l 35 | less


ps(1)

Permite obtener información de los procesos en ejecución. Dependiendo lo que nos interese existen diversas opciones para una gran variedad de formatos y de selección de la información de salida.


pstree(1)

Muestra la jerarquía entre procesos mostrando las relaciones de parentesco entre ellos.


$ pstree 

$ pstree -p

La opción -p es muy útil para averiguar el pid de un proceso.


pwd(1)

Este comando retorna el lugar donde nos encontramos.

$ pwd

Se puede usar por ejemplo para guardar el lugar donde estamos ahora con objeto de retornar ala mismo lugar más tarde.

$ AQUI=`pwd`
$ cd /tmp
$ ls
$ cd $AQUI


renice(1)

Es parecido a nice pero actúa sobre un proceso que ya fue arrancado con anterioridad. Por ejemplo hemos lanzado un proceso que consume muchos recursos y lleva mucho tiempo. En lugar de pararlo podemos bajarle la prioridad para que gaste muchos recursos. (Cuando decimos recursos nos referimos a uso de memoria, uso de CPU, etc) Un super usuario como root puede incrementar la prioridad usando un número negativo. Un usuario normal solo podrá decrementar la prioridad usando un número positivo. En cualquier caso se requiere conocer el pid del proceso que deseamos modificar y solo podremos hacerlo si es un proceso nuestro. Por ejemplo vamos a suponer que el PID de ese proceso que deseamos bajar de prioridad es el 778.

$ renice +15 778


reset(1)

Puede ocurrir que el terminal quede des-configurado por alguna razón. Esto se debe a que un terminal interpreta comandos en forma de secuencias de caracteres. Esto permite mostrar colores manejar el cursor y una serie de cosas más. Cuando accidentalmente enviamos al terminal un fichero binario que contiene caracteres de todo tipo en cualquier orden, es bastante normal que el terminal quede inutilizable. Muchas veces se puede recuperar introduciendo el comando reset.


rm(1)

Ya hemos explicado y usado este comando. Sirve para borrar ficheros.


rmdir(1)

Ya hemos explicado y usado este comando. Sirve para eliminar directorios que deben de estar vacíos.


rsh(1)

Permite siempre que tengamos permiso ejecutar un comando en un ordenador distinto. Se puede usar para transferir grandes cantidades de información a través de la red. Por ejemplo imaginemos que queremos sacar una copia de seguridad guardando la información en una unidad de cinta que se encuentra en un ordenador distinto. En ese caso se lanzan dos comandos simultáneos comunicándolos con un pipe. Un comando se ejecutará en el ordenador remoto con rsh y el otro se ejecuta en local. Ambos procesos quedan comunicados por entrada salida pero eso implica que esa comunicación viajará a través de la red.

$ ### Para salvar
$ tar cf - . | rsh remotehost dd of=/dev/tape

$ ### Para recuperar
$ rsh remotehost dd if=/dev/tape | tar xf -

La forma de combinar comandos en unix conectando entrada salida permite hacer muchas veces cosas sorprendentes como en este caso. Existen un comando similar que hace lo mismo pero la información viaja encriptada a través de la red. Se trata de 'ssh'.


script(1)

Este es un comando realmente curioso. Su utilidad principal es grabar una sesión. Lanza una subshell que se ejecutara en un pseudo-terminal. Este palabro no deseamos explicarlo ahora pero mientras estamos en esa subshell todos los caracteres recibidos por el terminal son grabados en un fichero. Para terminar se teclea exit. Es útil para memorizar sesiones de trabajo.


sed(1)

Este es un editor de flujo. Dicho de otra forma es un editor que está pensado para usarlo como flujo. De esta forma se puede usar como una poderosa herramienta para transformar texto. Se estudiará más adelante.


sleep(1)

Sirve para esperar sin consumir recursos. El proceso queda dormido durante el número de segundos indicado.


$ echo hola; sleep 5 ; echo que tal


sort(1)

Este comando permite ordenar lineas de texto. Se puede usar como filtro. Se estudiará más adelante.


split(1)

Este comando sirve para partir en trozos más pequeños un fichero grande. Para volver a obtener el fichero original bastará con usar el comando 'cat'


$ split --bytes=52m ficherogrande parte

Este comando trocea ficherogrande en trozos de 52Mbytes que se guardan en ficheros que empiezan con el prefijo 'parte' seguido de una numeración secuencial.


stty(1)

Sirve para comprobar el estado actual del terminal y para cambiar la configuración del mismo. Se puede cambiar el significado de algunos caracteres de control, establecer el número de filas y columnas del terminal, la velocidad de transmisión, etc. Para comprobar el estado actual teclee lo siguiente.

$ stty -a


su(1)

Permite cambiar de usuario. Lo que se hace es lanzar una subshell. Hay dos formas de hacerlo. 'su nuevousuario' y 'su - nuevousuario'. Si no usamos la segunda forma solo cambiará el usuario efectivo pero el entorno del proceso se mantiene. Si por el contrario se usa la segunda forma se ejecutarán los scripts de inicio de sesión para el nuevo usuario y tendremos una sesión idéntica a la obtenida con la entrada con login para ese nuevo usuario. Para terminar esa sesión bastará hacer exit.


$ su nuevousuario

$ su - nuevousuario

Para un usuario normal se solicitará la password del nuevo usuario.


tail(1)

Así como head servía para obtener las primeras líneas de un fichero tail sirve para obtener las últimas líneas de un fichero


$ tail fichero

Tail tiene una opción muy útil para mostrar que es lo que está pasando en ficheros que se están generando o que crecen continuamente.


$ tail -f fichero

Este comando no termina nunca y muestra el final del fichero quedando a la espera de mostrar el resto de mismo a medida que se genere. Para terminar hay que matarlo con Ctrl-C.


talk(1)

Permite abrir una sesión de charla interactiva con otro usuario.


tee(1)

Este comando se utiliza para obtener una bifurcación en un flujo de entrada salida. Actúa como una derivación en forma de 'T'.


$ ll | tee todos-fich | tail > ultimos-fich


telnet(1)

Permite abrir una sesión de trabajo en otra máquina.


$ telnet localhost

Con esto podemos probar telnet conectándonos con nuestra propia máquina. A continuación saldrá la solicitud de login.


test(1)

Se usa para evaluar expresiones. Se usa mucho en la programación shell-script. Lo que se usa es su código de retorno. Tiene dos formas de uso 'test expresión' o '[ expresión ]'


$ test "2" = "3"
$ echo $?

$ test "2" = "2"
$ echo $?

$ A=335
$ B=335

$ [ "$A" = "$B" ]
$ echo $?

Se estudiará más adelante.


tload(1)

Convierte el terminal en un monitor semi-gráfico que indicará el nivel de carga del sistema. Se interrumpe con Ctrl-C. Si el sistema no está trabajando demasiado no verá nada demasiado interesante.


$ ls /*/* > /dev/null 2>&1  &

$ tload -d 2


top(1)

Muestra información de cabecera con estadísticas de uso de recursos. (número de procesos y en que estado están, consumo de CPU, de memoria, y de swap). Además muestra información muy completa sobre los procesos que están consumiendo más recursos. Si el ordenador va muy lento por exceso de trabajo podemos hacernos una idea muy buena de los motivos usando este comando. En realidad este comando es muy útil para el administrador del sistema pero los usuarios que comparten el uso de un sistema con otros usuarios también tienen que usar los recursos del sistema de forma inteligente bajando la prioridad de tareas poco urgentes y que consuman mucho. En especial no resulta buena idea lanzar muchas tareas pesadas de forma simultanea aunque sean urgentes porque se perjudica el rendimiento global del sistema que gastará excesivo tiempo en labores improductivas de gestión de procesos.


$ top

Para salir hay que pulsar 'q'.


tr(1)

Se utiliza para sustituir carácter.

$ # Pasar a mayúsculas
$ tr '[a-z]' '[A-Z]' < fichero > nuevofichero

$ # Eliminar el carácter ':'
$ tr -d : < fichero > nuevofichero


true(1)

Este comando es el contrario del comando 'false'. Solo tiene sentido usarlo en programación y retorna un código de retorno que indica éxito. En otras palabras no hace pero al menos lo hace correctamente.


vi(1)

Este es un editor muy potente y presente en todos los sistemas de tipo Unix. Se estudiará más adelante.


w(1)

Muestra información de usuarios actualmente conectados mostrando momento de inicio de sesión y el consumo de CPU que se ha realizado.


$ w


wc(1)

Este es un comando que se usa bastante. Sirve para contar caracteres, palabras y lineas en un fichero o en un flujo de entrada salida.


$ wc fichero

$ cat fichero | wc


whatis(1)

Sirve para mostrar la breve descripción de un comando que figura en las páginas del manual


$ whatis ls

$ whatis whatis


who(1)

Saca la información de quienes están conectados al sistema.


$ who


whoami(1)

Para averiguar quien es usted en ese momento. En un programa puede ser interesante comprobar quien lo está ejecutando.

$ whoami


whereis(1)

Sirve para localizar un comando en el sistema siempre que este esté localizado en $PATH


$ whereis ls

$ whereis whereis


write(1)

Siempre que se tenga permiso permite enviar mensajes a otro usuario.


$ write root


xargs(1)

Sirve para pasar argumentos a un comando mediante entrada salida.


$ echo '-l' | xargs ls

Cosas como estas añaden bastante potencia al lenguaje shell-script.


z...

Hay una serie de comandos. 'zcat, zmore, zgrep, zless, zdiff' que permiten trabajar directamente con ficheros comprimidos con gzip en la misma forma que lo haríamos directamente con 'cat, more, grep, less y diff' respectivamente.


$ zless documento.txt.gz


Por esta vez no incluiremos ningún test ya que no se trataba de aprender conceptos nuevos sino de exponer la lista de comandos de usuario para que poco a poco pueda sacarle mayor partido a su SO.

Si quiere hacernos llegar alguna duda, aclaración,
crítica, o contribución personal, utilice nuestro
formulario de contacto y nosotros le contestaremos
contacto