ant

PRIMEROS PASOS EN UNIX
3.3

sig

3.3 Primeros pasos en UNIX

Antes de comenzar es importante destacar que todos los nombres de ficheros y comandos son "case-sensitive" (que hacen diferencia entre mayúsculas y minúsculas, a diferencia de sistemas operativos como MS-DOS). Por ejemplo, el comando make es diferente a Make o MAKE. Lo mismo ocurre en el caso de nombres de ficheros o directorios.

3.3.1 Moviéndonos por el entorno

Ahora que ya podemos presentarnos como usuarios, y sabemos como indicar ficheros con su camino completo, ¿como podemos cambiar nuestro directorio de trabajo?
La orden para movernos por la estructura de directorios es cd(Change Directory), abreviación de "cambio de directorio". Hay que destacar, que la mayoría de las ordenes UNIX más usadas son de dos o tres letras. La forma de uso de la orden cd es:
cd <directorio>
donde <directorio> es el nombre del directorio al que queremos ir.

Como dijimos, al entrar al sistema comenzamos en el directorio "home". Si Decker quiere ir al subdirectorio documentos, debería usar la orden
/home/Decker# cd documentos
/home/Decker/documentos# pwd
/home/Decker/documentos
Como se puede ver, la linea de comandos de Decker cambia para mostrar su directorio actual de trabajo. Ahora que ya esta en el directorio documentos puede echarle un vistazo a su fichero madrid.txt con el comando
/home/Decker/documentos# more madrid.txt
Ahora Decker esta en el subdirectorio documentos, para volver al directorio padre de este, usará la orden
/home/Decker/documentos# cd ..
/home/Decker#
(Dese cuenta del espacio entre "cd" y ".."). Cada directorio tiene una entrada de nombre ".." la cual se refiere al directorio padre. De igual forma, existe en cada directorio la entrada "." la cual se refiere a si mismo. Así que el comando nos deja donde estamos.
/home/Decker/documentos# cd .
/home/Decker/documentos#
También pueden usarse nombres con el camino absoluto en la orden cd. Para ir al directorio de oscar con cd, introduciremos la siguiente orden.
/home/Decker/documentos# cd /home/oscar
/home/oscar#
También, usando cd sin argumentos nos llevara a nuestro directorio de origen.
/home/oscar# cd
/home/Decker#

3.3.2 Mirando el contenido de los directorios

Ahora que ya sabe como moverse por los directorios probablemente pensará: ¿Y bien? El simple movimiento por el árbol de directorios es poco útil, necesitamos un nuevo comando, ls. ls muestra por el terminal la lista de ficheros y directorios, por defecto, los del directorio activo. Por ejemplo;
/home/Decker# ls
Mail
cartas
documentos
/home/Decker#
Aqui podemos ver que Larry tiene tres entradas en su directorio actual: Mail, cartas y documentos. Esto no nos dice demasiado ¿son ficheros o directorios?. Podemos usar la opción -F de la orden ls para obtener más información.
/home/Decker# ls -F
Mail/
cartas/
documentos/
/home/Decker#
Por el carácter / añadido a cada nombre sabemos que las tres entradas son subdirectorios. La orden ls -F puede también añadir al final "*", esto indica que es un fichero ejecutable. Si ls -F no añade nada, entonces es un fichero normal, es decir no es ni un directorio ni un ejecutable.

Por lo general cada orden UNIX puede tomar una serie de opciones definidas en forma de argumentos. Estos usualmente comienzan con el carácter "-", como vimos antes con ls -F. La opción -F le dice a ls que dé más información sobre el tipo de ficheros en este caso añadiendo un / detrás de cada nombre de un directorio.

Si a ls le pasamos un nombre de directorio, mostrará el contenido de ese directorio.
/home/Decker# ls -F documentos
tesis
madrid.txt
agenda
universidad/
/home/Decker#
Para ver un listado más interesante, veamos el contenido de directorio del sistema /etc.
/home/Decker# ls /etc

Images ftpusers lpc rc.new shells
adm getty magic rc0.d startcons
bcheckrc gettydefs motd rc1.d swapoff
brc group mount rc2.d swapon
brc~ inet mtab rc3.d syslog.conf
csh.cshrc init mtools rc4.d syslog.pid
csh.login init.d pac rc5.d syslogd.reload
default initrunlvl passwd rmt termcap
disktab inittab printcap rpc umount
fdprm inittab.old profile rpcinfo update
fstab issue psdatabase securetty utmp
ftpaccess lilo rc services wtmp

/home/Decker#
(Para los usuarios de MS-DOS, nótese que los nombres de los ficheros pueden ser mayores de caracteres y pueden contener puntos en cualquier posición. Incluso es posible que un fichero contenga mas de un punto en su nombre.) Vayamos al directorio raíz con "cd .." y desde allí vayamos al directorio /usr/bin.
/home/Decker# cd ..
/home# cd ..
/# cd usr
/usr# cd bin
/usr/bin#
También podemos movernos dentro de directorios en múltiples pasos, como en cd /usr/bin. Trate de moverse por varios directorios usando ls y cd. En algunos casos podrá encontrarse el desagradable mensaje de error "Permission denied". Esto simplemente es debido a cuestiones de seguridad del UNIX. Para poder moverse o listar un directorio debe de tener permisos para poder hacerlo. Hablaremos mas sobre ello en la Sección 3.9.

3.3.3 Creando directorios nuevos

Es el momento de aprender a crear directorios. Para ello se usa la orden mkdir. Pruebe lo siguiente:
/home/Decker# mkdir caja
/home/Decker# ls -F
Mail/
caja/
cartas/
documentos/
/home/Decker# cd caja
/home/Decker/caja# ls
/home/Decker/caja#
Enhorabuena! Acaba de crear un directorio nuevo y moverse a él. Como no hay ningún fichero en el directorio nuevo, veamos como copiar ficheros desde un lugar a otro.

3.3.4 Copia de ficheros

La copia de ficheros es efectuada por la orden cp:
/home/Decker/caja# cp /etc/termcap .
/home/Decker/caja# cp /etc/shells .
/home/Decker/caja# ls -F
shells termcap

/home/Decker/caja# cp shells cosa
/home/Decker/caja# ls -F
cosa shells termcap
/home/Decker/caja#
La orden cp copia los ficheros listados en la linea de comandos al fichero o directorio pasado como ultimo argumento. Nótese como se usa el directorio "." para referirnos al directorio actual.

3.3.5 Moviendo ficheros

La orden mv mueve ficheros en lugar de copiarlos. La sintaxis es muy sencilla.
/home/Decker/caja# mv termcap pegatina
/home/Decker/caja# ls -F
cosa pegatina shells
/home/Decker/caja#
Nótese como termcap ya no existe, en su lugar esta el fichero pegatina. Esta orden puede usarse para renombrar ficheros, como acabamos de hacer, pero también para mover ficheros a directorios diferentes.
- mv y cp pueden sobreescribir los ficheros destino (si ya existen) sin consultar. Sea cuidadoso cuando mueva un fichero a otro directorio: puede haber ya un fichero con el mismo nombre que será sobrescrito.