Sunteți pe pagina 1din 14

El rbol de directorios

Los sistemas Linux, y en general todos los sistemas Unix, siguen un orden bsico a la hora d
informacin dentro de los directorios. El rbol de directorios que casi todas las distribuciones
del raz /, es el siguiente:
/bin
Contiene las utilidades bsicas del sistema,
por ejemplo los comandos comentados en la
primera parte del artculo.
/dev
Contiene los archivos que representan a
dispositivos. Son archivos necesarios para
el funcionamiento de Linux, y estn
relacionados
con perfricos de la mquina. Como nota
curiosa,
el dispositivo reprentado por /dev/null es
una
especie de agujero negro: todo lo que se
enve
hacia l desaparece.
/etc
En este directorio se almacenan los archivos
de configuracin del sistema y de las
aplicaciones instaladas en l. Tambin
contiene los scripts de
inicio que se ejecutan cuando arranca la
mquina.
En principio no debera haber ningn fichero
de configuracin fuera de este directorio. Al
ser un directorio crtico para el sistema, solo
el
superusuario tiene permiso de escritura en
este directorio.
/home
En este directorio se encuentran los
directorios principales de los usuarios.
Generalmente cada usuario tiene un
directorio principal dentro de
/home. Por ejemplo el usuario nacho tendra
su
cuenta localizada en /home/nacho. Para
evitar perdidas de datos accidentales, este
directorio se
suele montar en un dispositivo aparte y se
le suele hacer un backup peridico.
/lib
Contiene las libreras necesarias para que se
puedan ejecutar los comandos que se
encuentran
en /bin, as como para que los usuarios
puedan programar sus propias aplicaciones.
Por ejemplo,
las funciones de librera del lenguaje C se

/usr

/var

/tmp

encuentran en este directorio.


Tras el sistema raz, este es el sistema de
ficheros
ms importante. Contiene todos los datos y
programas que se utilizan en una
distribucin
Linux. Por ello, este directorio se divide a su
vez
en una jerarqua muy parecida a la del
directorio
raz.
Aqu se almacenan todos aquellos ficheros
que se consideran variables, como algunos
ficheros de registro del sistema, buzones de
correo electrnico, etc.
Ficheros temporales.

Figura 7: Directorio raz


Adentrate en el "mundo Linux". Conoce los comandos ms bsicos de la
Shell
Introduccin
Este artculo trata de dar un breve repaso a los comandos ms bsicos del
sistema operativo Linux, permitiendo al usuario novel realizar operaciones
sencillas que le guen en sus primeros pasos.

Antes de comenzar, el usuario menos avezado podra preguntarse: pero,


qu es Linux? Linux es un sistema operativo multitarea y multiusuario
concebido para funcionar en ordenadores personales (PCs). Esta basado en
el sistema operativo UNIX, creado en 1969 en los laboratorios Bell de la
empresa AT&T, y se desarroll inicialmente como una versin gratuita de
este ltimo. Al tener el cdigo disponible para todo el mundo, y gracias
entre otras cosas al auge de la Internet, Linux ha ido evolucionando hasta
ser hoy en da una de las opciones preferidas en el mercado no slo
personal sino tambin profesional.
Debido a su procedencia, originalmente Linux reciba todos las ordenes
mediante comandos de texto. Actualmente los usuarios se pueden
encontrar con un entono mucho ms agradable y ms parecido a otros
sistemas como Windows. Sin embargo, los comandos de texto siguen
existiendo y son muy necesarios en ms de una ocasin, sobre todo cuando
el usuario va indagando ms y ms.

Figura 1: Pantalla de Linux


El modo de texto de Linux recibe el nombre de modo consola. En la consola,
los comandos son analizados y ejecutados por el shell, o interprete de

comandos. Existen muchos interpretes de comandos distintos. Por ejemplo,


en MS-DOS el shell es el command.com. En Linux, los ms populares son
el sh, el csh, el ksh y el bash. Cada uno de ellos se diferencia del anterior en
que mejora y complementa las rdenes existentes y aade nuevas
posibilidades. Por su popularidad, este artculo se centrar en el bash.
A continuacin se expondrn algunos de los comandos de texto ms
comunes y usados en Linux, as como ejemplos de la salida por pantalla de
su ejecucin para que el usuario pueda seguir los ejemplos paso a paso.
Primeros pasos en la consola de Linux
Como se coment en la introduccin, Linux es un sistema multiusuario.
Cada usuario dispone de su propio espacio personal, conocido como cuenta.
Al ser un espacio propio, el acceso a la cuenta est protegido mediante una
contrasea. De esta manera, el usuario tendr un identificador propio ( login
) y una contrasea ( password ) asociadas a una cuenta que lo identificarn
en el sistema. Cuando alguna persona quiera acceder a su cuenta, lo har
desde una pantalla como la que se muestra en la figura.
Una vez concedido el acceso, el usuario estar dentro de su cuenta, que no
es ms que un directorio igual que el resto, pero del cual se disponen de
todos los permisos. Cada usuario tendr su propio directorio, del que
colgarn ms directorios y ficheros, todos con los permisos del usuario. El
dueo de cada fichero/directorio es libre para decidir si permite que los
otros usuarios accedan a ellos o no, aadiendo o revocando los permisos
necesarios. El tema de los permisos se volver a revisar cuando se hable del
sistema de ficheros.
Lo primero que ver el usuario ser el prompt. El prompt es el indicador que
utiliza el shell para avisar de que est a la espera de comandos. Para el
lector familiarizado con MS-DOS, el prompt que se utiliza en este ultimo
sistema operativo suele ser algo como C:>. En Linux este indicador es
totalmente configurable, aunque generalmente suele mostrar el directorio
actual y el nombre de la maquina, o bien nombre de mquina y nombre de
usuario. Un aspecto muy comn puede ser el siguiente: [CIBELES@nacho]
Tras el prompt, se introducen las ordenes por el usuario.
Comandos bsicos
La mayor parte de los comandos que se utilizan en un sistema operativo
sirven para recorrer el rbol de directorios y para la manipulacin de
ficheros. Linux no es una excepcin al respecto, por lo que la mayor parte
de los comandos simples son similares en cuanto a funcionamiento a los de
otros sistemas, aunque varen en sintaxis. Para comprender mejor los
comandos que se van a explicar a continuacin, conviene tener una consola
abierta para poder practicar los comandos y ver los resultados por uno
mismo. Aunque existen muchos ms comandos (y posiblemente mucho ms
complejos) que los expuestos aqu, se pretende proporcionar al lector con la
cantidad suficiente como para que sus primeros paseos en Linux le resulten
de utilidad. Antes de comenzar, es importante precisar que Linux distingue
entre maysculas y minsculas, por lo que hay que ser cuidadoso y respetar
la sintaxis de los comandos.
pwd: imprime el directorio actual

El comando pwd nos muestra la ruta de directorios en la que estamos


situados en este momento. Podemos hacer uso de este comando siempre
que no sepamos exactamente el lugar en el que estamos.
ls: lista archivos
Este comando lista los archivos (incluyendo directorios) que hay dentro del
directorio actual. El equivalente en DOS sera dir. El comando ls tiene
bastantes parmetros que nos permitirn cambiar su comprotamiento,
aunque los ms usados son los siguientes:
-l : no slo muestra los archivos, sino que para cada uno de ellos
indica usuario, grupo, tamao, permisos, etc.
-a: muestra todos los archivos, incluyendo los ocultos.
-t: ordena los archivos por fecha de modificacin.
Estas opciones pueden combinarse usando un solo signo -, por ejemplo, -lat
muestra informacin larga sobre todos los archivos incluidos los ocultos y
ordenados por fecha de modificacin.
Un tema importante para comprender la salida del comando ls es entender
el tema de los permisos en Linux. Cuando se ejecuta ls l, aparece una
primera columa con diez caracteres que indican el tipo de fichero y los
permisos, de la siguiente manera:

El primer carcter indica qu tipo de archivo es. Una d indica un


directorio, un l es un enlace y un - representa un archivo normal.

Los siguientes tres caracteres indican los permisos que tiene el archivo
para el dueo. La primera columna indica lectura, y puede tener una r si
est habilitado en permiso o - en caso contrario. La segunda indica
permiso de escritura, y puede tener una w si est habilitado o un - si no
lo est. La tercera indica permiso de ejecucin, y puede tener una x si
est habilitado o un - si no lo est.

Los otros tres caracteres son los permisos para el grupo, y los ltimos
tres son los permisos para el resto de los usuarios.

Figura 2: Resultado de ls -lat


mkdir: crea directorio
El comando mkdir nos permite crear un directorio, igual que en MS-DOS. La
manera correcta de usarlo es la siguiente:
mkdir [-p] directorio
Podemos usar rutas relativas o absolutas. Cuando se usan rutas relativas, se
usa el directorio actual como raz. Por ejemplo, supongamos que queremos
saber el directorio en el que estamos, crear otro dentro de l y consultar el
resultado. La secuencia completa sera la siguiente:

Figura 3: Secuencia anterior


Pueden concatenarse directorios para crear directorios pasando por
directorios intermedios. Sin embargo, si alguno de los directorios
intermedios no existe, el comando dara error. Para evitar esto, se utiliza la
opcin p, que crea no slo el directorio final, sino tambin los intermedios
en caso de no existir.
rmdir: elimina directorios
Para borrar directorios se usar el comando rmdir, equivalente al rmdir de
MS-DOS. El comando rmdir presenta el siguiente formato:
rmdir [-ri ] directorio
Una condicin para que el comando funcione correctamente es que los
directorios a eliminar estn vacos. Si no lo estn, habr que borrar los
ficheros que contiene antes de borrar el directorio.
Para borrar todos los directorios ( vacos ) que cuelgan de uno dado se
utiliza la opcin r. Con la opcin i entramos en el modo interactivo, el que
se nos pregunta antes de eliminar cada directorio.
cd: cambiar de directorio
Para movernos entre directorio podemos utilizar el comando cd, igual que
en MSDOS. Por ejemplo, cd / nos lleva al directorio raz
Para cambiar a un directorio dentro del actual, podemos hacer cd directorio,
aunque tamben podemos emplear rutas absolutas como cd /home/ilopez.
Si utilizamos cd sin parmetros, accederemos al directorio personal del
usuario (home ). Esto puede ser muy til cuando queramos regresar a
nuestro directorio personal despus de haber estado en cualquier otro sitio.

Para cambiar al directorio padre del actual, se har cd .. ( con espacio entre
cd y .. ). Para volver al directorio en el que estaba el usuario antes de
ejecutar el ltimo cd, se puede ejecutar cd -.
cat, more, less: examinar el contenido de un fichero.
Una vez que el usuario ya conoce como listar los archivos de un directorio,
como moverse entre directorios y como crear y borrar directorios, lo
siguiente que surge es la necesidad de examinar el contenido de los
ficheros. Los comandos cat, more y less permiten hojear el contenido de un
fichero, teniendo cada uno sus particularidades que se comentarn a
continuacin. El formato de los tres comandos es el siguiente:
cat fichero
more fichero
less fichero
cat es el comando ms simple, pues muestra el contenido de un fichero
mostrndolo por pantalla y sin ningn tipo de pausa. Un caso especial se
produce cuando se ejecuta el comando cat sin parmetros. Entonces el
comando se queda esperando a que se introduzcan caracteres por pantalla,
mostrndolos lnea a lnea hasta que pulsa Ctrl-D.
more y less s permiten hacer pausas durante la visualizacin de los datos.
Para avanzar entre pantallas se pulsa cualquier tecla. La diferencia entre
ambos consiste en que el comando less utliza las teclas de flechas para
poder avanzar y retroceder por el fichero, cualidad de la que carece el
comando more.
cp: copiar ficheros
El comando cp es el que se utiliza para copiar archivos (equivalente a copy
de MS-DOS ). El formato del comando cp es el siguiente:
cp [-frivu] origen destino
Para poder copiar un fichero es imprescindible que se tenga permiso de
lectura del fichero origen y permiso de escritura en el directorio destino.
Cuando el fichero destino ya existe, el sistema actuar con una accin por
defecto diferente segn el sistema, pero que el usuario puede modificar con
los parmetros de entrada:

-f: sobreescribe el fichero destino.

-i: pregunta al usuario sobre si debe sobreescribir o no.

-u: slo sobreescribe si el fichero destino es ms antiguo que el origen.


Otros parmetros de inters son:

-r: copia recursivamente directorios y subdirectorios.

-v: muestra por pantalla las operaciones que realiza el comando.


mv: mover ficheros
El comando mv mueve ficheros de un lugar para otro. Tambin sirve para
renombrar un fichero. Si se ejecuta mv viejo nuevo, el archivo viejo pasar a
llamarse nuevo. Por lo dems, su comportamiento es similar al del comando
cp.
rm: borra archivos
Por medio del comando rm se pueden eliminar archivos. Hay que tener
cuidado, aqu no existe una papelera de reciclaje. Lo que se borra se pierde,
y no se puede recuperar de ninguna forma.

El formato del comando rm es el siguiente:


rm [-friv ] nombre
Las opciones funcionan de manera similar a cmo lo hacen en el comando
cp, pero en este caso hay que tener ms cuidado con el uso de las opciones
-f y r. Como ya se vi, la opcin r acta recursivamente en directorios y
subidrectorios, mientras que la opcin f fuerza la ejecucin del comando
sin ningn tipo de pregunta. Imagnese lo que podra provocar un comando
rm rf en el directorio raz. Se perdera toda la informacin del sistema sin
posibilidad de recuperarla!
find: encuentra archivos
El comando find localiza los archivos pasados como parmetros. Resulta de
mucha utlidad en el caso de querer saber en qu directorio se encuentro un
archivo determinado. Es importante destacar que el comando slo buscar
en los directorios en los que el usuario tenga permiso de lectura.. Existen
diversas maneras de utilizar el comando find, que se entendern mejor
usando ejemplos:

find . name main.cpp encuentra todos los archivos llamados


main.cpp a partir del directorio actual.

find . size 60k busca los archivos que ocupan 60 kilobytes a partir del
directorio actual. Si se utiliza find . size 30c, buscar los archivos que
ocupen 30 bytes.
Se puede observar en la figura el resultado de una bsqueda en el sistema.

Figura 4: Ejecutando un find


date: obtiene o modifica la fecha actual del sistema
Con el comando date se puede obtener la fecha actual. Si se le pasa una
hora como parmetro, modificar la hora del sistema (slo un usuario
especial conocido como superusuario o root tiene permiso para cambiar la
hora del sistema).
who: qu usuarios hay en el sistema
El comando who muestra por pantalla los usuarios que estn conectados en
el sistema. Ejecutando el comando de la forma who am i, devuelve el login
del usuario que lo ha ejecutado.
Metacaracteres
En todos los comandos de gestin de ficheros sera muy interesante trabajar
con grupos de archivos. Por ejemplo, puede ser muy interesante borrar
todos los ficheros temporales con un solo comando, o mover todos los
ficheros de texto a un directorio Documentos, etc. Para trabajar con grupos
de fichero, el shell permite el uso de caracteres especiales llamados
comodines que permitirn la creacin de patrones o plantillas para ajustar

nombres de ficheros. Por ejemplo, el patrn mon* identifica todos los


archivos que empiezan por mon.
Los comodines que podemos usar son:
* Puede ser sustituido por cualquier cadena de caracteres. De este modo, *pan
significa
cualquier cadena de caracteres que termine en pan.
? Se sustituye por cualquier carcter. Es decir, la expresin se reemplaza por
cualquier
nombre que en esa posicin tengan cualquier carcter y el resto coincidan con los
que
hemos escrito.
[] Encerrado entre corchetes podremos seleccionar un conjunto de caracteres que
deben
concordar con el pedido. Podemos especificar adems un rango usando el guin -.
Por ejemplo, [mb]* representa todos los archivos cuyo nombre comience por m o
por b.
[^] Representa todos los caracteres excepto el indicado.
Por ejemplo, [^0-9] representa todos los archivos cuyo nombre no empiece con un
numero.

Figura 5: Ls con patrones


Obteniendo ms informacin
Una de las grandes facilidades que proporciona Linux a sus usuarios es el
manual en lnea que proporciona, accesible desde el comando man. El
formato del comando man es el siguiente:

man [seccin] [-aK] nombre


El comando man muestra en la consola una ayuda sobre el comando
pedido, permitiendo avanzar y retroceder con la flechas para repasar o
adelantar a la zona de inters.
La ayuda est dividida en secciones. Cada una de las secciones est
dedicada a un grupo de utilidades del sistema. Las diferentes secciones se
muestran en la siguiente tabla.
Secci Tabla
n
1
Comandos del usuario
2
Llamadas al sistema
3
Bibliotecas
5
Formatos de ficheros
6
Juegos
7
Miscelnea
8
Administracin del sistema
N
Nuevos elementos
Cuando se ejecuta el comando man usando tan slo la informacin a buscar,
sin parmetros, se muestra el contenido de la primera seccin en la que
aparezca la ayuda. Si se quiere especificar una seccin en concreto, se
deber especificar su nmero.
La opcin K permite especificar una cadena de bsqueda que el comando
man buscar por todas las pginas de ayuda hasta encontrarla. De esta
manera, se puede hacer una consulta cuando se sabe qu se quiere hacer,
pero no se sabe el cmo. Por ello, el comando man se convierte en un aliado
perfecto para el usuario de Linux.

Figura 6: Haciendo un man


Otra fuente de informacin fundamental a la hora de trabajar con Linux son
los documentos de ayuda que se incluyen con el propio sistema operativo.
Casi todas las aplicaciones tendrn documentos de informacin que
podremos localizar en el directorio /usr/share/doc.
Adems de estos documentos de ayuda, existen otros con informacin
precisa sobre cmo hacer determinadas cosas en el sistema, como
configurar la tarjeta de sonido o la tarjeta de red. Estos documentos,
conocidos como HOWTO, se encuentran localizados en el directorio
/usr/share/doc/HOWTO.
Entendiendo el sistema de archivos
Si en cualquier sistema operativo los archivos son importantes, en Linux se
convierten en esenciales. Linux trata absolutamente todo como si fueran
archivos, no slo los documentos de texto, sino los directorios, dispositivos,
red, etc.
Todos los archivos estn organizados en directorios ubicados a partir del
directorio raz /. Gracias a esto, el usuario no necesita saber dnde est
localizado fsicamente un archivo. Cuando se ejecuta ls / se mostrarn todos
los archivos, algunos de los cuales estarn localizados en el servidor, otros
en una mquina de nuestra red, e incluso otros en un servidor remoto,
siendo esto transparente para el usuario.
Cualquier estructura jerrquica de directorios y archivos recibe el nombre de
sistema de archivos ( file system ). En un sistema Linux pueden coexistir
varios sistemas de archivos. Estos se montan en el directorio raz del

sistema y adquieren la apariencia de subdirectorios como pueden ser /usr


o /home. Cada uno de estos sistema de archivos pueden estar montados en
diferentes dispositivos, y de hecho es bastante comn tener los sistemas de
archivos importantes localizados en diferentes dispositivos, para evitar la
perdida de datos importantes.
Cuando queremos aadir un dispositivo nuevo al sistema, debemos montar
este dispositivo. Existe un comando que nos facilita el manejo de los
distintos sistemas de archivos que tenemos en el sistema: el comando
mount. La salida de este comando nos lista la identificacin del sistema de
archivos, el lugar del rbol de directorios en el que est montado y el tipo
de sistema de archivos que constituye, adems de los flags con los que se
ha montado.
Por ejemplo, para poder utilizar un disquete se debe montar antes.
Ejecutando
mount /floppy
se montar en el directorio /floppy el disquete y se podr acceder a l. En
este caso, el sistema operativo conoce el tipo concreto de sistema de
ficheros que debe montar, y no hace falta aadir ms opciones al comando.
Una vez utilizado el disquete, y cuando ya no queramos usarlo, habr que
desmontarlo. Es muy importante hacer esto por la forma en la que trabaja
un sistema operativo. Cuando se estn haciendo modificaciones en un
archivo, stas no se salvan inmediatamente, porque el acceso a disco es
lento, y por eso el sistema operativo realiza los cambios en los momentos
libres de los que dispone. Por ello si no se desmonta un dispositivo, puede
ocurrir que se pierdan algunos de los cambios que se han realizado. Al
desmontar un sistema de archivos se fuerza la escritura de datos en el
dispositivo, permitiendo retirar el dispositivo con total seguridad. Para
desmontar la unidad de disquetes, se ejecutar el comando
umount /floppy
Otro comando muy til a la hora de trabajar con sistemas de archivos es df.
Este comando muestra los sistemas de ficheros que hay instalados en el
sistema. Adems indica el espacio que est siendo utilizado y el que queda
an libre para cada uno de los sistemas de ficheros.

S-ar putea să vă placă și