English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Gestión de disco de Linux

Linux磁盘管理好坏直接关系到整个系统的性能问题。

Linux磁盘管理常用三个命令为df、du和fdisk。

  • df:列出文件系统的整体磁盘使用量

  • du:检查磁盘空间使用量

  • fdisk:用于磁盘分区

df

df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

Sintaxis:

df [-ahikHTm] [目录或文件名]

Opciones y parámetros:

  • -a:列出所有的文件系统,包括系统特有的 /proc等文件系统;

  • -k:以KBytes的容量显示各文件系统;

  • -m:以MBytes的容量显示各文件系统;

  • -h:以人们较易阅读的GBytes, MBytes, KBytes等格式自行显示;

  • -H:以M=1000K取代M=1024K的进位方式;

  • -T:显示文件系统类型,连同该partition的filesystem名称(例如ext3)也列出;

  • -i:不用硬盘容量,而以inode的数量来显示

Ejemplo 1

列出系统内所有的文件系统!

[root@www ~]# df
Sistema de archivos      1K-blocks Used Available Use% Montado en
/dev/hdc2         9920624   3823112   5585444  41% /
/dev/hdc3         4956316    141376   4559108   4% /home
/dev/hdc1          101086     11126     84741  12% /boot
tmpfs              371332         0    371332   0% /dev/shm

在Linux底下如果df没有加任何选项,那么默认会将系统内所有的 (不含特殊内存内的文件系统与swap)都以 1 以Kbytes的容量来列出来!

Ejemplo 2

将容量结果以易读的容量格式显示出来

[root@www ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hdc2             9files (5G  3files (7G  5files (4G  41% /
/dev/hdc3             4files (8G  139M  4files (4G   4% /home
/dev/hdc1              99M   11M   83M  12% /boot
tmpfs                 363M  363M /dev/shm

Ejemplo 3

列出系统内的所有特殊文件格式及名称

[root@www ~]# df -aT
Filesystem 1K-blocks    Used Available Use% Mounted on
/dev/hdc2     ext3   9920624 3823112   5585444  41% /
proc          proc         0       0         0   -  /proc
sysfs        sysfs         0       0         0   -  /sys
devpts      devpts         0       0         0   -  /dev/pts
/dev/hdc3     ext3   4956316  141376   4559108   4% /home
/dev/hdc1     ext3    101086   11126     84741  12% /boot
tmpfs        tmpfs    371332       0    371332   0% /dev/shm
none   binfmt_misc         0       0         0   -  /proc/sys/fs/binfmt_misc
sunrpc  rpc_pipefs         0       0         0   -  /var/lib/nfs/rpc_pipefs

Ejemplo 4

将 /etc 底下的可用的磁盘容量以易读的容量格式显示

[root@www ~]# df -h /etc
Filesystem            Size  Used Avail Use% Mounted on
/dev/hdc2             9files (5G  3files (7G  5files (4G  41% /

du

Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的,这里介绍Linux du命令。

Sintaxis:

du [-ahskm] 文件或目录名称

Opciones y parámetros:

  • -a  :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。

  • -h  :以人们较易读的容量格式 (G/M) 显示;

  • -s  :列出总量而已,而不列出每个各别的目录占用容量;

  • -S  :不包括子目录下的总计,与 -s 有点差别。

  • -k  :以 KBytes 列出容量显示;

  • -m  :以 MBytes 列出容量显示;

Ejemplo 1

只列出当前目录下的所有文件夹容量(包括隐藏文件夹):

[root@www ~]# du
8       files (/test4     <==每个目录都会列出来
8       files (/test2
....中间省略....
12      files (/.gconfd   <==包括隐藏文件的目录
220     .           <==这个目录(.)所占用的总量

直接输入 du 没有加任何选项时,则 du 会分析当前所在目录的文件与目录所占用的硬盘空间。

Ejemplo 2

将文件的容量也列出来

[root@www ~]# du -a
12      files (/install.log.syslog   <==有文件的列表了
8       files (/.bash_logout
8       files (/test4
8       files (/test2
....中间省略....
12      files (/.gconfd
220     .

Ejemplo 3

Verificar el espacio utilizado por cada directorio debajo del directorio raíz

[root@www ~]# du -sm /*
7       /bin
6       /boot
..... omitido.....
0       /proc
..... omitido.....
1       /tmp
3859    /usr <== ¡Es el más grande en la etapa inicial del sistema!
77      /var

Símbolos de comodín * para representar cada directorio.

A diferencia de df, el comando du realmente busca todos los datos de archivos en el sistema de archivos.

fdisk

fdisk es una herramienta de Linux para operar con la tabla de particiones de discos.

Sintaxis:

fdisk [-l] nombre del dispositivo

Opciones y parámetros:

  • -l : muestra todas las particiones del dispositivo especificado. Si solo se especifica fdisk -l cuando,      entonces el sistema listará todas las particiones de los dispositivos que pueda encontrar en todo el sistema.

Ejemplo 1

Listar toda la información de particiones

[root@AY120919111755c246621 tmp]# fdisk -l
Disco /dev/xvda: 21files (5 GB, 21474836480 bytes
255 cabezales, 63 sectores/pista, 2610 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Tamaño del sector (lógico/físico): 512 bytes / 512 bytes
I/O tamaño (mínimo/óptimo): 512 bytes / 512 bytes
Identificador de disco: 0x00000000
    Dispositivo de arranque  Comienzo  Final  Bloques  Id  Sistema
/dev/xvda1   *           1        2550    20480000   83  Linux
/dev/xvda2            2550        2611      490496   82  Linux swap / Solaris
Disco /dev/xvdb: 21files (5 GB, 21474836480 bytes
255 cabezales, 63 sectores/pista, 2610 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Tamaño del sector (lógico/físico): 512 bytes / 512 bytes
I/O tamaño (mínimo/óptimo): 512 bytes / 512 bytes
Identificador de disco: 0x56f40944
    Dispositivo de arranque  Comienzo  Final  Bloques  Id  Sistema
/dev/xvdb2               1        2610    20964793+  83  Linux

Ejemplo 2

Encuentra el disco donde se encuentra el directorio raíz de tu sistema y revisa la información dentro de ese disco

[root@www ~]# df /            <== Atención: lo importante es encontrar el nombre del archivo del disco
Sistema de archivos           1K-blocks Used Available Use% Montado en
/dev/hdc2              9920624   3823168   5585388  41% /
[root@www ~]# fdisk /dev/hdc <== ¡Atención, no agregue números!
El número de cilindros para este disco está configurado a 5005files (
No hay nada malo en eso, pero esto es mayor que 1024,
y podría causar problemas en ciertas configuraciones con:
1) software que se ejecuta en el tiempo de arranque (por ejemplo, versiones antiguas de LILO)
2) software para arranque y particionamiento de otros sistemas operativos
   (por ejemplo, DOS FDISK, OS/2 FDISK)
Command (m for help): <== 等待你的输入!

输入 m 后,就会看到底下这些命令介绍

Command (m for help): m <== 输入 m 后,就会看到底下这些命令介绍
Comando acción
   a Conmutar un flag de arranque
   b Editar etiqueta de disco BSD
   c Conmutar el flag de compatibilidad DOS
   d Eliminar una partición == Eliminar una partición
   l Listar tipos de particiones conocidas
   m Mostrar este menú
   n Añadir una nueva partición == Añadir una nueva partición
   o Crear una nueva tabla de partición DOS vacía
   p Mostrar la tabla de partición == Mostrar la tabla de partición en la pantalla
   q Salir sin guardar cambios == Salir del programa fdisk sin guardar cambios
   s Crear una nueva etiqueta de disco Sun vacía
   t Cambiar el ID de sistema de una partición
   u Cambiar visualización/Unidades de entrada
   v Verificar la tabla de partición
   w Escribir tabla a disco y salir == Escribir las acciones recientes en la tabla de partición
   x Funcionalidades adicionales (sólo para expertos)

Al salir de fdisk, presione q para que todas las acciones no se apliquen. Por el contrario, presione w para que las acciones se apliquen.

Comando (m para ayuda): p == Aquí se puede mostrar el estado actual del disco
Disco /dev/hdc: 41files (1 GB, 41174138880 bytes == Nombre y capacidad del disco
255 cabezales, 63 sectores/pista, 5005 cilindros == Tamaño de cabezal, sector y cilindro
Unidades = cilindros de 16065 * 512 = 8225280 bytes == Tamaño de cada cilindro
   Dispositivo de arranque  Comienzo  Final  Bloques  Id  Sistema
/dev/hdc1   *           1          13      104391   83  Linux
/dev/hdc2              14        1288    10241437+  83  Linux
/dev/hdc3            1289        1925     5116702+  83  Linux
/dev/hdc4            1926        5005    24740100    5  Extendido
/dev/hdc5            1926        2052     1020096   82  Linux swap / Solaris
# Nombre del archivo de dispositivo ¿Sí/No? Cilindro de inicio Cilindro de final  1Capacidad de disco en Kt
Comando (m para ayuda): q

¿Desea salir sin guardar? Presione q para hacerlo. ¡No presione w arbitrariamente!

Usando p, se puede listar la información de la tabla de división actual del disco, la mitad superior de esta información muestra el estado general del disco.

Formateo de disco

Después de que se complete la división del disco, naturalmente, es necesario realizar el formateo del sistema de archivos, el comando de formateo es muy simple, use el comando mkfs (hacer sistema de archivos).

Sintaxis:

mkfs [-t [formato de sistema de archivos] nombre del archivo de dispositivo

Opciones y parámetros:

  • -t: puede recibir formato de sistema de archivos, por ejemplo, ext3, ext2, vfat, etc. (sólo se aplican los que el sistema admite)

Ejemplo 1

Ver formatos de archivo admitidos por mkfs

[root@www ~]# mkfs[tab][tab]
mkfs     mkfs.cramfs     mkfs.ext2    mkfs.ext3    mkfs.msdos     mkfs.vfat

Presione dos [tab], y se descubrirá que mkfs admite los formatos de archivo como se muestra anteriormente.

Ejemplo 2

Formatear la partición /dev/hdc6(Puede especificar su propia partición) Formatear como ext3 Sistema de archivos:

[root@www ~]# mkfs -t ext3 /dev/hdc6
mke2fs 1files (39 (29-Mayo-2006)
Etiqueta de sistema de archivos= <== se refiere al nombre del espacio de partición (etiqueta)
Tipo de SO: Linux
Tamaño de bloque=4096 (log=2) <== el tamaño de bloque está configurado como 4K 
Tamaño de fragmento=4096 (log=2)
251392 inodos, 502023 bloques <== por configuración de inodos/número de bloques
25101 bloques (5(00%) reservado para el superusuario
Primer bloque de datos=0
Máximo número de bloques de sistema de archivos:515899392
16 grupos de bloques
32768 bloques por grupo, 32768 fragmentos por grupo
15712 inodos por grupo
Reservas de superbloque almacenadas en bloques:
        32768, 98304, 163840, 229376, 294912
Escribiendo tablas de inodos: completado
Creando diario (8192 bloques): completado <== con registro de bitácora
Escribiendo superbloques e información de contabilidad de sistema de archivos: completado
Este sistema de archivos se revisará automáticamente cada 34 montajes o
180 días, el primero que ocurra. Utilice ajuste2fs -c o -i para anular.
# Esto crea el Ext3 ¡Sistema de archivos! Simple y claro!

Inspección de disco

fsck (revisión de sistema de archivos) se utiliza para revisar y mantener sistemas de archivos inconsistentes.

Si el sistema se apaga o ocurre un problema con el disco, se puede utilizar el comando fsck para revisar el sistema de archivos.

Sintaxis:

fsck [-t Sistema de archivos] [-ACay] Nombre del dispositivo

Opciones y parámetros:

  • -t : Dar el tipo de sistema de archivos dado, si en /etc/No se necesita agregar este parámetro si ya está definido en fstab o si el kernel lo soporta

  • -s : Ejecutar instrucciones de fsck una por una en orden

  • -A : Para/etc/Revisar todas las particiones listadas en fstab

  • -C : Mostrar el progreso completo de la revisión

  • -d : Imprimir e2Resultados de depuración de fsck

  • -p : Con -A : Ejecutar varios checks de fsck juntos en condiciones

  • -R : Con -A : Omitir en condiciones / No revisar

  • -V : Modo de visualización detallada

  • -a : Si hay errores en la revisión, se repararán automáticamente

  • -r : Si hay errores en la revisión, el usuario responderá si se reparan

  • -y : La opción especifica que se ingrese 'yes' automáticamente para cada archivo revisado, en caso de dudas sobre su normalidad, se puede ejecutar # fsck -y Revisar y reparar todo.

Ejemplo 1

Verificar cuántos sistemas de archivos soportan el comando fsck:

[root@www ~]# fsck[tab][tab]
fsck fsck.cramfs fsck.ext2    fsck.ext3    fsck.msdos fsck.vfat

Ejemplo 2

Revisión forzada /dev/hdc6 Partición:

[root@www ~]# fsck -C -f -t ext3 /dev/hdc6 
fsck 1files (39 (29-Mayo-2006)
e2fsck 1files (39 (29-Mayo-2006)
Aprobado 1Verificando inodos, bloques y tamaños
Aprobado 2Verificando estructura del directorio
Aprobado 3Verificando conectividad del directorio
Aprobado 4Verificando conteos de referencias
Aprobado 5Verificando información resumen del grupo
vbird_logical: 11/251968 vbird_logical:9files (1.-% non 36926/1004046 contiguous),

blocks -Si no se agrega la opción f, -f Revisión forzada, se mostrará paso a paso.

Montaje y desmontaje de disco

El montaje de disco de Linux utiliza el comando mount, y el desmontaje utiliza el comando umount.

Sintaxis de montaje de disco:

mount [-t Sistema de archivos] [-L Nombre de etiqueta] [-o Opciones adicionales] [-n] Nombre del dispositivo de montaje Punto de montaje

Ejemplo 1

Usando el modo predeterminado, montar el /dev/hdc6 Montar en /mnt/hdc6 ¡Arriba!

[root@www ~]# mkdir /mnt/hdc6
[root@www ~]# mount /dev/hdc6 /mnt/hdc6
[root@www ~]# df
Sistema de archivos           1K-blocks Used Available Use% Montado en
.....omitiendo el contenido intermedio.....
/dev/hdc6              1976312     42072   1833836   3% /mnt/hdc6

Sintaxis del comando de desmontaje de disco umount:

umount [-fn] Nombre del archivo de dispositivo o punto de montaje

Opciones y parámetros:

  • -f : desmontar a la fuerza! Se puede usar en situaciones similares a los sistemas de archivos de red (NFS) que no pueden leerse;

  • -n : no actualizar /etc/Desmontar en el caso de mtab.

Desmontar/dev/hdc6

[root@www ~]# umount /dev/hdc6