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

Linux Disk Management

Die Festplattenverwaltung unter Linux hat direkte Auswirkungen auf die Leistung des gesamten Systems.

Die drei häufig verwendeten Befehle für die Festplattenverwaltung unter Linux sind df, du und fdisk.

  • df:Liste den gesamten Festplattenverbrauch des Dateisystems auf

  • du:Überprüfen Sie den Speicherplatzverbrauch

  • fdisk:zur Partitionierung von Festplatten

df

df-Befehlsparameterfunktion: Überprüfen Sie den Speicherplatzverbrauch des Dateisystems. Mit diesem Befehl können Sie herausfinden, wie viel Speicherplatz belegt ist und wie viel Speicherplatz noch übrig ist.

Syntax:

df [-ahikHTm] [Verzeichnis- oder Dateiname]

Options and Parameters:

  • -a :Liste alle Dateisysteme auf, einschließlich der spezifischen des Systems /Dateisysteme wie proc;

  • -k :Mit der Kapazität in KBytes die Dateisysteme anzeigen

  • -m :Mit der Kapazität in MBytes die Dateisysteme anzeigen

  • -h :In einer leicht lesbaren Format (GBytes, MBytes, KBytes) selbst angezeigt werden;

  • -H :mit M=1000K ersetzt M=1024K der Kombinationsweise;

  • -T :Zeige den Dateisystemtyp, einschließlich des Dateisystemnamens der Partition (z.B. ext3) auch aufgeführt;

  • -i :Anstatt der Festplattenkapazität wird die Anzahl der Inodes angezeigt

Example 1

Alle Dateisysteme im System auflisten!

[root@www ~]# df
Filesystem      1K-blocks Used Available Use% Mounted on
/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

Unter Linux, wenn df keine Optionen hinzugefügt hat, wird standardmäßig alle (ohne spezielle Dateisysteme im Speicher und swap) alle mit 1 Kbytes Kapazität aufzuzählen!

Example 2

Zeige die Kapazitätsresultate in einem lesbaren Kapazitätsformat an

[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  0  363M 0% /dev/shm

Example 3

Liste alle speziellen Dateiformate und -namen im System auf

[root@www ~]# df -aT
Dateisystem 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

Example 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命令。

Syntax:

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

Options and Parameters:

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

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

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

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

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

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

Example 1

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

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

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

Example 2

将文件的容量也列出来

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

Example 3

Überprüfen Sie den Speicherplatz, den jeder Verzeichnis im Wurzelverzeichnis belegt

[root@www ~]# du -sm /*
7       /bin
6       /boot
..... Auslassung der Mitte ....
0       /proc
..... Auslassung der Mitte ....
1       /tmp
3859    /usr <== Der größte im frühen Betriebssystem ist er!
77      /var

Platzhalter * um jeden Verzeichnis zu repräsentieren.

Im Gegensatz zu df sucht der Befehl du tatsächlich direkt im Dateisystem nach allen Dateidaten.

fdisk

fdisk ist ein Werkzeug zur Verwaltung der Diskettentabelle in Linux.

Syntax:

fdisk [-] Gerätename

Options and Parameters:

  • -wenn l: Zeige alle Partitionen des nachfolgenden Geräts aus. Wenn nur fdisk -wenn      dann wird das System alle Partitionen der verfügbaren Geräte im gesamten System auflisten.

Example 1

Zeige alle Partitionsinformationen an

[root@AY120919111755c246621 tmp]# fdisk -l
Laufwerk /dev/xvda: 21files (5 GB, 21474836480 Bytes
255 Köpfe, 63 Sektoren/Bahn, 2610 Zylinder
Einheiten = Spulen der 16065 * 512 = 8225280 Bytes
Sektorgröße (logisch/physisch): 512 Bytes / 512 Bytes
I/O Größe (mindestens/Optimal): 512 Bytes / 512 Bytes
Festplattenbezeichner: 0x00000000
    Gerät Boot Start End Blöcke Id System
/dev/xvda1   *           1        2550    20480000   83  Linux
/dev/xvda2            2550        2611      490496   82  Linux swap / Solaris
Laufwerk /dev/xvdb: 21files (5 GB, 21474836480 Bytes
255 Köpfe, 63 Sektoren/Bahn, 2610 Zylinder
Einheiten = Spulen der 16065 * 512 = 8225280 Bytes
Sektorgröße (logisch/physisch): 512 Bytes / 512 Bytes
I/O Größe (mindestens/Optimal): 512 Bytes / 512 Bytes
Festplattenbezeichner: 0x56f40944
    Gerät Boot Start End Blöcke Id System
/dev/xvdb2               1        2610    20964793+  83  Linux

Example 2

Finden Sie die Festplatte, auf der sich das Wurzelverzeichnis in Ihrem System befindet, und lesen Sie die相关信息 im internen Speicher der Festplatte

[root@www ~]# df /            <== Achtung: Der Schwerpunkt liegt darauf, den Dateinamen der Festplatte zu finden
Filesystem           1K-blocks Used Available Use% Mounted on
/dev/hdc2              9920624   3823168   5585388  41% /
[root@www ~]# fdisk /dev/hdc <== Sehen Sie sich gut an, fügen Sie keine Zahlen hinzu!
Die Anzahl der Zylinder für diese Festplatte ist auf 5005files (
Es gibt nichts Falsches daran, aber dies ist größer als 1024,
könnte in bestimmten Konfigurationen Probleme mit verursachen:
1) Software, die zur Boot-Zeit läuft (z.B., alte Versionen von LILO)
2) Boot- und Partitionierungssoftware aus anderen OSs
   (z.B., DOS FDISK, OS/2 FDISK)
Befehl (m für Hilfe): <== Warten Sie auf Ihre Eingabe!

Nach der Eingabe von m sehen Sie diese Befehlsbeschreibungen unten

Befehl (m für Hilfe): m <== Nach der Eingabe von m sehen Sie diese Befehlsbeschreibungen unten
Befehl Aktion
   a <== Bootflag umschalten
   b <== BSD-Disklabel bearbeiten
   c <== DOS-Kompatibilitätsflagge umschalten
   d <== Partition löschen <== Eine Partition löschen
   l <== bekannte Partitionstypen auflisten
   m <== Dieses Menü ausgeben
   n <== neuen Partition hinzufügen <== Eine neue Partition hinzufügen
   o <== neuen leeren DOS-Partitionstabellen erstellen
   p <== Partitionstabelle ausgeben <== Die Partitionstabelle wird auf dem Bildschirm angezeigt
   q <== Verlassen ohne Änderungen zu speichern <== Verlassen des fdisk-Programms ohne Änderungen zu speichern
   s <== neuen leeren Sun-Disklabel erstellen
   t <== System-ID einer Partition ändern
   u <== Anzeige ändern/Einheiten
   v <== Partitionstabelle überprüfen
   w <== Tabelle auf Laufwerk schreiben und beenden <== Die aktuellen Aktionen werden in die Tabelle der Partitionen geschrieben
   x <== zusätzliche Funktionalität (nur für Experten)

Drücken Sie q, um fdisk zu verlassen, dann werden alle Aktionen nicht生效!Im Gegenteil, wenn Sie w drücken, wird die Aktion生效.

Befehl (m für Hilfe): p <== Hier kann der aktuelle Zustand des Laufwerks ausgegeben werden
Laufwerk /dev/hdc: 41files (1 GB, 41174138880 Bytes <== Dateiname und Kapazität dieses Laufwerks
255 Köpfe, 63 Sektoren/Bahn, 5005 Spulen <== Größe von Kopf, Sektor und Spulenblock
Einheiten = Spulen der 16065 * 512 = 8225280 Bytes <== Größe eines Spulenblocks
   Gerät Boot Start End Blöcke Id System
/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  Erweitert
/dev/hdc5            1926        2052     1020096   82  Linux swap / Solaris
# Dateiname Startsektor Nein Startspule Endspule  1K大小容量 磁盘分区槽内的系统
Befehl (m für Hilfe): q

想要不保存并离开吗?按下 q 就对了!不要随便按 w 啊!

使用 p 可以列出目前这颗磁盘的分区表信息,这个信息的上半部在显示整体磁盘的状态。

磁盘格式化

磁盘分区完成后自然就是进行文件系统的格式化,格式化的命令非常简单,使用 mkfs(创建文件系统)命令。

Syntax:

mkfs [-t 文件系统格式] 设备文件名

Options and Parameters:

  • -t  :可以接文件系统格式,例如 ext3, ext2, vfat 等(系统有支持才会生效)

Example 1

查看 mkfs 支持的文件格式

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

按下两个[tab],会发现 mkfs 支持的文件格式如上所示。

Example 2

将分区 /dev/hdc6(可以指定你自己的分区)格式化为 ext3 Dateisystem:

[root@www ~]# mkfs -t Text3 /dev/hdc6
mke2fs 1files (39 (29-Mai-2006)
Dateisystembezeichnung= <== Dies bezieht sich auf den Namen des Partitionsschlüssels (label)
OS-Typ: Linux
Blockgröße=4096 (log=2) <== Blockgröße konfiguriert als 4K 
Fragmentgröße=4096 (log=2)
251392 Inodes, 502023 Blöcke <==由此配置决定的inode/Blöckenumber
25101 Blöcke (5(00%) für den Superbenutzer reserviert
Erster Datenblock=0
Maximale Dateisystemblöcke=515899392
16 Blöckegruppen
32768 Blöcke pro Gruppe, 32768 Fragmente pro Gruppe
15712 Inodes pro Gruppe
Superblock-Sicherungen gespeichert auf Blöcken:
        32768, 98304, 163840, 229376, 294912
Schreiben von Inode-Tabellen: abgeschlossen
Erstellen von Journal (8192 Blöcke): abgeschlossen <== Es gibt Protokollierung
Schreiben von Superblocks und Dateisystemzählinformationen: abgeschlossen
Dieser Dateisystem wird automatisch überprüft jede 34 mounts oder
180 Tage, je nachdem, was zuerst eintritt. Verwenden Sie tune2fs -c oder -i um zu überschreiben.
# So wird das erforderliche Ext3 Dateisystem! Einfach und klar!

Festplattenprüfung

fsck (Dateisystem-Überprüfung) wird verwendet, um inkonsistente Dateisysteme zu überprüfen und zu warten.

Falls das System ausgeschaltet wird oder ein Problem mit der Festplatte auftritt, kann der Befehl fsck verwendet werden, um den Dateisystem zu überprüfen.

Syntax:

fsck [-t File system] [-ACay] Gerätename

Options and Parameters:

  • -t : Gibt die Art des Dateisystems an, wenn in /etc/Falls in fstab definiert oder vom Kernel selbst unterstützt, muss dieser Parameter nicht hinzugefügt werden

  • -s : Reihenweise Ausführung von fsck-Befehlen, um zu überprüfen

  • -A : Für/etc/Überprüfen aller Partitionen (partition), die in fstab aufgeführt sind

  • -C : Anzeige des gesamten Überprüfungsfortschritts

  • -d : Drucken von e2Debugergebnisse von fsck

  • -p : Gleichzeitig -A Bedingung, führen mehrere fsck-Überprüfungen gleichzeitig aus

  • -R : Gleichzeitig -A Bedingung, wird weggelassen / Nicht überprüfen

  • -V : Detaillierter Anzeigemodus

  • -a : Wenn der Überprüfungsprozess Fehler enthält, wird automatisch repariert

  • -r : Wenn der Überprüfungsprozess Fehler enthält, entscheidet der Benutzer, ob er repariert werden soll

  • -y : Option, die angibt, dass jeder Datei automatisch 'yes' automatisch eingeben wird, falls nicht sicher, welche abnormal sind, kann # fsck ausgeführt werden -y Alle überprüfen und reparieren.

Example 1

Anzeige, wie viele Dateisysteme der Befehl fsck unterstützt:

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

Example 2

Erzwungene Überprüfung /dev/hdc6 Partition:

[root@www ~]# fsck -C -f -t Text3 /dev/hdc6 
fsck 1files (39 (29-Mai-2006)
e2fsck 1files (39 (29-Mai-2006)
Erfolg 1Prüfung von Inodes, Blöcken und Größen
Erfolg 2Prüfung der Verzeichnisstruktur
Erfolg 3Prüfung der Verzeichnisverbindung
Erfolg 4Prüfung der Referenzzähler
Erfolg 5Prüfung der Zusammenfassungsinformation der Gruppe
vbird_logical: 11/251968 vbird_logical:9files (1.-% non 36926/1004046 contiguous),

blocks -If the f option is not added, -f Force check, it will show the process item by item.

Disk Mounting and Unmounting

Linux uses the mount command for disk mounting and the umount command for unmounting.

Disk mount syntax:

mount [-t File system] [-L Label name] [-o Additional options] [-n] Device file name Mount point

Example 1

Using the default method, mount the just created /dev/hdc6 Mount to /mnt/hdc6 Above!

[root@www ~]# mkdir /mnt/hdc6
[root@www ~]# mount /dev/hdc6 /mnt/hdc6
[root@www ~]# df
Filesystem           1K-blocks Used Available Use% Mounted on
.....Omitted in the middle.....
/dev/hdc6              1976312     42072   1833836   3% /mnt/hdc6

Disk unmount command umount syntax:

umount [-fn] Device file name or mount point

Options and Parameters:

  • -f: Force unmount! Available in cases similar to network file system (NFS) cannot be read;

  • -n: Do not upgrade /etc/Unmount in mtab state.

Unmount/dev/hdc6

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