{"id":97,"date":"2013-02-27T00:01:24","date_gmt":"2013-02-27T00:01:24","guid":{"rendered":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/?p=97"},"modified":"2013-02-27T00:01:24","modified_gmt":"2013-02-27T00:01:24","slug":"compresion-y-archivo","status":"publish","type":"post","link":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/compresion-y-archivo\/","title":{"rendered":"Compresi\u00f3n y archivo"},"content":{"rendered":"<p><\/p>\n<h3>A empaquetar<\/h3>\n<p>Las utilidades de archivo sirven para \u00abempaquetar\u00bb juntos un conjunto de ficheros en un \u00fanico fichero nuevo. En Windows estas funciones se pueden realizar mediante programas como PKZip (o WinZip) , que adem\u00e1s de crear un archivo de ficheros pueden comprimirlo.<\/p>\n<p>Para realizar funciones de archivo en Linux disponemos del comando <em>tar<\/em>. Las primeras versiones del comando no realizaban funciones de compresi\u00f3n, pero se han a\u00f1adido en versiones posteriores. Para crear un archivo de ficheros se debe usar la opci\u00f3n\u00a0<em>-c<\/em>. Para indicar el fichero de archivo (el que contendr\u00e1 a los dem\u00e1s) se utiliza la opci\u00f3n\u00a0<em>-f\u00a0<\/em>seguida de un nombre. El siguiente ejemplo crea un archivo llamado\u00a0<em>midirectorio.tar\u00a0<\/em>con todos los archivos con extensi\u00f3n &#8216;.txt&#8217; de nuestro directorio actual:<\/p>\n<pre>$ tar -cf midirectorio.tar *.txt<\/pre>\n<p>Si queremos que adem\u00e1s de crear el archivo lo comprima, a\u00f1adiremos la opci\u00f3n\u00a0<em>-z<\/em>:<\/p>\n<pre>$ tar -czf midirectorio.tar *.txt<\/pre>\n<p>Para descomprimir los ficheros contenidos en un archivo, se usa la opci\u00f3n<em>\u00a0-x<\/em>. Igual que antes, debemos usar la opci\u00f3n\u00a0<em>-f<\/em>\u00a0seguida de un nombre de fichero para indicar que fichero deseamos descomprimir. A\u00f1adiremos tambi\u00e9n la opci\u00f3n\u00a0<em>-z<\/em>\u00a0para informar que el archivo se cre\u00f3 comprimido:<\/p>\n<pre>$ tar -xzf midirectorio.tar<\/pre>\n<p>En cualquiera de estos casos se puede a\u00f1adir\u00a0<em>-v<\/em>\u00a0para que el comando muestre informaci\u00f3n mientras se ejecuta.<\/p>\n<p style=\"padding-left: 30px;\">Si al comando tar le pasamos como par\u00e1metro el nombre de un directorio, agrupar\u00e1 todo el \u00e1rbol de directorios por debajo de \u00e9l y su contenido de forma que, al descomprimirlo, podremos recuperar exactamente la misma estructura. Pru\u00e9balo con diferentes directorios para ver como funciona.<\/p>\n<p>Compresi\u00f3n<\/p>\n<p>Independientemente del comando anterior, Linux ofrece otro comando para comprimir ficheros uno a uno, gzip. Para utilizarlo simplemente hay que escribir el comando seguido de su nombre. Por ejemplo, la siguiente orden comprime el fichero telefonos.txt:<\/p>\n<pre>$ gzip telefonos.txt<\/pre>\n<p>El comando le a\u00f1ade la extensi\u00f3n &#8216;.gz&#8217; para indicar que es un fichero comprimido (<em>telefonos.txt.gz<\/em>). Para descomprimirlo usaremos el mismo comando con la opci\u00f3n\u00a0<em>-d<\/em>:<\/p>\n<pre>$ gzip -d telefonos.txt.gz<\/pre>\n<h3>zip y unzip<\/h3>\n<h4>zip<\/h4>\n<p>En Linux tambi\u00e9n podemos comprimir y descomprimir archivos .zip. Para comprimir podemos usar el comando <em>zip<\/em> de la siguiente manera:<\/p>\n<p style=\"text-align: center;\">zip -&lt;opciones&gt; &lt;archivo comprimido&gt; &lt;lista de archivos a comprimir&gt;<\/p>\n<p>As\u00ed, podr\u00edamos hacer:<\/p>\n<pre>$zip telefonos telefonos.txt telefonos2.txt<\/pre>\n<p>Y nos crear\u00eda un archivo telefonos.zip que contendr\u00eda los dos archivos de texto comprimidos.<\/p>\n<p>Con la opci\u00f3n &#8216;<em>r<\/em>&#8216; podemos comprimir un directorio entero. Es interesante ver el contenido de man para el comando zip para ver todas sus posibilidades.<\/p>\n<h4>unzip<\/h4>\n<p>Igual que podemos comprimir con <em>zip<\/em>, podemos descomprimir con\u00a0<em>unzip<\/em>. El comando se usa de la siguiente manera:<\/p>\n<p style=\"text-align: center;\">unzip -&lt;opciones&gt; &lt;archivo comprimido&gt; [&lt;lista de archivos a descomprimir&gt;]<\/p>\n<p>Por defecto, y acostumbrar\u00e1 a ser la opci\u00f3n m\u00e1s usada, si no se ponen opciones ni lista de archivos a descomprimir, se descomprimir\u00e1 todo el archivo, conservando, si lo hubiese, el \u00e1rbol de directorios.<\/p>","protected":false},"excerpt":{"rendered":"<p>A empaquetar Las utilidades de archivo sirven para \u00abempaquetar\u00bb juntos un conjunto de ficheros en un \u00fanico fichero nuevo. En Windows estas funciones se pueden realizar mediante programas como PKZip (o WinZip) , que adem\u00e1s de crear un archivo de ficheros pueden comprimirlo. Para realizar funciones de archivo en Linux disponemos del comando tar. Las &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/multimedia.uoc.edu\/blogs\/linux\/compresion-y-archivo\/\" class=\"more-link\">Seguir leyendo<span class=\"screen-reader-text\"> \u00abCompresi\u00f3n y archivo\u00bb<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-97","post","type-post","status-publish","format-standard","hentry","category-gnulinux","entry"],"_links":{"self":[{"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/posts\/97","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/comments?post=97"}],"version-history":[{"count":1,"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/posts\/97\/revisions"}],"predecessor-version":[{"id":98,"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/posts\/97\/revisions\/98"}],"wp:attachment":[{"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/media?parent=97"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/categories?post=97"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/multimedia.uoc.edu\/blogs\/linux\/wp-json\/wp\/v2\/tags?post=97"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}