Empaquetando un directorio - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Linux (https://gambas-es.org/forum-9.html) +--- Foro: Programación en otros lenguajes (https://gambas-es.org/forum-12.html) +---- Foro: Bash (https://gambas-es.org/forum-13.html) +---- Tema: Empaquetando un directorio (/thread-225.html) |
Empaquetando un directorio - Shell - 31-12-2020 Buenas!. Quiero empaquetar el directorio "programación" por completo y crear el archivo en un directorio concreto. No necesito comprimirlo. He usado esto: Código: tar cvf /media/mi_usuario/directorio_destino/programacion.tar Programacion Si quiero contar archivos y directorios del directorio Programación, se puede hacer así. Código: find . | wc -l El resultado es entre directorios y archivos: 89612 Para listar el contenido de un archivo tar en este caso puedo hacer esto: Código: tar tvf programacion.tar Como la lista de archivo se muestra sin líneas vacías al igual que hace el comando find. Para contar cada una de las líneas que muestra la instrucción anterior puedo hacer: Código: tar tvf programacion.tar | wc -l Pero observo que me cuenta: 89606 Hay una diferencia de "seis". ¿ A que puede ser debido ?. ¿ Es una forma correcta ?. Saludos Puedo contar los tipos por separados del directorio Programación: Contar solo los tipo archivos: Código: find . -type f | wc -l Me da: 68665 Contar solo los tipo directorios: Código: find . -type d | wc -l Me da: 20922 Total directorios y archivos: 68665 + 20922 = 89587 Que tampoco tiene que ver con: 89612 Se come 25... En cuanto a si quiero saber cuantos directorios me muestra la salida del tar con las opciones tvf. Me muestra el mismo número de directorios usando: Código: tar tvf programacion.tar | grep "^d" | wc -l Ale que es tarde y casi es fin de año.. en que cosas me distraigo. Saludos RE: Empaquetando un directorio - Shell - 01-01-2021 Buenas!. He creado un script de prueba que crea tres directorios y luego en cada directorio crea cinco archivos vacíos Código: #!/bin/bash Cita:-d, --diff, --compare encuentra las diferencias entre un archivo y el sistema de ficheros Creo un archivo empaquetado con la estructura de árbol de directorios y archivos creados con el script anterior. Y ahora comparo de esta forma en el mismo directorio. Código: tar dvf ejemplo.tar Cita:directorio1/ Si por un casual se me ocurre crear de nuevo archivo1 en el sistema de archivos y vuelvo a comparar puede decirme algo como esto: Cita:directorio1/archivo1: La fecha de modificación es distinta Pero lo curioso del tema es que si me da por borrar archivos dentro del tar y comparar con los archivos del sistema, no muestra un mensaje como los anteriores. En ese caso puede existir en el directorio de archivos del sistema, pero no existir dentro del propio archivo tar. Si me da por crear en los archivos del sistema del directorio1 un archivo6, tampoco dice nada al comparar con el archivo tar. Como si solo trabajase con lo que hay dentro del tar. Cuando se compara los archivos del sistema con el tar con normalidad. Si todo va bien al final del test no suelta ni un Ok. Solo la lista de archivos. Saludos |