mandato tar
Finalidad
Manipula archivos.
Sintaxis
X/Open Standards:
Berkeley Standards:
Descripción
- El formato de cabecera ustar permite tamaños de archivo ilimitados (2^64 -1).
- El mandato tar no conserva la naturaleza dispersa de ningún archivo que esté escasamente asignado. Cualquier archivo que originalmente estaba disperso antes de la restauración tendrá todo el espacio asignado dentro del sistema de archivos para el tamaño del archivo.
El mandato tar manipula los archivadores grabando archivos o recuperando archivos de un soporte de almacenamiento de archivado. Los archivos utilizados por el mandato tar se representan mediante el parámetro Archivo . Si el parámetro Archivo hace referencia a un directorio, también se hace referencia a dicho directorio y de forma recursiva a todos los archivos y directorios que contiene.
El mandato tar busca archivos en el dispositivo predeterminado (normalmente cinta), a menos que especifique otro dispositivo con el distintivo -f Archivador . Cuando especifique nombres de vía de acceso que tengan más de 100 caracteres para el formato USTAR (United States Tape Archiver), recuerde que el nombre de vía de acceso se compone de un almacenamiento intermedio de prefijo, una/(barra inclinada) y un almacenamiento intermedio de nombre.
El mandato tar sólo da soporte a la longitud de path + filename hasta el límite PATH_MAX definido por el sistema. Cualquier longitud de entrada path + filename mayor que el límite PATH_MAX no se archiva
Al grabar en un archivo, el mandato tar utiliza un archivo temporal (el archivo/tmp/tar* ) y mantiene en la memoria una tabla de archivos con varios enlaces. Recibirá un mensaje de error si el mandato tar no puede crear el archivo temporal, o si no hay suficiente memoria disponible para contener las tablas de enlace.
Existen dos grupos de distintivos para el mandato tar : los distintivos necesarios y los distintivos opcionales. Los distintivos necesarios controlan las acciones del mandato tar e incluyen -c, -r, -t, -u, y los distintivos -x . Se debe seleccionar al menos un distintivo necesario para que el mandato tar funcione. Después de haber seleccionado un distintivo necesario, puede seleccionar un distintivo opcional, pero ninguno es necesario para controlar el mandato tar .
- Cuando el dispositivo de almacenamiento es un archivo ordinario o un archivo especial de bloque, -u y -r distintivos de retroceso. Sin embargo, los dispositivos de cinta magnética en bruto no soportan el retroceso. Por lo tanto, cuando el dispositivo de almacenamiento es una cinta magnética en bruto, los distintivos -u y -r rebobinan la cinta, la abren y, a continuación, la leen de nuevo.
- Los registros tienen una longitud de un bloque en una cinta magnética de bloque, pero normalmente son menos de la mitad de densos en una cinta magnética en bruto. Como resultado, aunque una cinta bruta bloqueada debe leerse dos veces, la cantidad total de movimiento de cinta es menor que cuando se leen registros de un bloque de una cinta magnética de bloque una vez.
- La estructura de un dispositivo de cinta continua no admite la adición de información al final de una cinta. En consecuencia, cuando el dispositivo de almacenamiento es una cinta continua, los distintivos -u y -r no son opciones válidas. Un intento de utilizar estos distintivos da como resultado el siguiente mensaje de error:
tar: Update and Replace options not valid for a streaming tape drive. - No existe recuperación de errores de cinta.
- El rendimiento del comando tar en la unidad de cinta magnética IBM®modelo 12 puede mejorarse cambiando el tamaño de bloque predeterminado. Para cambiar el tamaño de bloque, especifique lo siguiente en la línea de mandatos:
chdev -1 <device_name> -a block_size=32k
Para obtener más información sobre el uso de dispositivos de cinta, consulte el archivo especial rmt .
Distintivos
Los distintivos para el mandato tar están en dos grupos, el necesario y el opcional. Debe proporcionar al menos un distintivo necesario para controlar el mandato tar .
| Distintivos necesarios | Descripción |
|---|---|
| -c | Crea un nuevo archivador y escribe los archivos especificados por uno o varios parámetros Archivo al principio del archivador. |
| -r | Graba los archivos especificados por uno o más parámetros Archivo al final del archivado. Este distintivo no es válido para ningún dispositivo de cinta porque dichos dispositivos no dan soporte a la adición de información al final de una cinta. |
| -T | Lista los archivos en el orden en el que aparecen en el archivador. Los archivos se pueden listar más de una vez. |
| -u | Añade los archivos especificados por uno o más parámetros Archivo al final del archivado sólo si los archivos no están ya en el archivado, o si se han modificado desde que se grabaron en el archivado. El distintivo -u no es válido para ningún dispositivo de cinta porque dichos dispositivos no dan soporte a la adición de información al final de una cinta. |
| -u | Permite archivar y extraer atributos ampliados. Los atributos ampliados también incluyen la lista de control de accesos (ACL). |
| -x | Extrae los archivos especificados por uno o más parámetros Archivo del archivador. Si el parámetro Archivo hace referencia a un directorio, el mandato tar extrae de forma recursiva ese directorio del archivo. Si no especifica el parámetro Archivo , el mandato tar extrae todos los archivos del archivado. Cuando un archivador contiene varias copias del mismo archivo, la última copia extraída sobrescribe todas las copias extraídas anteriormente. Si el archivo que se está extrayendo todavía no existe en el sistema, se crea el archivo. Si tiene los permisos adecuados, el mandato tar restaura todos los archivos y directorios con los mismos ID de propietario y grupo que tienen en la cinta. Si no tiene los permisos adecuados, los archivos y directorios se restauran con el propietario y los ID de grupo. No es posible solicitar ninguna aparición de un archivo que no sea el último. |
| Distintivos opcionales | Descripción |
|---|---|
| -B | Fuerza el bloqueo de entrada y salida a 20 bloques por registro. Con esta opción, el mandato tar puede funcionar a través de canales de comunicaciones en los que es posible que no se mantenga el bloqueo. |
| -b Bloques | Especifica el número de bloques de 512 bytes por registro. Tanto el valor predeterminado como el máximo son 20, lo que es adecuado para los registros de cinta. Debido al tamaño de las brechas entre registros, las cintas grabadas con grandes factores de bloqueo pueden contener muchos más datos que las cintas con sólo un bloque por registro. El tamaño de bloque se determina automáticamente cuando se leen cintas (los distintivos de función -x o -t ). Cuando se actualizan los archivos con las funciones -u y -r , se utiliza el tamaño de registro existente. El mandato tar graba los archivos utilizando el valor especificado del parámetro Bloques sólo al crear nuevos archivos con el distintivo -c . Para la salida a archivos ordinarios con el distintivo -f , puede ahorrar espacio de disco utilizando un factor de bloqueo que coincida con el tamaño de los bloques de disco (por ejemplo, el distintivo -b4 para bloques de disco de 2048 bytes). |
| -C Directorio | Hace que el mandato tar realice una subrutina chdir en el directorio especificado por la variable Directorio . El uso del distintivo -C permite archivar varios directorios que no están relacionados con un padre común cercano, utilizando nombres de vía de acceso relativa cortos. Por ejemplo, para archivar archivos de los directorios /usr/include y /etc , puede utilizar el mandato siguiente: tar c -C /usr/include File1 File2 -C /etc File3 File4
Puede utilizar varias opciones -C al extraer archivos del archivador. Cuando se utilizan varias opciones -C , cada instancia del Directorio -C es relativa a la que aparece listada antes en el mandato. Por ejemplo, el segundo -C Directorio es relativo al primer -C Directorio. Si un archivo contiene un archivo con un nombre de vía de acceso absoluta, por ejemplo /home/dir1/filename, el archivo se extrae en el directorio especificado por el Directorio -C eliminando la barra inclinada inicial (/) de la vía de acceso de archivo o nombre de archivo. El distintivo -C Directorio debe aparecer después de todos los demás distintivos y puede aparecer en la lista de nombres de archivo proporcionados. |
| -D | Suprime el proceso recursivo cuando se especifican directorios. |
| -d | Crea entradas separadas para archivos de bloque, archivos de caracteres especiales y procesos canalizado FIFO (primero en entrar, primero en salir). Normalmente, el mandato tar no archivará estos archivos especiales. Al grabar en un archivo con el distintivo -d , el mandato tar hace posible restaurar directorios vacíos, archivos especiales y procesos canalizado FIFO (primero en entrar, primero en salir) con el distintivo -x . Restricción: Aunque cualquiera puede archivar archivos especiales, sólo un usuario con autorización de usuario root puede extraerlos de un archivo (FIFO también puede ser extraído por usuarios no root).
|
| -e | Evita el truncamiento de los nombres de usuario y grupo largos durante la adición de archivos a un archivado nuevo o existente. |
| -F | Comprueba el tipo de archivo antes de archivarlo. Los sistemas de control de código fuente (SCCS), sistemas de control de revisión (RCS), archivos denominados core, errs, a.outy archivos que terminan en .o (punto o) no se archivan. |
| -f Archivador | Utiliza la variable Archive como el archivo que se va a leer o escribir. Cuando no se especifica este distintivo, el mandato tar utiliza un nombre de archivo predeterminado dependiente del sistema con el formato /dev/rmt0. Si la variable Archive especificada es-(signo menos), el mandato tar escribe en la salida estándar o lee de la entrada estándar. Si escribe en la salida estándar, se debe utilizar el distintivo -c . |
| -h | Fuerza al mandato tar a seguir enlaces simbólicos como si fueran archivos o directorios normales. Normalmente, el mandato tar no sigue los enlaces simbólicos. |
| -i | Ignora los errores de suma de comprobación de cabecera. El mandato tar escribe una cabecera de archivo que contiene una suma de comprobación para cada archivo del archivado. Cuando no se especifica este distintivo, el sistema verifica el contenido de los bloques de cabecera recalculando la suma de comprobación y se detiene con un error de suma de comprobación de directorio cuando se produce una discrepancia. Cuando se especifica este distintivo, el mandato tar registra el error y, a continuación, explora hacia adelante hasta que encuentra un bloque de cabecera válido. Esto permite restaurar archivos de volúmenes posteriores de un archivado de varios volúmenes sin leer volúmenes anteriores. |
| -L InputList | El argumento Inputlist en la opción -L siempre debe ser el nombre del archivo que lista los archivos y directorios que se deben archivar o extraer. |
| -l | Escribe un mensaje de error en la salida estándar para cada archivo con un recuento de enlaces mayor que 1 cuyos enlaces correspondientes no se han archivado también. Por ejemplo, si file1 y file2 están enlazados entre sí y sólo se coloca file1 en el archivo, el distintivo -l emitirá un mensaje de error. Los mensajes de error no se visualizan si no se especifica el distintivo -l . |
| -m | Utiliza la hora de extracción como hora de modificación. El valor predeterminado es conservar la hora de modificación de los archivos. |
| -N Bloques | Permite que el mandato tar utilice clústeres de bloques muy grandes cuando se ocupa de los archivos de cinta en modalidad continua. Sin embargo, tenga en cuenta que en la entrada, el mandato tar no puede determinar automáticamente el tamaño de bloque de las cintas con tamaños de bloque muy largos creados con este distintivo. En ausencia de la opción -N Bloques, el mayor tamaño de bloque que el comando tar puede determinar automáticamente es de 20 bloques. |
| -o | Proporciona compatibilidad con versiones anteriores (no AIX®) del comando tar. Cuando se utiliza este distintivo para la lectura, hace que el archivo extraído asuma el ID de usuario y grupo (UID y GID) del usuario que ejecuta el programa, en lugar de los del archivo. Este es el comportamiento predeterminado para el usuario normal. |
| -p | Restaura los campos a sus modalidades originales, ignorando la umask presente. El setuid, setgidy los permisos de bits pegajosos también se restauran al usuario con autorización de usuario root. Este distintivo restaura los archivos y directorios a su modalidad original. |
| -R | Utilice la recursión cuando se especifiquen directorios. Se ignora cuando se utiliza con la opción-D . |
| -s | Intenta crear un enlace simbólico si el mandato tar no es satisfactorio en su intento de enlazar (enlace normal) dos archivos con el distintivo -s . |
| -S Bloques b, -S Feet, -S Pies@Densidad | Especifica el número de bloques 512KB por volumen (primer formato), independientemente del factor de bloqueo de la cinta. También puede especificar el tamaño de la cinta en pies utilizando el segundo formato, en cuyo caso el mandato tar asume una variable Densidad predeterminada. El tercer formato le permite especificar tanto la longitud como la densidad de la cinta. Se supone que los pies tienen una longitud de 11 pulgadas para ser conservadores. Este distintivo le permite tratar más fácilmente con archivadores de cinta multivolumen, donde el mandato tar debe ser capaz de determinar cuántos bloques caben en cada volumen. Nota:
|
| -U | Archiva o restaura atributos ampliados con nombre y ACL. Al listar, esta opción mostrará los nombres de los atributos ampliados con nombre y el tipo de las ACL asociadas con cada archivo que forman parte de la imagen de archivado. |
| -v | Lista el nombre de cada archivo a medida que se procesa. Con el distintivo -t , -v proporciona más información sobre las entradas de cinta, incluidos los tamaños de archivo, las horas de la última modificación, el número de usuario (UID), el número de grupo (GID) y los permisos. |
| -w | Muestra la acción que se va a realizar, seguida del nombre de archivo y, a continuación, espera la confirmación del usuario. Si la respuesta es afirmativa, se realiza la acción. Si la respuesta no es afirmativa, el archivo se ignora. |
| -Número | Utiliza el archivo /dev/rmtNúmero en lugar del valor predeterminado. Por ejemplo, el distintivo -2 es el mismo que el archivo -f/dev/rmt2 . |
| -X ExcludeList | Excluye los nombres de archivo o directorios proporcionados en ExcludeList del archivo tar que se está creando, extrayendo o listando. La ExcludeList sólo contendrá un nombre de archivo o directorio por línea que se excluirán del archivo tar que se está creando, extrayendo o listando. La opción -X se puede especificar varias veces y tiene prioridad sobre todas las demás opciones. |
| -Z | Archiva la información del sistema de archivos cifrado (EFS) de archivos o directorios cifrados. La información de EFS se extrae de forma predeterminada. Cuando especifique los distintivos -t y -v junto con el distintivo -Z , Se visualiza un indicador e después de la modalidad de archivo para los archivos y directorios cifrados que se han archivado con el distintivo -Z y se visualiza un guión (-) después de la modalidad de archivo para otros archivos. Restricción: Los archivos creados con el distintivo -Z sólo se pueden restaurar en AIX 6.1 o releases posteriores.
|
Estado de salida
Este mandato devuelve los siguientes valores de salida:
| Elemento | Descripción |
|---|---|
| 0 | Finalización satisfactoria. |
| >0 | Se ha producido un error. |
Seguridad
Ejemplos
- Para escribir elfile1y file2archivos en un nuevo archivador en la unidad de cintas predeterminada, especifique: tar -c file1 file2
- Para extraer todos los archivos en el /tmpdesde el archivo de archivado en el directorio/dev/rmt2dispositivo de cinta y utilizar la hora de extracción como la hora de modificación, entre:
tar -xm -f/dev/rmt2 /tmp - Para crear un nuevo archivo de archivado que contenga elfile1y pase el archivo de archivado al mandato dd para que se grabe en el archivo/dev/rmt1dispositivo, especifique:
tar -cvf - file1 | dd of=/dev/rmt1 conv=sync - Para visualizar los nombres de los archivos en elout.tararchivo de archivado de disco en el directorio actual, especifique:
tar -vtf out.tar - Para expandir el archivo de archivado tar comprimido,fil.tar.z, pase el archivo al mandato tar y extraiga todos los archivos del archivo de archivado tar expandido, especifique:
zcat fil.tar.Z | tar -xvf - - Para archivar el contenido de/usr/includey/usr/binarchivos utilizando nombres de vía de acceso relativa cortos, especifique:
cd /usr tar -cvf/dev/rmt0 -C./include . -C ../bin .Requisito: Cuando se especifican múltiples instancias de la bandera -C con nombres de ruta relativos, el usuario debe tener en cuenta la solicitud anterior de la bandera -C. - Para archivar en un dispositivo de 8 mm cuando se utiliza el distintivo -S , entre:
tar -cvf /dev/rmt0 -S 4800000b /usrRestricción: Al archivar en un dispositivo de 8 mm, evite utilizar los distintivos -S Pies y -S Pies@Densidad , porque el dispositivo de 8 mm no utiliza el concepto de densidad al grabar en una cinta. - Para archivar una lista de todosCarchivos listados en el archivo mediante el argumento InputList de la opción -L , entre:Dondefl_listes un archivo que consta de una lista de todos.cen él. Esto se puede obtener de la siguiente manera:
tar -cvf fl.tar -L fl_listls *.c > fl_list - Para archivar una lista de todosCestableciendo una variable utilizando la opción -L , especifique:
ls *.c > fl_list fl=fl_list tar -cvf var.tar -L $fl - Para evitar el truncamiento de nombres largos de usuarios o grupos durante la creación del archivo, entre:
tar -cvEf file.tar file - Para crear un nuevo archivo de archivado que contenga el archivo
file1con ACL y EA, entre:tar -cvUf /tmp/tar.ar file1
Opciones de Berkeley
A continuación se muestran ejemplos de las opciones de Berkeley utilizando el mandato tar :
tar cvfbL test.tar 20 infiledonde test.tar es el archivo tar de archivado, 20 es el número de bloques y infile es Inputlist para el archivado.- Para archivar todos los directorios y completar los nombres de archivo listados en el archivo de lista de entrada infile en ar.tar, entre:
Donde infile contiene los nombres de vía de acceso de los archivos que se van a archivar.tar cvfL ar.tar infile - Para archivar archivos dentro de los directorios listados en el archivo de lista de entrada infile en ar.tar, entre:
tar cvRfL ar.tar infile - Para extraer directorios y completar los archivos especificados en el archivo de lista de entrada infile de un archivador denominado ar.tar, entre:
tar xvfL ar.tar infile - Para extraer archivos de los directorios y completar los archivos especificados en el archivo de lista de entrada infile de un archivador denominado ar.tar, entre:
tar xvRfL ar.tar infile
Archivos
| Elemento | Descripción |
|---|---|
| /dev/rmt0 | Especifica el dispositivo de cinta predeterminado. |
| /bin/tar | Especifica el enlace simbólico al mandato tar . |
| /usr/bin/tar | Contiene el mandato tar . |
| /tmp/tar* | Especifica un archivo temporal. |