Está en la página 1de 14

Tecsup

Virtu@l

Administración
de Archivos y
Directorios en
Linux

Copyright © 2008 por TECSUP


Administración de Archivos y Directorios en Linux Tecsup
Marzo 2008

ÍNDICE

1. Introducción ................................................................................ 3
2. Objetivos ..................................................................................... 3
3. FHS: ............................................................................................ 3
4. Características ............................................................................. 4
5. Descripción ................................................................................. 4
5.1. /bin : Binarios de comandos ............................................ 5
5.2. /boot: ............................................................................... 6
5.3. /dev : Archivos de dispositivos. ...................................... 6
5.4. /etc : Configuración del sistema local a la máquina........ 6
5.5. /home: Directorios hogar de los usuarios (opcional) ...... 7
5.6. /lib: Librerías compartidas y módulos de kernel
esenciales......................................................................... 7
5.7. /media: Punto de montaje para sistemas de archivos
montados temporalmente. ............................................... 7
5.8. /proc: Sistema de archivos virtual de información de
procesos y del kernel. ...................................................... 7
5.9. /root: Directorio hogar de root (opcional) ....................... 8
5.10. /sbin: Binarios del Sistema (Alguna vez mantenidos en
/etc).................................................................................. 8
5.11. /tmp: Archivos temporales. ............................................. 9
6. Localización ................................................................................ 9
6.1. find .................................................................................. 9
6.2. locate ............................................................................. 10
6.3. which ............................................................................. 10
6.4. whereis .......................................................................... 11
7. Editor “vi” ................................................................................. 11
7.1. Comandos...................................................................... 11
8. Permisos .................................................................................... 12
8.1. Método Simbólico......................................................... 13
8.2. Método Octal................................................................. 13
9. Máscara ..................................................................................... 13
10. Referencias Bibliográficas ........................................................ 14

Página 2
Tecsup Administración de Archivos y Directorios en Linux
Marzo 2008

1. Introducción

Todo Sistema Operativo necesita una estructura de archivos. La


estructura organiza la información en archivos y directorios.
Linux ha adoptado el Standard FHS.

2. Objetivos

• Reconocer las características de Linux.


• Manipular comandos de interacción en la consola.
• Comparar los entornos de consola y gráfico.

3. FHS:

El Filesystem Hierarchy Standard (Estándar de Jerarquía de


Sistema de Ficheros) o FHS define los directorios principales y sus
contenidos en el sistema operativo LinuxGNU/Linux y otros
sistemas de la familia Unix. Se diseñó originalmente en 1994 para
estandarizar el sistema de archivos de las distribuciones
GNU/Linux, basándose en la tradicional organización de
directorios de los sistemas Unix. En 1995 se amplió el ámbito del
estándar a cualquier Unix que se adhiriese voluntariamente.

Todos los archivos y directorios aparecen bajo el directorio raíz /,


aunque se encuentre en distintos dispositivos físicos. Ejemplos de
directorios definidos por FHS incluyen:

• /bin/ Órdenes esenciales binarios para todos los usuarios (cat,


ls, cp...)
• /dev/ Dispositivos
• /home/ Directorios de datos de los usuarios
• /etc/ Ficheros de configuración del sistema
• /lib/ Librerías esenciales para los binarios de /bin y /sbin
• /var/ Ficheros variables utilizados por programas instaladas,
como logs y archivos temporales
• /opt/ Paquetes de programas de aplicaciones estáticos
• /sbin/ Binarios de superusuario esenciales (init, route, ifup..)
• /proc/ Sistema de archivos que documenta el estado del
núcleo (kernel), principalmente archivos de texto (tiempo,
red...), estos archivos permiten conocer y cambiar ciertos
parámetros del núcleo sin necesidad de reiniciar el sistema
• /media/ Sistemas de archivos montados temporalmente
• /mnt/ Sistemas de archivos montados temporalmente
(obsoleto)

Página 3
Administración de Archivos y Directorios en Linux Tecsup
Marzo 2008

Fig. Estructura del Sistema de Archivos

4. Características

El sistema de archivos UNIX está caracterizado por:

• Una estructura jerárquica.


• Un tratamiento consistente de la información de los archivos.
• Protección de los archivos.

Este estándar del sistema de archivos Linux sigue el mismo


principio básico que la mayoría de los sistemas de archivos UNIX
siguen. Note, sin embargo que este estándar no intenta concordar
en cada aspecto posible con alguna implementación particular del
sistema UNIX. De cualquier forma, muchos de los aspectos de
este estándar están basados en ideas encontradas en UNIX y
sistemas similares a UNIX.
5. Descripción

Página 4
Tecsup Administración de Archivos y Directorios en Linux
Marzo 2008

5.1. /bin : Binarios de comandos

Binarios de comandos esenciales de usuarios (disponibles para


todos los usuarios).
bin contiene comandos que pueden ser utilizados por ambos los
usuarios y el administrador del sistema, pero que son requeridos
en el modo /mono-usuario (single-user mode) puede también
contener comandos que son utilizados indirectamente por
algunos scripts.

Todos los binarios utilizables sólo por root, tales como


daemons,init,getty, update, etc. Estarían localizados en /sbin o
/usr/sbin dependiendo si son o no esenciales.

No habrá subdirectorios dentro de /bin.

Los binarios de los comandos que no son suficientemente


esenciales para estar en /bin estarán localizados en /usr/bin, los
elementos que son utilizados por usuarios solamente (pero no por
root) (mail,chsh, etc) no son suficientemente esenciales para estar
dentro de la partición /.

Archivos requeridos en /bin:

Comandos generales:
Los siguientes comandos han sido incluidos porque son
esenciales. Algunos están presentes debido a que
tradicionalmente han estado en /bin.
--------------------------------------------------------------------------------
arch, cat, chgrp, chmod, chown, cp, date, dd, df, dmesg, echo, ed,
false,kill, in, login, mxdir, mknod, more, mount, mv, ps, pwd,
rm, rmdir, sed, setserial, sh, sfty, su, sinc, true, umount, uname.
--------------------------------------------------------------------------------

Comandos para restauración.


Estos comandos se han incluido para hacer posible el restaurar el
sistema (siempre que / esté intacto).
--------------------------------------------------------------------------------
tar, gzip, gunzip (enlace hacia gzip), zcat (enlace hacia gzip).
--------------------------------------------------------------------------------

Comandos de red.
Éstos son únicamente los binarios de red que los usuarios y root
querrán o necesitarán ejecutar que no sean los que están en
/usr/bin ó /usr/local/bin

-------------------------------------------------------------------------------
domainname, hostname, netstat, ping.
--------------------------------------------------------------------------------

Página 5
Administración de Archivos y Directorios en Linux Tecsup
Marzo 2008

5.2. /boot:

Archivos estáticos del cargador de arranque (boot loader).


Este directorio contiene todo para arrancar excepto los
archivos de configuración y el instalador de mapas. En su
sentido más sencillo /boot es para cualquier cosa que se
utiliza antes de que el kernel ejecute /sbin/init.

5.3. /dev : Archivos de dispositivos.

Éste es el directorio de los dispositivos. Contendría un


archivo por cada dispositivo que el kernel de Linux puede
soportar.

dev también contiene un script llamado MAKEDEV el


cual puede crear dispositivos cuando se necesiten. Puede
contener un MAKEDEV local para /dispositivos sólo-
local.

5.4. /etc : Configuración del sistema local a la máquina.

etc contiene archivos y directorios que son locales al


sistema actual. Ningún binario debe ir directamente
dentro de /etc. Los binarios, irán en /sbin o /usr/sbin.

/etc --- Configuración de sistemas locales de máquina.

X11 Archivos de configuración para el x11


skel Esqueletos de configuración de usuarios

etc/skel es la localidad para los llamados archivos


esqueletos de usuarios, que le son dados por defecto
cuando un nuevo usuario se crea.

etc/X11 es el lugar recomendado para todos los archivos


de configuración de X11 (Entorno Grafico) locales a la
máquina.

La siguiente sección intenta parcialmente examinar la


descripción del contenido de /etc con algunos ejemplos:
Definitivamente ésta no es una lista exhaustiva.

Archivos requeridos en /etc:

Archivos generales:

Página 6
Tecsup Administración de Archivos y Directorios en Linux
Marzo 2008

Estos archivos son necesarios en la mayoría de los


sistemas Linux.
------------------------------------------------------------------------------
adjtime, csh.login, disktab, fdprm, fstab, gettydefs,
group, inittab, issue, ld.so.conf, lilo.conf, magic, motd,
mtab, mtools, passwd, profile, psdatabase, securetty,
shells, syslog.conf, tercamp, ttytype
------------------------------------------------------------------------------

Archivos de Red:
Estos archivos estarían instalados en la mayoría de los
sistemas Linux.
-----------------------------------------------------------------------------
exports, ftpusers, gateways, hosts, host.conf, host.equiv,
host.lpd, inetd.conf, networks, printcap, protocols,
resolv.conf.rpc, services
------------------------------------------------------------------------------

5.5. /home: Directorios hogar de los usuarios (opcional)

Esta sección describe una localización sugerida para los


directorios hogar de los usuarios.

En sistemas pequeños, cada directorio de usuario es uno


de los subdirectorios debajo de /home, p.ej.
/home/smith, /home/torvalds, /home/operador, etc.

5.6. /lib: Librerías compartidas y módulos de kernel


esenciales

El directorio /lib contiene aquellas imágenes de las


librerías compartidas que se necesitan para arrancar el
sistema y ejecutar los comandos en el sistema de archivos
raíz.

5.7. /media: Punto de montaje para sistemas de archivos


montados temporalmente.

Este directorio se ha provisto para que el administrador


pueda montar temporalmente sistemas de archivos
cuando lo necesite. El contenido de este directorio es un
asunto local y no debe afectar la manera en la cual se
ejecuta ningún programa.

5.8. /proc: Sistema de archivos virtual de información de


procesos y del kernel.

Página 7
Administración de Archivos y Directorios en Linux Tecsup
Marzo 2008

El sistema de archivos proc se está convirtiendo en el


estándar para el manejo de información de como otra
información del kernel y de memoria.

5.9. /root: Directorio hogar de root (opcional)

El directorio es tradicionalmente el directorio hogar del


usuario root en los sistemas UNIX.

5.10. /sbin: Binarios del Sistema (Alguna vez mantenidos en


/etc)

Los útiles usados por la administración del sistema (y


otros comandos que sólo root utiliza) están almacenados
en /sbin, /usr/sbin, y /usr/local/sbin. /sbin típicamente
contiene binarios esenciales para arrancar el sistema
además de los binarios en /bin. Cualquier cosa que se
ejecuta después de que se sabe que /usr se ha montado
(cuando no hay problemas) debería estar en /usr/sbin.
Los binarios de administración de sistema sólo-locales
deben estar localizados en /usr/local/sbin.

Decidir que cosa va en los directorios de /sbin es sencillo:


Si un usuario necesitará ejecutarlo, debe de ir en otro lado.
Si sólo será ejecutado por el administrador del sistema o
por root como scripts de administración, entonces debe ir
en /sbin (o en /usr/sbin o en /usr/local/sbin, si el
archivo no es vital para la operación del sistema).

Archivos requeridos en /sbin:

Comandos Generales.
------------------------------------------------------------------------------
clock, getty, init, update, mkswap, swapon, swapoff,
telinit.
------------------------------------------------------------------------------

Comandos de Apagado.
------------------------------------------------------------------------------
fastboot, fasthalt, halt, reboot, shutdown.
------------------------------------------------------------------------------

Comandos de manejo de sistemas de archivos.


------------------------------------------------------------------------------
fdisk, fsck, fsck.*, mkfs, mkfs.*
------------------------------------------------------------------------------

Comandos de Red.

Página 8
Tecsup Administración de Archivos y Directorios en Linux
Marzo 2008

------------------------------------------------------------------------------
arp, ifconfig, route.
------------------------------------------------------------------------------

5.11. /tmp: Archivos temporales.

tmp se utiliza para archivos temporales. La "persistencia"


de la información que es almacenada en /tmp es diferente
de aquella que sea almacenada en /var/tmp. /tmp puede
ser limpiada en cada arranque o a intervalos relativamente
frecuentes. Por tanto, no se debe esperar que la
información almacenada en /tmp permanezca por algún
periodo largo de tiempo.

Los programas deben utilizar /tmp o /var/tmp (que era


originalmente /usr/tmp) de acuerdo a los requerimientos
esperados de la información, pero no deben confiar en
alguna persistencia temporal particular en cualquier
directorio de almacenamiento temporal.

tmp puede estar e un disco RAM. /var/tmp no debe nunca


localizarse en algún dispositivo RAM.

6. Localización

Habiendo observado lo extenso de la estructura de Linux,


necesitamos herramientas para ubicar los diferentes directorios y
archivos. Las siguientes son algunas herramientas:

find, locate, which, updatedb

6.1. find
Utilidad para buscar archivos. Esta utilidad empieza
buscando a partir de una ruta indicada y buscará todos los
subdirectorios y nombres de archivos. Cuando no se
indica la ruta, comenzará a buscar de la ubicación de
donde se ejecutó el comando, la ruta será lo que indica el
comando “pwd”.

Sintaxis:

find /path opciones

Opciones

-group: Buscará, de un especificado grupo.


-name: Buscará los files de un determinado nombre.

Página 9
Administración de Archivos y Directorios en Linux Tecsup
Marzo 2008

-user: Buscará files de un determinado usuario.

Ejemplos:
Buscando en el directorio “/home/angie” algún archivo
con el nombre “stuff”

# find /home/angie –name stuff


/home/angie/stuff

Buscando en el directorio “/home/angie” los archivos que


pertenezcan al usuario “root”

# find /home/angie –user root


/home/angie/morestuff

6.2. locate

El comando “locate”, provee una forma práctica de buscar


files de forma indexada. Obteniendo los resultados
rápidamente. La información la obtiene de una base de
datos que indexa los archivos, con la información de los
permisos, de esta forma mostrará los archivos autorizados
del quien realiza la búsqueda.

Sintaxis:

locate [arguments]

La base de datos es actualizada usando el comando


“updatedb”. Únicamente el “root” es autorizado a usar
este comando. Se muestra como es la ejecución de este
comando:

# updatedb

6.3. which

Muestra la ruta completa de los ejecutables. Esto permite


que visualices la ruta del comando y que se trate del que
estas deseando ejecutar:
Sintaxis:
which [arguments]

Ejemplo:
Buscando el comando “locate”:
# which locate
/usr/bin/locate

Página 10
Tecsup Administración de Archivos y Directorios en Linux
Marzo 2008

6.4. whereis

Comando que localiza archivos de configuración,


manuales, binarios, Fuentes.

Ejemplo:
Buscando el comando “ls”:
# whereis ls
ls: /bin/ls /usr/man/man1/ls.1.gz

7. Editor “vi”

• Editor popular de todos los sistemas UNIX.


• La interacción es con comandos, mediante teclas.
• Para generar una acción se debe pulsar las teclas respectivas.
(En la parte inferior observará las teclas y su acción)

7.1. Comandos

Para elegir la acción, presionar la tecla ESC.

Insertando

Tecla Acción
i Insertar antes del cursor
a Insertar después del cursor
A Insertar al final de la línea
o Agrega una línea debajo de la actual línea
O Agregar una línea arriba de la actual línea

Movimiento
Tecla Acción
j Desplazarse una línea hacia abajo
H Desplazarse un carácter hacia la izquierda
l Desplazarse un carácter hacia la derecha
^F Desplazarse una pantalla hacia abajo
^B Desplazarse una pantalla hacia arriba
^ Mover al inicio del texto
$ Moverse al final de la línea
G Desplazarse al final del archivo
nG Desplazarse a la línea n

Página 11
Administración de Archivos y Directorios en Linux Tecsup
Marzo 2008

Borra
Tecla Acción
x Borra carácter sobre el cursor.
(C) Borra una línea
u Deshacer último cambio.

Buscando

Tecla Acción
/string Buscando palabras.
n Encontrando la siguiente concordancia de la búsqueda
p Encontrando la previa concordancia de la búsqueda.

Pegar

Tecla acción
yn Copiando n líneas.
p Pegar después del cursos
P Pegar antes del cursor.

Guardar y salir

Tecla acción
:w Guardando el archivo.
:w filename Guardando el archivo con un nombre.
:wq Guardar y salir.
:q! Salir sin grabar.

8. Permisos

El comando chmod modifica los permisos de los archivos e


directorios con relación al propietario, grupo y otros. Comando
estándar de los UNIX, aplicados en sistemas operativos SCO,
SOLARIS, AIX, y en cualquier distribución de Linux.

El objetivo de cambiar los permisos de los directorios o archivos


puede ser por las siguientes causas:

 Permitir o denegar la lectura a usuarios diferentes de los


propietarios.
 Permitir o denegar la escritura a usuarios diferentes del
propietario.
 Asignar permiso de ejecución.

Los cambios de los permisos, se puede hacer de 2 maneras:

Página 12
Tecsup Administración de Archivos y Directorios en Linux
Marzo 2008

8.1. Método Simbólico

El cambio de los permisos puede realizarse usando


variables que simboliza a propietario (u), grupo (g) y
otros (o) en conjunción con las variables de los permisos
lectura (r), escritura (w) y ejecución (x).

Ejemplo: Aplicar el comando “chmod” para asignar


permiso de escritura a otros al archivo capital.txt

# chmod o+w capital.txt

8.2. Método Octal

Otra forma de cambiar los permisos con “chmod” es


mediante los pesos que se asigna a los permisos: Lectura
(4), Escritura (2), Ejecución (1). A diferencia del uso de
letras deberá de hacerse los cambios en conjunción del
propietario, grupo y otros.

Ejemplo: el archivo capital.txt tiene la siguiente


estructura:

rwx r-- --- omega ventas capital.txt

Se solicita que otros puedan leer pero mantener los


permisos del propietario y del grupo:

# chmod 744 capital.txt

La nueva estructura se visualizará:

rwx r-- r-- omega ventas capital.txt

9. Máscara

El comando “umask”, establece la máscara de creación para los


archivos. Esta máscara establece con que permisos por defecto
serán creados los archivos y/o directorios por el sistema.
Cambiando el valor de “umask” cambiaremos la asignación de
permisos por defecto.

El comando “umask” se usa manejando una máscara de 4 dígitos


en octal que se combina con los permisos de creación por defecto,
para dar lugar a los permisos reales con los que se crean los
ficheros. Si no se le pasa ningún argumento, devuelve el valor
actual de esta máscara.

El valor por defecto es: 022

Página 13
Administración de Archivos y Directorios en Linux Tecsup
Marzo 2008

Archivos : complemento a 666


022
------
644 rw-r--r--

Directorios: complemento a 777


022
------
755 rwxr-xr-x

Debido al “umask” los permisos por defecto de los archivos y


directorios son: Archivos (644) y Directorios (755)

10. Referencias Bibliográficas

• http://www.pathname.com/fhs/
• http://lucas.hispalinux.es

FIN DE LA UNIDAD

Página 14

También podría gustarte