Estoy bastante seguro de que no soy el único con el siguiente problema: cada vez que necesito descomprimir un archivo en * nix, no recuerdo todos los interruptores y termino buscando en Google, lo cual es sorprendente teniendo en cuenta la frecuencia con la que necesito hacer esto.
¿Tienes una buena hoja de trucos de compresión? ¿O qué tal una mnemónica para todos esos desagradables interruptores en alquitrán?
Estoy haciendo este artículo un wiki para que podamos crear una buena hoja de trucos aquí.
Ah, y sobre las páginas man: si hay algo para lo que no son útiles, es para descubrir cómo descomprimir un archivo.
Respuestas:
¿O qué tal usar el shell con capacidades de finalización avanzadas (como zsh o versiones nuevas de bash) que completarán las opciones para usted, con ayuda integral? :))
Con respecto al alquitrán: solo mira el teclado "qwerty". Hay letras "zxcvf" una al lado de la otra. Necesita "tar czvf file.tar.gz files" o "tar xzvf file.tar.gz".
fuente
z
opción (o laj
opción para.bz2
archivos) no es necesaria cuando se extrae con versiones modernas de tar. Descomprime automáticamente el archivo.Resumen de opciones de alquitrán
Todos pueden editar esto para agregar más interruptores esotéricos, pero aquí están los conceptos básicos:
Ejemplos
Descomprima un archivo tar.gz: tar zxf tarball.tar.gz
Descomprima un archivo tar.bz2 : tar jxf tarball.tar.bz2
Cree un archivo tar.gz: tar zcvf tarvall.tar.gz mydir / *
fuente
Hay un pequeño script de Perl llamado "unp".
... y extrae todo. Funciona con cualquier archivo comprimido siempre que tenga los binarios correctos. Y simplemente te olvidas de la sintaxis o de esa basura. Verifique los repositorios de su distribución de Linux. Debería estar allí (al menos en Arch, Debian y Ubuntu).
fuente
Realmente con un uso frecuente, hago la diferencia entre extraer datos (x) y comprimir datos (c):
Extraer:
Para comprimir:
Además, también puede agregar dos funciones a su .bashrc:
Hay otra buena función de extracción, detecta la extensión de su archivo comprimido y hace el trabajo por usted:
fuente
Solo escribe
tar --help
y ahí está tu hoja de trucos.fuente
Si tiene problemas para recordar las opciones de alquitrán, intente usar tuberías:
zcat file.tar.gz | tar xvf -
bzcat file.tar.bz2 | tar xvf -
Reemplace
tar xv
contar tv
para ver simplemente el contenido del tarball.Personalmente, uso los siguientes mnemónicos:
Aunque "j" y "bzip2" parecen no tener nada que ver entre sí, me resulta fácil recordar esta excepción.
Además, me parece curioso que Google haya reemplazado "man tar".
fuente
f
opción: es solo recientemente que las distribuciones del valor predeterminado de tar sonf -
, el valor predeterminado histórico esf /dev/rmt0
o similar. Después de todo, tar es el Tape ARchiver.El hombre es tu amigo
man tar
fuente
Las tres operaciones más utilizadas :
Crea un nuevo archivo tar.
Listar el contenido de un archivo.
Extraer uno o más miembros de un archivo.
Las cinco operaciones avanzadas de alquitrán :
Agregue nuevas entradas a un archivo que ya existe.
Agregue copias más recientes de los miembros del archivo al final de un archivo, si existen.
Agregue uno o más archivos preexistentes al final de otro archivo.
Eliminar elementos de un archivo (no funciona en cintas).
Compare los miembros del archivo con sus homólogos en el sistema de archivos.
fuente
Siempre leo los comandos en mi mente, mientras escribo
comprimir archivo zip detallado
extraer archivo zip detallado ARCHIVO
fuente
Hago lo siguiente
Para crear un alquitrán:
Para descomprimir:
Estos deberían ser los interruptores principales de los que debe preocuparse:
Puede hacer algunas cosas más elegantes como tar y untar inline mientras intenta mover archivos a través de directorios de la siguiente manera:
fuente
90% del tiempo solo uso
x: extraer
v: ser detallado (opcional)
f: archivo de entrada (tar, gz, bzip2, etc.)
Fácil, ¿eh? :)
Use Fileroller o Ark si no está en una consola.
fuente
He estado usando un script de Perl llamado
aunpack
, parte del proyecto atool , durante muchos años. Entonces simplemente ejecuta:aunpack foo.{zip/tar.gz/tar.bz2}
y hace lo correcto en función de la extensión del archivo.El otro beneficio
aunpack
es que no contaminará el directorio actual con muchos archivos. Digamos que hay 20 archivosfoo.zip
que no están en un subdirectorio. En lugar de arrojar estos archivos en el directorio actual,aunpack
creará unfoo
subdirectorio y colocará todos los archivos allí.fuente
Todo lo que necesita es
tar x
(extracto de la entrada estándar),tar c
(alquitrán a la salida estándar),gzip -c
(gzip de la entrada estándar a la salida estándar;-1
a-9
para los niveles de compresión; mismo ocurre conbzip2
) ygunzip -c
(gunzip de la entrada estándar a la salida estándar) - todo lo demás es tuberías.Al alquitrán y gzip:
Para descomprimir y descomprimir
Si desea barras de progreso dulces, use pv que es similar a cat pero muestra barras de progreso:
fuente
Creo que es fácil pensar en lo que quieres y no solo en algunas letras.
Para ilustrar, usaré un ejemplo de cómo extraer file.tar.gz:
Como es un archivo tar, debe usar el programa tar. Entonces son las opciones:
Esto se demuestra en el siguiente ejemplo:
fuente
La forma en que recuerdo es que siempre es "tar XXvf", donde están las dos X
Ocasionalmente, se encuentra con archivos comprimidos pero no alquitranados donde agrega un a cualquier tipo de compresión. por ejemplo, g un zip o b un zip2.
En todo caso, olvido el 2 y, a veces, escribo "bzip".
fuente
También puedes crear un alias. simplemente agregue estas dos líneas a su
~/.bash_aliases
archivo:entonces puedes usar
untar foo.tar.gz
para extraer ydotar foo.bar
comprimir. puede usar otros alias que le resulten fáciles de recordar.fuente
C rea de Z ip a F ilename
e X Tracto Z ip con F ilenamename
fuente