Guía de Laboratorio
Guía de Laboratorio
Guía de Laboratorio
DIRECCION ACADEMICA
CARRERAS PROFESIONALES
Práctica Nº 05
Operaciones de Archivo y Directorio
1.-
2.-
Escenario:
Tiene acumulado una g r a n c a n t i d a d de archivos de la Empresa PeruSAC en su
directorio home, y tiene decidido que es el momento para organizar sus cosas. Su plan
es crear nuevos sub - directorios, para copiar y mover sus archivos de alrededor y
ajustarlos dentro de su nuevo esquema. Adicionalmente, tiene varios archivos que no son
necesarios, y que deben ser eliminados.
Tareas:
$ pwd
/home/cibertec
$ ls
$ ls -a
$ ls -al
Porqué el primer y segundo comando retornan diferentes números de archivos?
Cuál es el tamaño del archivo más grande actualmente de tu directorio home según
lo mostrado por el tercer comando?
4. Ahora usará e l c o m a n d o touch para crear los archivos necesarios para esta
secuencia. Los detalles de cómo la extensión usada en los trabajos siguientes del
comando serán cubiertos en una Unidad posterior. Por ahora, simplemente ingrese
la siguiente línea exactamente cómo la ve (incluso con las llaves {}, y la raya entre
los pocos primeros grupos del sistema). Tenga cerca a otro estudiante o al
instructor verifique la exactitud de su comando antes de presionar enter:
$ touch {report,memo,graph}_{sep,oct,nov,dec}_{a,b,c}{1,2,3}
5. Use el comando ls para examinar los resultados del comando anterior. Usted debe
encontrar que creó 108 nuevos, archivos vacíos (usted no necesita contarlos) en su
directorio home. Estos archivos representan los archivos de datos que usted utilizará
en el resto de esta secuencia. Si por alguna razón usted no ve estos archivos, pida
ayuda al instructor; Sin estos archivos, no podrá trabajar el resto de este laboratorio.
6. Para organizar sus archivos usted debe primero crear algunos nuevos directorios. Use
mkdir para crear algunos sub - directorios directamente dentro de su directorio home:
$ mkdir a_reports
$ mkdir september october november december
7. Cree algunos sub - directorios adicionales dentro de uno de sus nuevos directorios
usando el siguiente comando:
$ cd a_reports
$ mkdir 1 2 3
Use ls para verificar que tiene tres nuevos directorios con nombre 1, 2 y 3 debajo de
su sub - directorio a_reports
$ cd
$ ls -l *dec?b?
Usted podría ver los 9 “december”, “b” archivos enumerados. Mover uno de ellos al
directorio december:
$ mv graph_dec_b1 december
$ mv *dec?b? december
$ ls -l december
total 0
-rw-rw-r-- 1 cibertec cibertec 0 Oct 16 22:17 graph dec b1
-rw-rw-r-- 1 cibertec cibertec 0 Oct 16 22:16 graph_dec_b2
-rw-rw-r-- 1 cibertec cibertec 0 Oct 16 22:16 graph_dec_b3
-rw-rw-r-- 1 cibertec cibertec 0 Oct 16 22:16 memo_dec_b1
-rw-rw-r-- 1 cibertec cibertec 0 Oct 16 22:16 memo_dec_b2
-rw-rw-r-- 1 cibertec cibertec 0 Oct 16 22:16 memo_dec_b3
-rw-rw-r-- 1 cibertec cibertec 0 Oct 16 22:16 report_dec_b1
-rw-rw-r-- 1 cibertec cibertec 0 Oct 16 22:16 report_dec_b2
-rw-rw-r-- 1 cibertec cibertec 0 Oct 16 22:16 report_dec_b3
$ mv *nov?b? november
$ mv *oct?b? october
$ mv *sep?b? september
10. Usted ahora recogerá los reportes de “a” en sus correspondientes directorios
numerados.
Observe el uso de ~ como taquigrafía para “su directorio home”. La combinación del
comodín y del patrón especifica todos los archivos que terminen en _ a1 un su
directorio home.
$ cd a_reports
$ mv ~/*_a1 1/
Los archivos “september” “a1” son viejos y no de larga necesidad. Utilice echo para
cerciorarse que usted ha creado un patrón que empareje solamente estos
archivos, después elimínelos, y verifique que los otros archivos "a1" fueron movidos
correctamente:
$ cd 1
$ echo *sep*
$ rm *sep*
$ ls
graph_dec_a1 graph_oct_a1 memo_nov_a1 report_dec_a1 report_oct_a1
graph_nov_a1 memo_dec_a1 memo_oct_a1 report_nov_a1
11. Mover los reportes finales “a2” y “a3” en sus respectivos directorios. Para hacer
la vida interesante, los moveremos desde el directorio actual, usando nombres de
ruta relativos y absolutos. Primero, use pwd para identificar el directorio actual:
$ pwd
/home/cibertec/a_reports/1
Verifique el patrón que referencia el archivo “a2” con echo, entonces mueva usando
nombres de ruta absolutos:
$ echo /home/cibertec/*a2*
$ mv /home/cibertec/*a2* /home/student/a_reports/2
Ahora mueva el archivo “a3” usando nombres de ruta relativos. Otra vez, primero
verifique las referencias del patrón del archivo correcto.
$ echo ../../*a3*
$ mv ../../*a3* ../3
12. Regrese a su directorio home, y use ls para verificar que solamente los archivos
restantes en este directorio son el “c”archivos (ie. graph_dec_c1, graph_dec_c2,...)
13. Los reportes del archivo “c1” y “c2” de cada mes son importantes, y usted desea
hacer una reserva de ellos en otro directorio:
$ mkdir /tmp/archive
$ cp report*[12] /tmp/archive/
Adicionalmente, todos los archivos reportados para el mes de December podrían ser
reservados en el directorio /tmp/archive. Note el uso de la opción -i para el
prompt cp antes de sobreescribir cualquier archivo.
$ cp -i report_dec* /tmp/archive/
cp: overwrite '/tmp/archive/report_dec_c1'? n
cp: overwrite '/tmp/archive/report_dec_c2'? n
14. Ahora que usted ha reservado los pocos archivos de "c" que son importantes para
usted, usted desea todavía eliminar todos los archivos restantes en su directorio home.
La examinación de los archivos restantes revela que el comodín *c* emparejará a todos
ellos. Porqué usted no desearía ejecutar el comando rm *c*?
15. Elimine los archivos restantes de “c” en tu directorio home. Una vez más usaremos
echo antes de publicar un comando destructivo.
$ echo *c[1-3]
$ rm *c[1-3]
$ ls
a_reports december november october september
Al Final:
Un directorio home más organizado, con archivos colocados en sus apropiados sub -
directorios, y algunos archivos reservados en /tmp/archive.
Observaciones y Conclusiones: