Publicado el 13 de Agosto del 2020
942 visualizaciones desde el 13 de Agosto del 2020
328,8 KB
28 paginas
Creado hace 9a (22/03/2016)
Linux:
Manejo de Archivos
Tema 3
Laboratorio de sistemas operativos
UTFSM-JMC
1-2016
Navegación del sistema de archivos:
El árbol invertido
•
•
Linux utiliza un sólo árbol de
directorios para toda su colección
de archivos y directorios.
Todas las ramas “cuelgan” de una
sola raíz.
• Para nombrar un archivo o directorio
comenzar desde la raíz y listar todas
las ramas hasta el archivo o
directorio deseado, separando
cada rama con “/”.
•
Lo anterior se conoce como FQDN o
nombre completamente calificado.
-- bin...
|
/ -- -- etc...
|
| -- mystuff...
| |
| -- alice --
| | |
| | -- website...
| |
-- home --
| | -- docs...
| | |
| -- elvis --
| |
| -- graphics...
...
Navegación del sistema de archivos
Descubrir el directorio de inicio
[hogan@station hogan]$ cd ~ Se cambia al directorio del usuario hogan
[hogan@station hogan]$ pwd Verifica dónde está ubicado
/home/hogan
[hogan@station hogan]$ cd - Vuelve al último directorio visitado
/home/hogan
Subir y bajar del árbol
[alice@station alice]$ cd website/html Se cambia al directorio /home/alice/website/html
[alice@station html]$
... (edits the html files) ...
[alice@station html]$ cd /etc Se cambia al directorio /etc
[alice@station etc]$
... (examines the configuration file) ...
[alice@station etc]$ cd Vuelve al directorio de inicio o personal
[alice@station alice]$
... (continues with other tasks) ...
Navegación del sistema de archivos
Directorio de inicio del usuario /home/usuario
•
Espacio privado del usuario.
• Proporciona un lugar para almacenar archivos de configuración de
cada usuario.
• Normalmente se le da a los usuarios un control completo sobre los
directorios de inicio, mientras que se les restringe el acceso al resto
del sistema.
•
“~” Representa el FQDN del directorio de inicio del usuario cuando
se utiliza como el primer caracter de una referencia de archivo o
directorio.
Directorio temporal /tmp
•
Espacio de borrador global que se encuentra disponible para todos
los procesos y usuarios del sistema.
• Después de unos días, el sistema borra los archivos allí
almacenados.
Directorios Importantes
Directorio de configuración /etc
• Prácticamente todo aspecto del sistema puede configurarse
editando un archivo de configuración.
•
Los archivos de configuración normalmente se ubican bajo /etc.
• Directorios de comandos /bin y /usr/bin
•
•
•
•
Los comandos para ser utilizados por los usuarios normales se
almacenan en los directorios de binarios /bin o /usr/bin.
Estos directorios se conocen como “directorios de comandos no
privilegiados” ya que no se necesitan privilegios especiales para
utilizar los comandos almacenados en ellos.
Los comandos principales, como ls, cd, cp, mv y vi van en /bin.
Las utilidades adicionales como compiladores, el navegador web o
la suite de oficina van en /usr/bin.
Directorios de comandos /sbin y /usr/sbin
• Almacenan comandos y otros binarios para que el superusuario root
los utilice.
•
Estos se denominan comandos privilegiados.
Directorios Importantes
Directorio “variable” /var
• Archivos que cambian frecuentemente (email, logs, websites,
ftpsites, etc.)
• Para facilitar la asignación de espacio y proteger archivos más
importantes.
• Búsqueda de comandos en /bin y /usr/bin
• Para conocer el FQDN de un programa en esos directorios
• Usar comando which programa
Ejercicios
• Para crear archivos nuevos (y vacíos) se usa el comando touch.
Cree el archivo newfile.ext en los siguientes directorios:
~
/tmp
/bin
/root
• Use which para determinar la ruta (o el FQDN) de los siguientes
comandos:
pwd
ls
whoami
Administración de archivos
Redirección
• A linux le gusta pensar que todo es archivo
• STDOUT es la salida estándar, que por defecto es la pantalla.
• STDOUT puede ser redireccionada a algún otro archivo usando >.
pwd > results.txt (redireccionar la salida del comando pwd)
cat results.txt (observa el contenido del archivo recién creado)
• Si se utiliza >> la nueva salida se añadirá al archivo creado
anteriormente.
[julius@station julius]$ echo Hello > greetings.txt
[julius@station julius]$ echo How are you >> greetings.txt
[julius@station julius]$ cat greetings.txt
Hello
How are you
Administración de archivos
• Copia de archivos con cp
cp [OPCIONES] {FUENTE} {DESTINO}
cp [OPCIONES] {FUENTE...} {DIRECTORIO}
• Para crear duplicados de archivo
• Mover o renombrar archivos con mv
mv [OPCION...] {FUENTE} {DESTINO}
mv [OPCION...] {FUENTE...} {DIRECTORIO}
• Mover o renombrar un archivo siempre significa para Linux el
cambio de FQDN de éste.
Administración de Archivos
Borrar archivos con rm
rm [OPCIONES] {ARCHIVO...}
• No puede borrar un directorio a menos que se utilicen opciones
especiales.
•
rmdir puede borrar directorios vacíos.
• Sobreescribir archivos
Comandos potencialmente peligrosos:
cp
mv
rm
• Sobreescriben archivos sin ningún mensaje de advertencia
Ejercicios
• Cree los directorios ~/html y ~/archive
• Cree el archivo ~/index.html, debe tener como contenido la frase
“En construcción”.
• Mueva ~/index.html a ~/html
• Renombre el directorio ~/html como ~/public_html
• Copie el archivo index.html al directorio ~/archive/
Ejercicios
• Cree un archivo llamado source con el texto “fuente” y otro llamado
target con el texto “destino”.
• Sobreescriba el archivo target con el archivo source. (target debe
llamarse source después del comando, por lo tanto desaparece).
• Vuelva a crear el archivo target
• Sobreescriba target con el contenido de source, pero ahora
utilizando cat y redireccionando la salida.
Administración de Directorios
Creación de directorios vacíos
mkdir [OPCIONES] {DIRECTORIO...}
• Crea el o los directorios si no existen.
• Emite un error si uno o más existe, aunque los sin error son igualmente
creados.
• No creará un directorio si el padre tampoco existe
mkdir -p directorio_padre/directorio_hijo
• El anterior crea ambos directorios, utilizando el modificador -p.
Listado de árboles de directorio
• El comando ls con el modificador -R obtiene el listado de los
directorios y archivos que existen al interior de un directorio principal,
recursivamente.
Administración de Directorios
Borrar directorios vacíos rmdir
rmdir [OPCIONES] {DIRECTORIO...}
• Borra los directorios vacíos.
• Funciona de manera silenciosa
Copiar árboles de directorio cp -r
• Utilizando el modificador -r, el comando cp copia directorios
recursivamente.
Borrar árboles de directorio rm -r
• Al igual que cp, si se utiliza el modificador -r, se establece borrar
todo el contenido de un directorio, aún cuando éste sean otros
directorios.
Ejercicios (resueltos)
1. Utilice ls para obtener un listado recursivo del directorio
/usr/share/gdm. El listado debe incluir los tamaños de los archivos.
Redireccione la salida al archivo lsgdm.txt.
(ls -sR /usr/share/gdm > lsgdm.txt)
2. Haga una copia recursiva del directorio /usr/share/gdm en su
directorio de inicio. El nuevo directorio debe llamarse gdm.
(cp -r /usr/share/gdm ~/)
3. Haga una segunda copia del directorio anterior, ahora llamándola
gdm.bak.
(cp -r /usr/share/gdm ~/gdm.bak)
4. Elimine recursivamente el directorio gdm.bak/themes
(rm -r ~/gdm.bak/themes/)
5. Mueva el directorio gdm.bak/BuiltInSessions a su directorio de inicio.
El directorio debe seguir llamándose BuiltInSessions.
(mv ~/gdm.bak/BuiltInSessions/ ~/)
Nombres y comodines de archivos
Nombres de Archivo
• Virtualmente se puede usar cualquier caracter imprimible, con
longitud hasta 255 caracteres, excepto el “/”.
• Los caracteres especiales pueden ser interpretados por la shell
como parámetros, por lo que es necesario ponerlos entre comillas
cuando se usen en un nombre de archivo.
• En general, se sugiere nombrar los archivos de la siguiente forma:
• Caracteres alfanuméricos: (A-Z, a-z, 0-9)
• Signos de puntuación: . _ - + ~ (punto, guión bajo, guión, más,
tilde).
• No usar espacios, a no ser que utilice comillas.
Archivos ocultos
• Comienzan por un punto.
•
ls –a, permite mostrar los archivos ocultos de un directorio.
Nombres y comodines de archivos
Comodines
• La shell realiza expansión de
metacaracteres o comodines
para generar una lista de
nombres de archivo que
coinciden con el patrón descrito
por la expresión del comodín y
luego pasa la lista al comando
emitido.
Consideraciones
•
•
•
•
[aeiou] : Lista
[a-z] : Rango
[^aeiou] : Lista negada
[a\-z] : Coincidirá con a, z o un
guión, porque “\” permite que
el guión sea considerado como
comodín
Caracter
Efecto
*
?
coincide con cero o más
caracteres (a excepción
del punto inicial)
coincide exactamente
con un caracter (a
excepción del punto
inicial)
[...]
coincide exactamente
con un caracter de la lista
o rango
[^...]
coincide exactamente
con un caracter no
incluido en la lista o rango
Ejercicios (resueltos)
1. Cree los siguientes directorios en su directorio de inicio: cp_even, cp_mid,
cp_thousand, iso_mid, mac y xxxn
(mkdir ~/{cp_even,cp_mid,cp_thousand,iso_mid,mac,xxxn})
2. Copie en ~/mac todos los archivos en /usr/lib64/python2.6/encodings que
comienzan con la palabra mac.
(cp /usr/lib/python2.6/encodings/mac* ~/mac)
3. Copie todos los archivos que comienzan con cp y que en su nombre
tengan un número par en el directorio ~/cp_even.
(cp /usr/lib/python2.6/enco
Comentarios de: Tema 3 Linux: Manejo de archivos (0)
No hay comentarios