Fundamentos de Linux (5)

envasado y descompresión de archivos

1. El archivo de formato común
1) Los dos más comunes en Windos *.zip, *,rar;
2) en Linux, además de los dos anteriores, hay *.gz, *.xz, *.bz2, *.tar, *.tar.gz, *.tar.xz, *.tar.bz2
*.zip: envasados archivo ZIP comprimido
*,rararchivo de programa comprimido rar:
*.gz: gzip programa (GNU zip) archivos comprimidos
*.xz: los archivos comprimidos programa xz
*.bz2: archivo comprimido bzip2 programa
*.tar: alquitrán envasado, archivo sin comprimir
*.tar.gz: paquete de alquitrán, archivos gzip comprimido del programa
*.tar.xz: paquete de alquitrán, programa xz archivo comprimido
*.tar.bz2: paquete de alquitrán , archivos de programa bzip2 comprimido

2. compresión zip empaquetador

(1) utilizando el paquete carpeta zip:
el directorio / home / shiyanlou / escritorio empaquetado en un archivo, y compruebe el tamaño del archivo y el tipo de envase. -rrecursiva parámetro indica el paquete que contiene todo el contenido de los subdirectorios, -qparámetro representa el modo silencioso, que no lo hace la información de salida a la pantalla, -orepresenta el archivo de salida, a seguir adelante en el nombre del archivo de salida de paquetes. Utilice duel comando para ver el tamaño de archivo del paquete.

$ cd /home/shiyanlou
$ zip -r -q -o shiyanlou.zip /home/shiyanlou/Desktop
$ du -h shiyanlou.zip
$ file shiyanlou.zip

(2) Ajusta el nivel de compresión de 1 y 9 (9 máximo, mínimo 1), reenvasado. Añadir un parámetro para ajustar el nivel de compresión -[1-9], una compresión representa el más rápido y voluminoso, 9 designa el más pequeño, pero el tiempo más largo que consume. -xPara descartar el archivo zip que hemos creado la última vez, de lo contrario se empaqueta en un archivo comprimido Nota: El uso ruta único absoluto aquí, de lo contrario no funciona.

$ zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou/Desktop -x ~/*.zip
$ zip -r -1 -q -o shiyanlou_1.zip /home/shiyanlou/Desktop -x ~/*.zip

A continuación, el ducomando de ver el nivel de compresión por defecto, respectivamente, el nivel de compresión mínima y máxima y el tamaño del archivo sin comprimir:

$ du -h -d 0 *.zip ~ | sort

En donde hlos parámetros: , dde humana- legibles; , (ver la profundidad archivos) -max profundidad.

(3) Usar -elos parámetros para crear un paquete postal cifrado

$ zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou/Desktop

Si usted desea sin ningún problema después de la descompresión de archivos zip Linux creada en Windows, también es necesario hacer algunos cambios en el comando:

$ zip -r -l -o shiyanlou.zip /home/shiyanlou/Desktop

Necesidad de añadir -lparámetros LF(Linux saltos de línea) a CR+LF(nueva línea de Windows) para lograr el propósito anteriormente.

3. Descomprimir el zip de archivos mediante el comando de descompresión

El extracto shiyanlou.zip en el directorio actual:

$ unzip shiyanlou.zip

Utilizar el modo silencioso, extraer los archivos en un directorio especificado:

$ unzip -q shiyanlou.zip -d ziptest

Cuando no existe el directorio especificado anteriormente, se crea.
Simplemente no quieren a descomprimir el archivo para ver lo que se puede utilizar -lparámetros:

$ unzip -l shiyanlou.zip

Se observa también problemas de compatibilidad cuando se usa el descomprimir descomprimir el archivo, pero la preocupación aquí es el problema de codificación china, archivos comprimidos creados son por lo general de sistema de Windows anterior, el valor por defecto será utilizado GBK si existe documentación que contiene chino o china como el nombre del archivo u otra codificación, y por encima de Linux por defecto es UTF-8, sin ningún tratamiento, extraer directamente si los posibles problemas chinos ilegible aparece (a veces se le ayudará a hacer frente de forma automática), con el fin de resolver este problema, se puede al extraer el tipo de codificación especificado. Usado -O(letras, en mayúsculas o) parámetro especifica el tipo de codificación:

unzip -O GBK 中文压缩文件.zip
  1. herramienta paquete de alquitrán

Linux es superior a la de uso más común tarde herramientas, taroriginalmente sólo una herramienta de empaquetado, sino que también se implementa soporte para 7z, gzip, XZ, bzip2 y otras herramientas, estas herramientas de compresión en sí sólo se puede lograr en una compresión de archivos o directorio (directorio de archivos solos ) de compresión, * no se dio cuenta de compresión de archivos empaquetados . descompresión comandos tar y compresión son los mismos, sólo diferentes parámetros, más cómodo de usar.

En primer comando tar para dominar alguna utilidad básica, no solo de compresión empaquetado (crear el archivo) y las operaciones de desempaquetado.
(1) crear un paquete tar:

$ cd /home/shiyanlou
$ tar -P -cf shiyanlou.tar /home/shiyanlou/Desktop

El comando anterior, -Pconserva símbolo ruta absoluta, -crepresenta la creación de un archivo de paquete de alquitrán, -fse utiliza para especificar el nombre del archivo creado, el nombre del archivo debe señalar inmediatamente -fdespués del argumento, como no se puede escribir tar -fc shiyanlou.tar, se puede escribir tar -f shiyanlou.tar -c ~. También puede añadir -vparámetros de archivo empaquetado de manera visual de salida.
(2) descomprimir un archivo ( -xparámetros) a la ruta del directorio especificado ya existe ( -Cparámetros):

$ mkdir tardir
$ tar -xf shiyanlou.tar -C tardir

(3) Para ver sólo desconcertante archivo de paquetes de -tparámetros:

$ tar -tf shiyanlou.tar

(4) Para crear un diferentes formatos de compresión de archivos, por tarque es muy simple, sólo hay que cambiar un parámetro, para utilizar la gzipherramienta para crear un *.tar.gzarchivo como un ejemplo para ilustrar.

Sólo es necesario crear tararchivos de complemento sobre la base de -zparámetros, gzippara comprimir archivos:

$ tar -czf shiyanlou.tar.gz /home/shiyanlou/Desktop

La extracción de archivos .tar.gz *:

$ tar -xzf shiyanlou.tar.gz

(5) Para crear o descomprimir el archivo sólo se necesita cambiar un parámetro de utilizar otras herramientas de compresión:
*.tar.gz: -z;
*.tar.xz: -J;
*tar.bz2: -j;

resumen:

  • postal:
    Embalaje: cierre relámpago something.zip algo (por favor agregue directorio parámetro -r)
    de desempaquetado: something.zip descomprimir
    ruta especificada: parámetro -d
  • tar:
    Embalaje: tar cf something.tar algo
    de desempaquetado: tar xf something.tar
    especificada ruta: parámetro -C

operaciones de gestión de disco y sistemas de archivos

las operaciones del sistema de archivos

  • Comprobar la capacidad del disco y propósito:

Utilice dfel comando para ver la capacidad del disco:

$ df
或者
$ df -h
# 加上`-h`参数,以更易读的方式展示

Utilice el comando du para ver la capacidad del directorio:

# 默认同样以 块 的大小展示
$ du 
# 加上`-h`参数,以更易读的方式展示
$ du -h

-dComprobar el parámetro especifica la profundidad del directorio

# 只查看1级目录的信息
$ du -h -d 0 ~
# 查看2级
$ du -h -d 1 ~
du -h #同--human-readable 以K,M,G为单位,提高信息的可读性。
du -a #同--all 显示目录中所有文件的大小。
du -s #同--summarize 仅显示总计,只列出最后加总的值。

Simple de Administración de discos

  • Introducción de comando dd

ddComandos para la conversión y la copia de archivos, pero es diferente de la copia cp. Mencionado antes de un punto muy importante, sobre Linux todos los archivos que , en Linux, los controladores de dispositivos de hardware (como el disco duro) y unos archivos de dispositivo especial (por ejemplo, / dev / zero y / dev / random) son como archivos normales, es lograr una función que corresponde a los respectivos conductores, dd archivos pueden ser leídos o escritos en el archivo. Por lo tanto, dd también puede ser utilizado en el sector de arranque del hardware de respaldo, la obtención de un cierto número de datos aleatorios o tareas datos nulos. ddPuede procesar tanto la replicación de datos, la conversión por ejemplo endian, o intercambiados entre ASCII y codificación EBCDIC.

ddLa instrucción de la línea de comandos y otro programa de Linux es diferente debido a sus opciones de línea de comandos para el formato 选项=值, en lugar de la más estándar --选项 值o -选项=值. ddEl valor por defecto lee de la entrada estándar y escribir en la salida estándar, pero es una opción que puede utilizar if(archivo de entrada, el archivo de entrada) y ofel cambio (archivo de salida, el archivo de salida).

Con ddórdenes de un usuario de entrada salida estándar o norma de entrada a un archivo:

# 输出到文件
$ dd of=test bs=10 count=1 # 或者 dd if=/dev/stdin of=test bs=10 count=1
# 输出到标准输出
$ dd if=/dev/stdin of=/dev/stdout bs=10 count=1
# 注
在打完了这个命令后,继续在终端打字,作为你的输入

El comando anterior leer de la entrada estándar un dispositivo de entrada del usuario (el valor predeterminado, se puede omitir) es la salida a continuación, a un testarchivo, bs(Bloque tamaño) para especificar el tamaño del bloque (por defecto es Byte, pueden ser asignados como 'K', 'M', unidades 'G', etc.), countse utiliza para especificar el número de bloques. Como ya sólo lectura designado un total de 10 bytes de datos, cuando al escribir "hola shiyanlou" después del retorno de carro, además de espacio total de 16 bytes (a Inglés uno caracteres de un byte), es evidente excede el tamaño del conjunto . Du y utilizar el comando cat para ver el contenido real de la finalización de escritura de archivos realmente solamente 10 bytes, mientras que la otra entrada redundante será interceptado y retenido en la entrada estándar.

ddDurante la copia de la conversión de datos se puede implementar también, citar un ejemplo sencillo: la salida de los caracteres del alfabeto inglés en mayúsculas y luego escritas en el archivo:

$ dd if=/dev/stdin of=test bs=10 count=1 conv=ucase
  • Crear un archivo de imagen virtual con el comando dd

Creado a partir de / dev / dispositivo de cero con una capacidad de archivo vacío 256M:

$ dd if=/dev/zero of=virtual.img bs=1M count=256
$ du -h virtual.img

A continuación, desea que el formato de archivo (por escrito para el sistema de archivos), donde tenemos que aprender un (exacto decir que un grupo de) nuevo comando para completar este requisito.

  • Mkfs comando para formatear el disco (en nuestro caso una imagen de disco virtual que ha creado)

Usted puede simplemente utilizar el siguiente comando para nuestras imágenes con formato de disco virtual como un ext4sistema de archivos (en realidad mkfs.ext4 se lleva a cabo usando mke2fs formato de trabajo):

 $ sudo mkfs.ext4 virtual.img

Si quieres saber qué sistemas de archivos soportados por Linux puede introducir ls -l /lib/modules/$(uname -r)/kernel/fs(no ver nuestro entorno) vista.

  • Utilice el comando mount para montar el disco en el árbol de directorios

Un usuario abre un archivo en la maquina Linux / UNIX antes, incluyendo la operación del sistema de archivos debe ser montado , entonces el usuario para ejecutar instrucciones para montar a montar el sistema de archivos. Las instrucciones se utilizan normalmente en un USB u otro dispositivo de almacenamiento extraíble, y el directorio raíz permanecerían estado montado. Archivo y porque el sistema de archivos de Linux / UNIX puede no corresponde necesariamente a un archivo si el dispositivo de hardware, es posible montar un sistema de archivos que contiene el árbol de directorios.

línea de comando de montaje de comandos de Linux / UNIX indica al sistema operativo, el sistema de archivos correspondiente está listo para ser usado, y el sistema de archivos corresponderá a un punto determinado (llamado un punto de montaje). Montar buenos archivos, directorios, archivos especiales de dispositivo y puede ofrecer a los usuarios.

En primer lugar, utilizan la montura para ver el siguiente anfitrión ha montado el sistema de archivos :

$ sudo mount

La salida de resultados en cada fila representa un dispositivo o dispositivo virtual, el nombre del dispositivo es la parte superior de cada línea, y luego más tarde en un punto de montaje, seguido de tipo representa el tipo de sistema de archivos, y luego seguido por las opciones de montaje (por ejemplo, puede ser montado cuando montaje como valor Sólo lectura, etc.).

Montar el disco en el árbol de directorios, montar comando formato general es el siguiente:

mount [options] [source] [directory]

Algunas operaciones comunes:

mount [-o [操作选项]] [-t 文件系统类型] [-w|--rw|--ro] [文件系统源] [挂载点]

Ahora nos dirigimos a montar disco virtual de reflejo para crear /mntdirectorio:

$ mount -o loop -t ext4 virtual.img /mnt 
# 也可以省略挂载类型,很多时候 mount 会自动识别

# 以只读方式挂载
$ mount -o loop --ro virtual.img /mnt
# 或者mount -o loop,ro virtual.img /mnt
  • Utilice el comando unmount para desmontar el disco montado
# 命令格式 sudo umount 已挂载设备名或者挂载点,如:
$ sudo umount /mnt
  • Fdisk partición
# 查看硬盘分区表信息
$ sudo fdisk -l
# 进入磁盘分区模式
$ sudo fdisk virtual.img

Después de la operación se ha completado entrar pa ver los resultados, y no se olvide de entrar en wescribir la tabla de particiones.

  • Uso losetup comando asociado con los dispositivos de espejo de bucle
$ sudo losetup /dev/loop0 virtual.img
# 如果提示设备忙你也可以使用其它的回环设备,"ls /dev/loop*"参看所有回环设备

# 解除设备关联
$ sudo losetup -d /dev/loop0

Y luego usar el mkfsformato de cada partición (frente a nosotros es formatear el archivo de imagen de disco virtual o disco), pero antes de formatear, tenemos que establecer un mapeo de dispositivo virtual para cada partición, utilice la kpartxherramienta, es necesario instalar:

$ sudo apt-get install kpartx
$ sudo kpartx -av /dev/loop0

# 取消映射
$ sudo kpartx -dv /dev/loop0

A continuación, re-formateado, todos vamos a tener el formato ext4:

$ sudo mkfs.ext4 -q /dev/mapper/loop0p1
$ sudo mkfs.ext4 -q /dev/mapper/loop0p5
$ sudo mkfs.ext4 -q /dev/mapper/loop0p6

Después de formatear el nuevo cuatro directorio vacío en el directorio / media se utiliza para montar el disco virtual:

$ mkdir -p /media/virtualdisk_{1..3}
# 挂载磁盘分区
$ sudo mount /dev/mapper/loop0p1 /media/virtualdisk_1
$ sudo mount /dev/mapper/loop0p5 /media/virtualdisk_2
$ sudo mount /dev/mapper/loop0p6 /media/virtualdisk_3

# 卸载磁盘分区
$ sudo umount /dev/mapper/loop0p1
$ sudo umount /dev/mapper/loop0p5
$ sudo umount /dev/mapper/loop0p6
$ df -h

fuente

Publicado 33 artículos originales · ganado elogios 1 · vistas 1240

Supongo que te gusta

Origin blog.csdn.net/weixin_44783002/article/details/104704565
Recomendado
Clasificación