Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



Mostrando entradas con la etiqueta comprimir. Mostrar todas las entradas
Mostrando entradas con la etiqueta comprimir. Mostrar todas las entradas

sábado, 30 de mayo de 2020

Añadir la opción de Comprimir en tu Gestor de Archivos

Añadir la opción de Comprimir en tu Gestor de Archivos.

Yo uso el Gestor de Archivo Caja, y echaba de menos la opción de comprimir/descomprimir en el menu.  Pero encontré el articulo de referencia y alli encontre que si instalaba engrampa, ya me salia la opción en el menu de Caja.

Os dejo los programas a instalar segun el gestor de archivos que useis:


COMPRIMIR Y DESCOMPRIMIR ARCHIVOS MEDIANTE NUESTRO GESTOR DE ARCHIVOS

Existen varios programas que nos servirán para comprimir y descomprimir archivos usando nuestro gestor de archivos. Los programas que podemos usar en función del gestor de archivos que usamos son los siguientes:
Programas
Gestor de archivos
ark
Dolphin, PCManFM
file-roller
Nautilus, PCManFM, y Thunar
nemo-fileroller
Nemo
xarchiver
Thunar, PCManFM, Nautilus
engrampa
Caja


Fuente/Referencia:
https://geekland.eu/comprimir-descomprimir-archivos-gestor-archivos/

jueves, 29 de marzo de 2018

peazip: el winrar winzip gratuito para tu Sistema Operativo (linux, Windows, y BSD)



peazip: el winrar winzip gratuito para tu Sistema Operativo (linux, Windows, BSD y Mac OS)



Todos los días tenemos que lidiar con archivos comprimidos. Peazip, es una aplicación gratuita que nos ayuda tanto a crearlos como descomprimir archivos comprimidos fácilmente con su interfaz gráfico. Tambien lo podemos usar como administrador de archivos, ya que nos permite copiar, mover, borrar archivos y carpetas además de abrirlos.





Enlace de descarga:  http://www.peazip.org/


Vista del administrador de archivos del programa peazip



Fuentes:

http://www.peazip.org/index.html

Última version:

https://github.com/giorgiotani/PeaZip/releases/



Nota:

Pero si os gusta más la terminal o no podeis usar entorno gráfico, también tenemos el comando zip:

Para poder comprimir una carpeta (y su contenido recursivamente, osea subcarpetas incluidas) en formato zip se usara el comando siguiente:


zip -r archivo.zip Nombre_Carpeta

Para poder descomprimir los ficheros zip, se usa el siguiente comando:
unzip archivo.zip
Para ver el contenido de un fichero zip, se pone el siguiente comando:
unzip -v archivo.zip

Fuentes:
http://www.linuxnix.com/linuxunix-zip-and-unzip-command-examples/
https://linuxzone.es/metodos-de-compresion-y-descompresion-en-linux/
https://www.lifewire.com/practical-examples-of-the-zip-command-2201158
https://enavas.blogspot.com.es/2013/07/zip-comprimir-una-carpeta.html

lunes, 22 de diciembre de 2014

Truco: Como Guardar (y Abrir) comprimidos los archivos de datos de nuestros programas

Truco: 

Como Guardar (y Abrir)  comprimidos 

los archivos de datos de nuestros programas


En este artículo, os comento como guardar datos de nuestros programas y luego abrirlos, comprimiendo los archivos. Aunque lo explico usando código de Gambas, es aplicable a otros lenguajes Python, Java, etc... Básicamente se trata de usar el comando del sistema tar,  y para que se entienda mejor, os haré la explicación de como lo hace el programa pintascreen.

El programa pintascreen, maneja los siguientes datos:
- Una imagen de fondo
- Un array de objetos del tipo "dibujo", que es el que contiene las diversas primitivas de dibujo, osea los objetos del tipo "marcador", "texto", "linea", "flecha", "chincheta", etc... que es lo que va dibujando el usuario.
- Una imagen miniatura de todo lo que ha dibujado, que la usa para mostrarla en el formulario de "abrir":

Os describo los pasos a seguir para Guardar los datos:

Los archivos que tenemos que guardar por cada captura son:
fondo.jpg: es la imagen del fondo
mini.jpg: es una imagen en miniatura de lo dibujado (incluyendo el fondo)
figuras.txt: es un archivo de texto plano, donde se guardan los datos de las figuras dibujadas (ancho, color, coordenada de inicio y fin, etc..)

Pasos a seguir:
0) Pedir la ruta y el nombre del archivo donde guardaremos los datos. Lo guardaremos en la variable "rutafichero"

1)  Generar los archivos, tanto la imagen de miniatura como el archivo .txt de las figuras dibujadas.
No entro en detalles, porque para cada programa será distinto, pero podeis ver como se hace en el pintascreen en el módulo: ModuleAbrirGuardar, en el método guardar().


2) Copiarlos en una ruta.
En nuestro caso, los vamos a copiarlo en el directorio /tmp/pintascreenGuarda/

3) Crear el tar.gz
Mediante el siguiente comando, vamos a crear el archivo comprimido que contenga los 3 archivos:

comando = "cd /tmp/pintascreenGuarda/;tar czvf \"" & File.Name(rutafichero) & ".tar.gz\" *"

Nota:Es muy importante que usemos "cd" para desplazarnos al directorio donde tenemos los archivos, y luego usar ";" para unir la siguiente orden (tar).

y lo ejecutamos con la orden Shell:

Shell comando Wait

4) Cambiamos la extensión .tar.gz por .pintascreen y lo movemos a la ruta seleccionada:

comando = "mv /tmp/pintascreenGuarda/" & File.Name(rutafichero) & ".tar.gz " & Rutafichero & ".pintascreen"
Shell comando Wait

5) Borrar archivos temporales.
Borraríamos los archivos que tendríamos en la carpeta "/tmp/pintascreenGuarda/":

 For Each nombrearchivo In Dir("/tmp/pintascreenGuarda/", "*.*", GB.File).Sort()
Kill "/tmp/pintascreenGuarda/" & nombrearchivo
Next

Así obtenemos un archivo con extensión .pintascreen, que realmente es un tar.gz, con los archivos de los datos comprimidos y empaquetado.


Pasos para Abrir los archivos .pintascreen
0)  Elegir el archivo que queremos abrir, lo llamaremos "rutafichero"

1) Creamos el directorio de trabajo, en nuestro caso lo llamamos "/tmp/pintascreenAbrir", y si no existe lo creamos:
If Not Exist("/tmp/pintascreenAbrir") Then
Mkdir "/tmp/pintascreenAbrir"
Endif

2) Borramos el contenido del directorio de trabajo, por si hubiésemos abierto otro archivo anteriormente.

'borrar archivos existentes
For Each nombrearchivo In Dir("/tmp/pintascreenAbrir", "*.*", GB.File).Sort()
Kill "/tmp/pintascreenAbrir/" & nombrearchivo
Next

3) Copiamos el archivo y lo descomprimirmos.

'copia el archivo y lo descomprime el archivo
Copy Rutafichero To "/tmp/pintascreenAbrir/" & File.Name(Rutafichero)
Shell "cd /tmp/pintascreenAbrir/;tar -zxvf \"/tmp/pintascreenAbrir/" & File.Name(Rutafichero) & "\"" Wait

Nota:
Es muy importante que usemos "cd" para desplazarnos al directorio donde tenemos los archivos, y luego usar ";" para unir la siguiente orden (tar).

4) Ya con los archivos descomprimidos, lo usaríamos en el programa, por ejemplo en el pintascreen, se cargaría el fondo, se leería el fichero de figuras.txt, para crear los objetos de dibujo.



Extracción de un archivo concreto:
Os dejo por ultimo, la forma de extraer un archivo en concreto, que es lo que uso para cuando estamos en el formulario de abrir, y nos muestra la miniatura. Se trata de usar el comando tag -zxvf indicándole la ruta donde queramos que se descomprima y el nombre del fichero que queramos extraer. Esto lo hago con el método "cargaImagen()", que esta en el módulo "ModuleAbrirGuardar"
Public Sub cargaImagen(Rutafichero As String) As Picture
'leer el archivo, lo descomprime, y carga la vista minuatura...Try Kill "/tmp/mini.jpg"
Shell "cd /tmp;tar -zxvf \"" & Rutafichero & "\" mini.jpg" Wait
If Exist("/tmp/mini.jpg") ThenReturn Picture.Load("/tmp/mini.jpg")ElseReturn NullEndif
End

Como veis, la función recibe el nombre (ruta incluida), del fichero que queremos ver si miniatura, y devuelve un objeto Picture.
Extrae el fichero mini.jpg (en la ruta /tmp) ,
Shell "cd /tmp;tar -zxvf \"" & Rutafichero & "\" mini.jpg" Wait

 y lo carga y devuelve
Return Picture.Load("/tmp/mini.jpg")

Si hay no lo encuentra, devuelve Null
Return Null

Por último os comento que seguramente existen otros métodos más óptimos y con mejor rendimiento para hacer esto, yo os lo comento para que veais la forma en que lo hago yo, y como lo he usado en varios de mis programas con éxito.

Nota:
El código fuente del programa pintascreen lo podéis descargar en:


domingo, 14 de diciembre de 2014

GUÍA RÁPIDA PARA COMPRIMIR/DESCOMPRIMIR ARCHIVOS


GUÍA RÁPIDA PARA
COMPRIMIR/DESCOMPRIMIR ARCHIVOS

Uno de los artículos en plan "chuleta" más útiles que he encontrado para comprimir y descomprimir archivos:


Copyright 2005-2012 Sergio González Durán
Se concede permiso para copiar, distribuir y/o modificar este documento siempre y cuando se cite al autor y la fuente de linuxtotal.com.mx y según los términos de la GNU Free Documentation License, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation.

autor: sergio.gonzalez.duran@gmail.com


En Linux hay diversas herramientas para empaquetar y comprimir archivos, tomando en cuenta que empaquetar es juntar dos o más archivos en un solo archivo (paquete) y comprimir es tomar este archivo-paquete y comprimirlo a continuación te muestro un resumen de las más comunes, de acuerdo a la extensión que comunmente se acostumbra ponerles.
.tar (tar)
Empaquetar
Desempaquetar
Ver el contenido (sin extraer)
.tar.gz - .tar.z - .tgz (tar con gzip)
Empaquetar y comprimir
Desempaquetar y descomprimir
Ver el contenido (sin extraer)
.gz (gzip)
Comprimir
(El archivo lo comprime y lo renombra como "archivo.gz")
Descomprimir
(El archivo lo descomprime y lo deja como "archivo"
Nota: gzip solo comprime archivos, no directorios
.bz2 (bzip2)
Comprimir

(El archivo lo comprime y lo renombra como "archivo.bz2")
Descomprimir

(El archivo lo descomprime y lo deja como "archivo")
Nota: bzip2 solo comprime archivos, no directorios
.tar.bz2 (tar con bzip2)
Comprimir
Descomprimir
 (versiones recientes de tar)
Ver contenido
.zip (zip)
Comprimir
Descomprimir
Ver contenido
.lha (lha)
Comprimir
Descomprimir
Ver contenido
.zoo (zoo)
Comprimir
Descomprimir
Ver contenido
.rar (rar)
Comprimir
Descomprimir
Ver contenido


Autor:  Sergio González Durán


Otro tema interesante:
Extraer un archivo en concreto de un fichero tar.gz

Poniendo como ejemplo el fichero "etc/default/sysstat" de confit.tar.gz

$ tar -zxvf config.tar.gz etc/default/sysstat

Asi solo extraemos el fichero sysstat

Fuente: