Un archivo es un proceso simple de almacenar un grupo de archivos o carpetas en un solo archivo. A veces, es posible que necesitemos crear un archivo comprimido a partir de una sola carpeta para poder compartirlo con otros o para otra cosa. En Linux, para facilitar la tarea, podemos crear un script de shell para automatizar el proceso de creación de un archivo simplemente proporcionando el nombre de la carpeta.
Usando el comando tar :
Tar es un acrónimo de Tape Archive. Fue creado inicialmente en enero de 1979 en AT&T Bell Laboratories por John Gilmore. El propósito principal de crear una utilidad tar es crear eficientemente un archivo a partir de muchos archivos. El comando tar crea un archivo único a partir de muchos archivos. Este archivo recién creado también se denomina tarball. tar también se puede utilizar para extraer el archivo.
Sintaxis:
tar [opción] [archivo-nombre de archivo] [archivo-o-carpeta-para-archivar]
Estas son algunas de las opciones más utilizadas:
No Señor. | Opciones (formularios cortos) | Opciones (formas expandidas) | Descripción |
---|---|---|---|
1. |
-C |
-crear |
Para crear Archivo |
2. |
-X |
-extracto |
Para extraer uno o más archivos del archivo |
3. |
-F |
–file=nombre-archivo |
Para crear un archivo con un nombre de archivo/nombre de archivo dado |
4. |
-t |
-lista |
Para listar los nombres de todos los archivos en el archivo. |
5. |
-tu |
-actualizar |
Para actualizar el archivo en archivos y agregar archivos al final del archivo. |
6. |
-v |
-verboso |
Para mostrar información detallada. |
Nota: aquí, el nombre del archivo debe reemplazarse por el nombre que desea darle al archivo.
Código:
#!/bin/bash # Here we are checking if the directory name # is provided in the argument or not. # -z will check for the null string # and $1 will check if the positional argument # is passed or not if [ -z "$1" ]; then # If the name of the folder was not specified # in the argument # Then the following message will be displayed # to the screen echo "Warning : Please provide the folder name as an argument" exit 0 fi # We need to verify whether the directory name # entered by user really exists or not # -d flag will be true if the directory name # exists if [ -d "$1" ]; then # if directory control will enter # creating a variable filename to hold the # new file name i.e. new_archieve current date # it will end with the extension ".tar.bz2". filename="new_archive $(date '+%d-%m-%y').tar" # Using tar --create option to create the # archive and --file to set the new filename tar --create --file="$filename" "$1" echo "Archive successfully created." # if the folder name does not exists # we will simply display the following message # to the screen else echo "WARNING: Directory name doesn't exists: $1" fi
Producción:
Publicación traducida automáticamente
Artículo escrito por amnindersingh1414 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA