4. Primeros pasos en GNU/Linux

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

4.1. Moviéndonos por el entorno

Ahora que ya podemos presentarnos como usuarios y sabemos como indicar archivos con su camino completo, ¿cómo podemos cambiar nuestro directorio de trabajo?
El comando para movernos por la estructura de directorios es cd, abreviación de cambio de directorio. Hay que destacar, que la mayoría de los comandos Unix más usados son de dos o tres letras. La forma de uso del comando cd es:
cd <directorio>
donde <directorio> es el nombre del directorio al que queremos ingresar.
Como ya vimos, al entrar al sistema comenzamos en el directorio home. Si queremos ir al subdirectorio articulos, deberíamos usar la orden:
/home/raul$ cd articulos
/home/raul/articulos$
Como podemos ver, el prompt cambia para mostrar el directorio actual de trabajo. Ahora que ya estamos en el directorio artículos podemos ver el contenido del archivo historia con el comando:
/home/raul/articulos$ cat historia
Ahora estamos en el subdirectorio artículos. Para volver al directorio padre de éste, usamos la orden:
/home/raul/articulos$ cd ..
/home/raul$
(Nótese el espacio entre cd y ..). Cada directorio tiene una entrada de nombre .. la cual se reere al directorio padre. De igual forma, existe en cada directorio la entrada . la cual se reere a sí mismo. Así que el siguiente comando nos deja donde estamos:
/home/raul/articulos$ cd .
/home/raul/articulos$
También pueden usarse nombres con el camino absoluto en el comando cd. Para ir al directorio de carlos con cd, introduciremos la siguiente orden:13
/home/raul/articulos$ cd /home/carlos
/home/carlos$
También, usando cd sin argumentos nos llevará a nuestro directorio home:
/home/carlos$ cd
/home/raul$
Siempre y cuando tengamos permiso para ingresar a dicho directorio, como veremos más adelante.

4.2. Viendo el contenido de los directorios

El simple movimiento por el árbol de directorios es poco útil, necesitamos un nuevo comando: ls. Este comando muestra en pantalla la lista de archivos y directorios, si no se indica otra cosa, del directorio activo.
Por ejemplo:
/home/raul$ ls
Mail
articulos
cartas
/home/raul$
Aquí podemos ver que raul tiene tres entradas en su directorio actual: Mail, artículos y cartas. Esto no nos dice demasiado, ¿son archivos o directorios? Podemos usar la opción -F del comando ls para obtener mas información.
/home/raul$ ls -F
Mail/
articulos/
cartas/
/home/raul$
Por el carácter / añadido al final de cada nombre sabemos que las tres entradas son directorios. La orden ls -F puede también añadir al final un asterisco (*), esto indica que es un archivo ejecutable (programa). Si ls -F no añade nada, entonces es un archivo normal.
Por lo general cada comando Unix puede tomar una serie de opciones denidas en forma de argumentos.
Estos usualmente comienzan con el carácter -15, tal como vimos antes con ls -F. La opción -F le dice a ls que dé información sobre el tipo de cada entrada.
Si a ls le pasamos un nombre de directorio, mostrará su contenido:
/home/raul$ ls -F articulos
ingles
historia
tesis
notas/
/home/raul$
Para ver un listado más interesante, veamos el contenido del directorio /etc.
/home/raul$ 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
Nótese que los listados aparecen ordenados alfabéticamente. Las letras mayúsculas son menores a las minúsculas. Similar al uso del carácter / en DOS.

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/raul$
Los usuarios de DOS notarán que los nombres de los archivos pueden ser más largos que 11 caracteres (8 del nombre y 3 de la extensión) y pueden contener puntos en cualquier posición.16 Incluso es posible que un archivo contenga más de un punto en su nombre.
Vayamos al directorio raíz con cd .. y desde allí vayamos al directorio /usr/bin:
/home/raul$ 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. Tratemos de movernos por varios directorios usando cd y de ver su contenido con ls. En algunos casos podremos encontrarnos con el desagradable mensaje de error Permission denied (permiso denegado). Esto se debe a cuestiones de seguridad del sistema. Para moverse o listar un directorio debemos de tener una serie de
permisos. Hablaremos sobre ello más adelante.

4.3. Creando directorios

Es el momento de aprender a crear directorios. Para ello se usa el comando mkdir. Probemos lo siguiente:
/home/raul$ mkdir nuevo
/home/raul$ ls -F
Mail/
articulos/
cartas/
nuevo/
/home/raul$ cd nuevo
/home/raul/nuevo$ ls
/home/raul/nuevo$
Acabamos de crear un directorio nuevo y movernos dentro de él. Como no contiene ningún archivo, veamos cómo copiar archivos desde un lugar a otro.

4.4. Copiando archivos

La copia de archivos es efectuada por el comando cp:
En Unix no existe el concepto de extensión de un archivo. Es solamente una convención que el nombre de algunos archivos termine con un punto y alguna secuencia de letras (no necesariamente tres) que denoten su tipo.
/home/raul/nuevo$ cp /etc/termcap .
/home/raul/nuevo$ cp /etc/shells .
/home/raul/nuevo$ ls -F
shells termcap
/home/raul/nuevo$ cp shells bells
/home/raul/nuevo$ ls -F
bells shells termcap
/home/raul/nuevo$
El comando cp copia los archivos listados en la línea de comandos al archivo o directorio pasado como último argumento. Nótese que usamos el directorio . para referirnos al directorio actual.

4.5. Moviendo archivos

El comando mv mueve archivos en lugar de copiarlos. La sintaxis es muy sencilla:
/home/raul/nuevo$ mv termcap sells
/home/raul/nuevo$ ls -F
bells sells shells
/home/raul/nuevo$
Nótese como termcap ya no existe, y en su lugar está el archivo sells. Este comando puede usarse para renombrar archivos, como acabamos de hacer, pero también para mover archivos a directorios diferentes.
Nota: mv y cp sobreescribirán los archivos destino (si ya existen) sin consultar. Sea cuidadoso cuando mueva un archivo a otro directorio: puede haber ya un archivo con el mismo nombre que será sobreescrito y su contenido se perderá para siempre.

4.6. Borrando archivos y directorios

Para borrar un archivo, usamos el comando rm.
/home/raul/nuevo$ rm bells sells
/home/raul/nuevo$ ls -F
shells
/home/raul/nuevo$
En el directorio nuevo sólo ha quedado el archivo shells. Nótese que rm por defecto no preguntará antes de borrar un archivo, por lo tanto debemos ser muy cuidadosos.
Un comando relacionado con rm es rmdir. Éste borra un directorio, pero sólo si está vacío. Si el directorio contiene archivos o subdirectorios, nos informará del error.

4.7. Viendo el contenido de archivos

Los comandos cat y less son usados para ver el contenido de archivos. less muestra el archivo pantalla a pantalla, permitiéndonos movernos hacia adelante y atrás, mientras que cat lo muestra completo de una vez.
Para ver el contenido del archivo shells podemos usar la orden:
/home/raul/nuevo$ less shells
Durante la ejecución de less podemos usar [RePág] y [AvPág]17 para retroceder y avanzar por páginas, y las teclas de cursor hacia arriba y abajo para retroceder y avanzar por líneas. [Q] nalizará la ejecución de less. Hay otros comandos disponibles, los citados son sólo los más básicos.
Salgamos de less y probemos cat /etc/termcap. El texto probablemente pasará demasiado rápido como para poder leerlo. El comando cat; viene de concatenar, que es para lo que realmente sirve, pero también puede ser usado para concatenar el contenido de varios archivos. Esto se verá mas adelante.

4.8. Obteniendo ayuda en línea

Prácticamente cada sistema Unix proporciona una utilidad conocida como páginas de manual. Estas páginas contienen documentación en línea para todos los comandos del sistema, recursos, archivos de conguración, etc. El comando usado para acceder a las páginas de manual es man. Por ejemplo, si estamos interesados en conocer otras opciones del comando ls, podemos escribir:
/home/raul$ man ls
y veremos la página de manual para ls.
Desafortunadamente para los principiantes, la mayoría de las páginas de manual contienen detalles técnicos del comando sin ningún ejemplo ni explicación adicional acerca de su uso. Pese a esto, estas páginas son una gran fuente de información que permiten refrescar la memoria si olvidamos la sintaxis de un comando.
Pruebe man con los comandos que ya hemos tratado y con los que vayamos introduciendo. Notará que alguno de los comandos no tiene página de manual. Esto puede deberse a diferentes motivos. El comando puede ser interna del intérprete de comandos (como el caso de cd), o un “alias” (renombre de otro comando), en cuyo caso no tendrán una página propia.

 5. Sumario de comandos básicos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s