Você está na página 1de 7

LECCION 6.

1 Conceptos de directorio raiz, padre, actual y hogar

INTRODUCCION
En éste capítulo discutiremos los conceptos básicos del sistema de archivos y como esto aplica a sis-
temas GNU/Linux. Hay ciertos puntos clave que debe entender de los sistemas de archivos en general:

• Los sistemas de archivos son estructuras de datos colocados dentro de una partición (un segmento de espa-
cio en un dispositivo que esta asignado para ser usado por un sistema de archivos).
• Diferente sistemas operativos a menudo utilizan sistemas de archivos distintos. Existen diferencias entre
GNU/Linux y otros sistemas operativos (y otros UNiX y sus clones) y sus sistema de archivos, lo que
incluye la ausencia de letras para denotar las unidades de discos y el acceso a dispositivo através de entra-
das del sistema de archivos.
• Sistemas de archivos de redes casi siempre contienen una habilidad inherente de limitar el acceso a desti-
no específicos, como un usuario o grupo de usuarios. GNU/Linux emplea el método de acceso a los sis-
temas de archivos con los estándares usados por todos los UNiX y sus clones.

Sistema de Archivos Jerárquico


El Sistema de Archivos de GNU/Linux tiene una estructura jerárquica. Este sistema de archivo es como un
único árbol cubriendo toda la data del sistema. Los archivos son organizados utilizando directorios en una
estructura jerárquica.

En esta sección cubriremos los siguientes tópicos:

• Nombres de
Archivos
• Nombres de
Rutas
• Usuarios, Grupos y
Archivos.

Nombres de Archivos
Los nombres de archivos obedecen un gran número de convensiones. Estos pueden contener cualquier
caracter ASCII excepto la barra (/), la cual es usada para separar directorios dentro de una especificación de
nombre de ruta. Normalmente no encontrará muchos archivos con nombres que contienen (:;-). Los nombres
de archivos de GNU/Linux no contienen una extensión, aunque puedes añadir una si así lo desea, no como en
las versiones de DOS y VMS (Virtual Memory System). Usted puede agregar más de una exten- sión a un
nombre, el ejemplo más común que puede encontrar son los archivos .tar.gz.

A diferencia del DOS, el cual requiere de 1 a 8 caracteres para un nombre, como una opción de 1 a 3
caracteres para la extensión, no existe tal restricción de formato en los nombres de archivos de GNU/Linux.

Los nombres de archivos de GNU/Linux, siguen la convención de separar el tipo de archivo del nombre
interpuesto por un punto. Esto le permite a muchas herramientas de GNU/Linux generar un archivo de sali-
da desde un archivo de entrada. El compilador C, por ejemplo, está a la espera de un archivo que termine con
la extensión .c y generá similarmente un archivo de nombre a.out, al menos que se use la opción -o para que
genere un arcivo del nombre que usted elija.

prog.c compila como: prucj.o

Este sistema es una pura convensión y realmente GNU/Linux no pone restricción alguna en el formato
del nombre del archivo. Estos empiezan con un punto como por ejemplo: .profile

Que son archivos ocultos, normalmente no son desplegado al listar el contenido del directorio y típica-
mente contienen valores personalizado de la aplicaciones.

Aunque cualquier caracter es permitido en el nombre del archivo. En la práctica, existen caracteres que
pueden causar gran dificultad, éstos deben ser evitado siempre y cuando sea posible. Ejemplos son:

• Un signo de menos (-) como el primer caracter de un nombre de archivo


• Caracteres como son ?,*,(,), &, [,],>, <, el espacio y el tab (ya que éstos tienen un significado especial en la
línea de comandos)
• Caracteres ASCII no imprimibles.

Nombre de Ruta
Los archivos son localizados incorporando un esquema de nombre de directorio a través de una ruta
que lleva hasta el nombre del archivo individual. Esto entonces es llamado un nombre completo calificado de
nombre de archivo.

• Una ruta de nombre absoluta describe una ruta del nombre del archivo o directorio empezando desde el
directorio raíz (/).

/usr/bin/tty
• Una ruta de nombre relativa describe una ruta del nombre del archivo o directorio empezando desde direc-
torio actual.
bin/tty

• El directorio actual será el punto de referencia si el nombre del archivo no empieza con una / .

Una ruta de nombre absoluta describe una ruta del nombre del archivo o directorio empezando desde la
raíz (/), del sistema de archivo porque el sistema de archivo es organizado como un árbol con una sola raíz.
Todo archivo o directorio tendrá exactamente un nombre de ruta absoluta y por esto puede ser visto de
una manera de indentificación única de un archivo o directorio dentro de un sistema de archivo.

Una ruta de nombre absoluta empieza con una barra (/). De ahí en adelante, está compuesto por
nombre de directorio separado por barra, por ejemplo /usr/bin/tty, es el nombre de ruta absoluta al archivo
almacena- do a la ruta /usr/bin/ de nombre tty.
Un nombre de ruta relativo describe la ruta de un archivo o directorio empezando desde el directorio
actual. El formato del nombre de una ruta relativa es muy similar al de la ruta absoluta, excepto que el rela-
tivo no empieza con una barra.

El ejemplo nos muestra que cuando el directorio es /usr, entonces la ruta relativa fuese bin/tty usted
puede ver que si el directorio actual fuese /usr/bin el nombre de ruta relativo, fuese solamente tty.

Vínculos a Directorios
Todo directorio en el sistema de archivo de GNU/Linux tiene dos entradas especiales. Aquí mostramos
estas dos entradas:

. El directorio actual
.. El directorio padre(un paso más en la jerarquía)

Estos nombres pueden ser usados en los nombres de ruta, ya sean relativas o absolutas, son usados mayor-
mente en nombre de ruta relativas, ya que te permiten especificar rutas que navegan a través de la
jerarquía de archivos.

Si nuestro directorio actual es /home/usuario, desde ahí la ruta relativa al directorio /home es (..) y la ruta
relativa a /home/usuario/2 es ../usuario/2. Similarmente podemos especificar una ruta relativa a un archivo a
nuestro directorio actual, por ejemplo un archivo en mi directorio actual “carta.txt”, puede ser referenciado
como ./carta.txt. Esto es muy útil cuando el nombre del archivo empieza con el símbolo de menos, porque
los comandos tratan el símbolo de menos como una opción, simplemente anteponemos ./ para eliminar cual-
quier confusión.

El Directorio Home
Por lo general, todo usuario del sistema tiene un directorio home. He aquí donde el usuario
primero ingresa al sistema. El directorio home contiene los directorios de los usuarios y éstos contienen sus
archivos. Aquí el usuario puede crear libremente archivos y directorios. El contenido del directorio HOME
está protegido por defecto de los usuarios que no sean el usuario dueño o el super-usuario con los permisos
de acceso especiales.

Archivos y directorios de configuración son colocados en el directorio home de los usuarios. Aquí se
incluyen archivos de personalización de sección como son .profile o .login, además, los archivos de inicio de
configuración de las aplicaciones como son .Xdefaults y .mailrc.

Comando de Directorios
Algunos comandos simples de directorios que son útiles, son incluidos en la siguiente tabla:

Comando Descripción
cd <directorio> Cambiar directorio
cd Cambiar directorio
home pwd Imprimir
directorio actual ls Listado corto
ls -l Listado Largo
ls [opciones] [archivos... ] Listar archivos específicos del directorio
Use el comando cd <directorio> para cambiar del directorio actual y use el comando pwd para imprimir la
ruta completa del directorio actual. Use el comando cd sin ningún argumento y lo llevará a su directorio
home.

El comando ls lista archivos en un directorio. Este puede ser ejecutado con una lista de nombres de archi-
vos y directorios; si no se pasa el nombre de un archivo como argumento, listará el directorio actual.

Una opción muy útil del comando ls es -l. Esta opción muestra, además del nombre de archivo, muchos
de los atributos del archivo:

$ ls -l
total 101328
-rw-r--r-- 1 ivelis admin 21448 21 Jan 13:19 2787778_2023.jpg
-rw-r--r-- 1 ivelis admin 16816 15 Dec 17:46 2do_lugar.jpg
-rw-r--r-- 1 ivelis admin 16409 15 Dec 17:47 3er_lugar.jpg
-rw-r--r-- 1 ivelis admin 347819 30 Dec 15:06 BreakingWindows-print.png
-rw-r--r-- 1 ivelis admin 884400 9 Dec 10:02 CHARLA.psd
-rw-r--r-- 1 ivelis admin 53885 26 Jan 13:51 CHARLA_AWK.gif

He aquí unas cuantas de las opciones que se le pueden pasar al comando ls:
-l Muestra el listado largo (FULL)
-a Lista todos los archivos ( incluyendo los archivos ocultos que inician con . )
-C/-x Lista en columnas ordenadas/cruzadas
-F Marca el tipo de archivo
-R Listado directorios recursivamente
-t Ordena por tiempo y no por nombre
-d Lista el directorio mismo no su contenido

La opción -a del comando ls listará los archivos ocultos así como los archivos normales, otra opción muy
útil del comando ls es -d, cuando es utilizada en un directorio, esta muestra los atributos del directorio espe-
cificado y no el contenido de éste. En los siguientes ejemplos note la diferencia entre las 2 opciones:

$ ls -l /tmp
$ ls -ld /tmp

Otro uso de la opción -d es con comodín (wildcards), por ejemplo:

$ ls -d mi*

Nos devolverá el nombre de cualquier entrada en el directorio actual que comienza con mi. Sin la opción
-d estuviese listado el contenido de cualquier directorio que empezará con mi.

La opción -R nos devuelve un listado recursivo del directorio. Un listado recursivo significa que no sólo
nos devolverá el directorio, sino que también todos los subdirectorios dentro de éste hasta el fondo de la
estructura del albúm.
Listado de Directorio Detallada
Es muy útil poder obtener la información detallada del listado del directorio. Esto nos provee informa-
ciones muy importantes. Use el comando ls -l para obtener esta salida:

$ ls -l
total 101328
-rw-r--r-- 1 ivelis admin 21448 21 Jan 13:19 2787778_2023.jpg
-rw-r--r-- 1 ivelis admin 16816 15 Dec 17:46 2do_lugar.jpg
-rw-r--r-- 1 ivelis admin 16409 15 Dec 17:47 3er_lugar.jpg
-rw-r--r-- 1 ivelis admin 347819 30 Dec 15:06 BreakingWindows.png

Copiar Archivos
Para copiar un archivo:

• Use el comando cp para copiar archivos a un archivo de destino o a un directorio:


cp [opciones] origen
destino cp [opciones]
origen... destino

• Algunas opciones útiles son:

-i revisar interactivamente ( confirma sólo si existe el destino )


-r copia directorios recursivamente

• Si más de un archivo de origen es especificado entonces el destino deberá ser un directorio.

Para copiar archivos se usa el comando cp. Si el archivo destino es un directorio, todos los archivos de
origen serán copiados al directorio; de otra forma el archivo singular de origen es copiado al archivo de
destino.

Si el destino ya existe y usted no tiene permisos de escritura, éste no será sobreescrito. Será necesario
una de dos cosas, o borrar el archivo o cambiar su permisos antes de sobreescribirlo.

Todos los sistemas GNU/Linux soportan la opción -r. Si por alguna razón la suya no lo soporta podrá usar los
comandos de archivar (tar y cpio).

Renombrar y Mover Archivo


Para renombrar (o mover) un archivo se utiliza el comando mv, comando que mueve un archivo desde
una localidad en la jerarquía del sistema de archivos a otra. Si el destino es un directorio, el archivo se mueve
dentro del nuevo directorio, sino entonces el archivo es renombrado. El nombre nuevo, claro está puede
incluir una ruta hacia un directorio y entonces tendrá el efecto de mover y renombrar el archivo.

Para cambiar el nombre de un archivo:


• Use el comando mv para renombrar o mover archivos a destino de otro archivo o un directorio.
mv [opciones] origen destino

mv [opciones] origen ... directorio

• opción muy útil es:

-i Revisado Interactivo (pide confirmación si el archivo destino ya existe)

• Si se especifica más de un archivo de origen, entonces el destino deberá ser un directorio. Si no lo es, per-
derá data. El comando mv le advertiría sobre esto.

• El comando mv es recursivo automáticamente:

$ mv archivo1 /tmp/ejemplo
$ mv -i archivo2 /tmp/ejemplo mv: replace ‘’/tmp/ejemplo’?

Si el archivo de destino existe, y no es un directorio éste será sobre-escrito por el archivo movido. Para
prevenir sobre escribir por accidente un archivo existente use la opción -i. Se le pediría confirmación para
ejecutar esta acción.

Archivos de destino pueden ser sobre-escrito aunque los permisos de escritura no estén disponible. Esto
es porque sobre escritura he visto como la eliminación de un archivo y la creación de uno nuevo, así pues los
permisos del directorio, no los del archivos, son aplicables. Pero, los permisos del archivo son tomados en
cuenta, y a un usuario se le pediría confirmación interactivamente si el archivo de destino no tiene permisos
de escritura. La sintaxis de los comandos mover y copiar son muy similares.

Eliminar Archivos
Los archivos son eliminados con el uso del comando rm. El comando rm pedirá confirmación antes de
eliminar un archivo protegido de escritura, también pedirá confirmación de todos los archivos a eliminar si se
utiliza la opción -i.

Use el comando rm para eliminar o borrar archivos:

rm [-ir] file1 [file2...]

La opción recursiva (-r) es utilizada para eliminar un directorio con todo su contenido incluyendo todos
sus subdirectorios. Sin la opción de recursión rm no eliminará un directorio aunque esté vacío. Use el coman-
do rmdir que se describirá a continuación para eliminar directorios vacíos.

• Para eliminar archivo(s):


-i Revisado Interactivo (pide confirmación para eliminar cada archivo)
-r Desciende Recursivamente por los Directorios
• Los permisos del directorio que contiene los archivos es de crucial importancia.
• Los permisos del directorio son usados para determinar si es permitido borrar o no.
• Los permisos del archivo son utilizados pero sólo para confirmación adicional.
• Los archivos pueden ser removidos si los permisos del directorio así lo permiten.

$ rm ejemplo
$ rm -i ej*
$ rm -r /tmp/ejemplo

Manipular Directorios
Para crear nuevos directorio se utilizar el comando mkdir y para eliminarlo el comando rmdir. Ambos
comandos especifican el nombre del directorio, con ruta absolutas o relativas. Para remover un directorio
deberá estar vacío. La opción -r del comando rm borrará directorio y todo su contenido. Al usar esta opción
tenga mucho cuidado.

Los directorios son vistos como archivos por la mayoría de comandos, así pues el comando mv puede ser
usado para renombrar un directorio. Usted puede igualmente mover directorio dentro de otro directorio.

Para crear, borrar, mover y administrar directorio organizados:


• Para crear directorios use:

mkdir directorio...

• Para eliminar un directorio vacío use:

rmdir directorio...
• Para eliminar un directorio y todo su contenido recursivamente use:

rm -r directorio...

• Para copiar un directorio use:

cp -r directorio_original directorio_destino

• Para renombrar un directorio use:

mv directorio_original directorio_destino

Você também pode gostar