SCRIPTS – Variables especiales de BASH.-

Publicado en Unix - Linux | Deja un comentario

LINUX – Copia de directorios.

La copia recursiva incluye a una carpeta y todas sus subcarpetas. Por lo tanto, la estructura del directorio se copia entera. Esto no funciona con la copia sencilla del comando CP: si intentas copiar una carpeta sin el parámetro correspondiente, te saldrá un mensaje de error. El parámetro que debes usar es el ‘-r’, también conocido como ‘–recursivo’ o ‘-R’.

En nuestro ejemplo, queremos crear regularmente una copia de seguridad de una carpeta, incluyendo su contenido y subcarpetas. Para que no haya que copiar siempre todo el contenido del directorio, puedes utilizar el parámetro “update”.

Cuando ejecutes el comando por primera vez, se te creará el directorio “original” dentro de la carpeta de backups. Todos los archivos y subdirectorios se te copiarán dentro de él. Si se trata de grandes cantidades de datos, esto puede llevar algún tiempo. Si utilizas el parámetro ‘-u’, solo copiarás los elementos modificados posteriormente.

Publicado en Unix - Linux | Deja un comentario

LINUX – Funciones especiales del comando CP.-

El comando CP de Linux también puede realizar otras tareas. Para ello, al comando se le puede añadir un término que contenga un parámetro:

Puedes introducir los siguientes parámetros (flags) en el campo para que el trabajo de copia sea más complejo o más fácil.

ParámetrosDescripciónEjemplo
-aCopia el archivo con la misma configuración de permisos y metadatos que el original.cp -a texto.txt /home/usuario/carpeta_de_destino/
–archiveCopia el archivo con la misma configuración de permisos y metadatos que el original.cp –archive texto.txt /home/usuario/carpeta_de_destino/
-bCrea una copia en la memoria intermedia (también llamada buffer) si el archivo original y el destino tienen el mismo nombre, pero diferente contenido.cp -b texto.txt /home/usuario/carpeta_de_destino/
–backupCrea una copia en la memoria intermedia (también llamada buffer) si el archivo original y el destino tienen el mismo nombre, pero diferente contenido.cp –backup texto.txt /home/usuario/carpeta_de_destino/
–backup=numberedCrea un nuevo archivo numerado si el archivo original y el de destino tienen el mismo nombre de archivo, pero diferente contenido.cp –backup==numbered texto.txt /home/usuario/carpeta_de_destino/
–backup=existingCrea un nuevo archivo numerado si el archivo original y el de destino tienen el mismo nombre de archivo, pero diferente contenido – y ya existen copias de seguridad numeradas.cp –backup==existing texto.txt /home/usuario/carpeta_de_destino/
-dCopia los enlaces simbólicos.cp -d texto.txt /home/usuario/carpeta_de_destino/
-fObliga a sobrescribir al copiar.cp -f texto.txt /home/usuario/carpeta_de_destino/texto.txt
–forceObliga a sobrescribir al copiar.cp –force texto.txt /home/usuario/carpeta_de_destino/texto.txt
-iPide permiso antes de sobrescribir archivos con el mismo nombre.cp -i texto.txt /home/usuario/carpeta_de_destino/
–interactivePide permiso antes de sobrescribir archivos con el mismo nombre.cp –interactive texto.txt /home/usuario/carpeta_de_destino/
-lCrea un enlace duro en lugar de una copia.cp -l texto.txt /home/usuario/carpeta_de_destino/
–linkCrea un enlace duro en lugar de una copia.cp –link texto.txt /home/usuario/carpeta_de_destino/
-nLos archivos existentes nunca se sobrescribirán.cp -n texto.txt /home/usuario/carpeta_de_destino/
–no-cobblerLos archivos existentes nunca se sobrescribirán.cp –no-cobbler texto.txt /home/usuario/carpeta_de_destino/
-pLos atributos del archivo original se heredan al copiar.cp -p texto.txt texto1.txt
–preserveLos atributos del archivo original se heredan al copiar.cp –preserve texto.txt texto1.txt
–preserve=modeEl modo del archivo original se hereda al copiar.cp –preserve==mode texto.txt texto1.txt
–preserve=ownershipLas propiedades del archivo original se heredan al copiar.cp –preserve==ownership texto.txt texto1.txt
–preserve=timestampLa marca de tiempo del archivo original se hereda al copiar.cp –preserve==timestamp texto.txt texto1.txt
–preserve=linksLos enlaces del archivo original se heredan al copiar.cp –preserve==links texto.txt texto1.txt
–preserve=contextEl contexto de seguridad del archivo original se hereda al copiar.cp –preserve==context texto.txt texto1.txt
–preserve=xattrLos atributos extendidos del archivo original se heredan al copiar.cp –preserve==xattr texto.txt texto1.txt
–preserve=allTodos los atributos del archivo original se heredan al copiar.cp –preserve==all texto.txt texto1.txt
-PLos enlaces simbólicos se guardan como tales al copiar.cp -P texto.txt /home/usuario/carpeta_de_destino/
–no-dereferenceLos enlaces simbólicos se guardan como tales al copiar.cp –no-dereference texto.txt /home/usuario/capeta_de_destino/
-rLos directorios, incluidos los subdirectorios, se copian de forma recursiva.cp -r /home/usuario/carpeta_de_origen/ /home/usuario/carpeta_de_destino/
-RLos directorios, incluidos los subdirectorios, se copian de forma recursiva.cp -R /home/usuario/carpeta_de_origen/ /home/usuario/carpeta_de_destino/
–recursiveLos directorios, incluidos los subdirectorios, se copian de forma recursiva.cp –recursive /home/usuario/carpeta_de_origen/ /home/usuario/carpeta_de_destino/
-sCrea un enlace simbólico para el archivo original.cp -s texto.txt /home/usuario/carpeta_de_destino/
–symbolic-linkCrea un enlace simbólico para el archivo original.cp –symbolic-link texto.txt /home/usuario/carpeta_de_destino/
-SSobrescribe un sufijo de backup al copiar con –backup.cp –backup=simple -S texto.txt /home/usuario/carpeta_de_destino/
–suffix=own_suffixSobrescribe con su propio sufijo el sufijo de backup al copiar con –backup.cp –backup=simple –suffix=own_suffix texto.txt /home/usuario/carpeta_de_destino/
-uCopia el archivo solamente si el archivo de destino es más antiguo que el original.cp -u texto.txt /home/usuario/carpeta_de_destino/texto.txt
–updateCopia el archivo solamente si el archivo de destino es más antiguo que el original.cp –update texto.txt /home/usuario/carpeta_de_destino/texto.txt
-vEmite un mensaje al terminar la copia.cp -v texto.txt texto1.txt
–verboseEmite un mensaje al terminar la copia.cp –verbose texto.txt texto1.txt
Publicado en Unix - Linux | Deja un comentario

BASH – Script para listar Directorios y Subdirectorios.

Script que lista todos los directorios y subdirectorios recursivamente de uno dado. El
directorio será introducido como argumento y el guion lo primero que hará será verificar si es
precisamente un directorio.

Publicado en Unix - Linux | Deja un comentario

BASH – Script de automatización respuestas con EXPECT.

El primer SCRIPT (preguntas.sh), al ejecutarlo solicita se ingresen lo datos por teclado. El segundo SCRIPT (respuestas.sh). Al ejecutarlo, lanza el SCRIPT preguntas.sh y ingresa las respuesta en forma automática. Esto mediante EXPECT. Pude obtener más información en esta misma WEB. A continuación se muestran los resultados obtenidos al ejecutar cada uno de los SCRIPTS :

Publicado en Unix - Linux | Deja un comentario