Linux-Datenträgerverwaltung

Die Qualität der Linux-Datenträgerverwaltung wirkt sich direkt auf die Leistung des gesamten Systems aus.

Die drei häufig verwendeten Befehle für die Linux-Datenträgerverwaltung sind:df、duundfdisk。

  • df(Englischer vollständiger Name: disk free): Listet die gesamte Datenträgernutzung des Dateisystems auf
  • du(Englischer vollständiger Name: disk used): Überprüft die Speicherplatznutzung
  • fdisk: Wird zur Partitionierung von Datenträgern verwendet

df

Die Parameterfunktion des df-Befehls: Überprüft die Speicherplatznutzung des Dateisystems. Mit diesem Befehl können Sie Informationen darüber abrufen, wie viel Speicherplatz auf der Festplatte belegt ist und wie viel Speicherplatz derzeit noch frei ist.

Syntax:

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

Optionen und Parameter:

  • -h: Zeigt Ausgabeergebnisse in einem für Menschen lesbaren Format an (z. B. unter Verwendung von Einheiten wie KB, MB, GB).

  • -T: Zeigt den Dateisystemtyp an.

  • -t <文件系统类型>: Zeigt nur Dateisysteme des angegebenen Typs an.

  • -i: Zeigt die Inode-Nutzung an.

  • -H: Dieser Parameter ist-heine Variante davon, verwendet jedoch 1000 Bytes als Basiseinheit anstelle von 1024 Bytes. Das bedeutet, dass die Festplattennutzung in SI-Einheiten (Internationales Einheitensystem) (wie MB, GB) statt in binären Einheiten (wie MiB, GiB) angezeigt wird.

  • -k: Diese Option zeigt die Festplattennutzung in KB als Einheit an.

  • -a: Dieser Parameter zeigt alle Dateisysteme an, einschließlich virtueller Dateisysteme, wie z. B.proc、sysfsusw. Wenn diese Option nicht verwendet wird, wird standardmäßigdfder Befehl keine virtuellen Dateisysteme anzeigen.

Beispiel 1

Alle Dateisysteme auf dem 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 werden, wenn df ohne Optionen verwendet wird, standardmäßig alle Dateisysteme im System (mit Ausnahme spezieller In-Memory-Dateisysteme und Swap) mit einer Kapazität von 1 Kbytes aufgelistet!

Beispiel 2

Die Kapazitätsergebnisse in einem lesbaren Kapazitätsformat anzeigen

[root@www ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hdc2             9.5G  3.7G  5.4G  41% /
/dev/hdc3             4.8G  139M  4.4G   4% /home
/dev/hdc1              99M   11M   83M  12% /boot
tmpfs                 363M     0  363M   0% /dev/shm

Beispiel 3

Alle speziellen Dateiformate und Namen im System auflisten

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

Beispiel 4

Die verfügbare Festplattenkapazität unter /etc in einem lesbaren Kapazitätsformat anzeigen

[root@www ~]# df -h /etc
Filesystem            Size  Used Avail Use% Mounted on
/dev/hdc2             9.5G  3.7G  5.4G  41% /

du

Der Linux-Befehl du wird ebenfalls verwendet, um den belegten Speicherplatz anzuzeigen, aber im Gegensatz zum Befehl df überprüft der Linux-Befehl du den von Dateien und Verzeichnissen belegten Speicherplatz. Er unterscheidet sich immer noch in einigen Punkten vom Befehl df. Hier stellen wir den Linux-Befehl du vor.

Syntax:

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

Optionen und Parameter:

  • -a: Listet die Kapazität aller Dateien und Verzeichnisse auf, da standardmäßig nur die Dateimengen unter Verzeichnissen gezählt werden.
  • -h: Zeigt die Kapazität in einem besser lesbaren Format an (G/M);
  • -s: Zeigt nur die Gesamtgröße des angegebenen Verzeichnisses oder der angegebenen Datei an, ohne die Größen ihrer Unterverzeichnisse anzuzeigen.
  • -S: Schließt die Summe der Unterverzeichnisse ein, was sich etwas von -s unterscheidet.
  • -k: Listet die Kapazität in KBytes auf;
  • -m: Listet die Kapazität in MBytes auf;

Beispiel 1

Nur die Kapazität aller Ordner im aktuellen Verzeichnis auflisten (einschließlich versteckter Ordner):

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

Wenn du direkt ohne Optionen eingegeben wird, analysiert du den von Unterverzeichnissen im aktuellen Verzeichnis belegten Festplattenspeicher.

Beispiel 2

Auch die Kapazität von Dateien auflisten

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

Beispiel 3

Die von jedem Verzeichnis unter dem Stammverzeichnis belegte Kapazität prüfen

[root@www ~]# du -sm /*
7       /bin
6       /boot
.....中间省略....
0       /proc
.....中间省略....
1       /tmp
3859    /usr     <==系统初期最大就是他了啦!
77      /var

Das Platzhalterzeichen * wird verwendet, um jedes Verzeichnis darzustellen.

Im Gegensatz zu df geht der Befehl du tatsächlich direkt ins Dateisystem, um alle Dateidaten zu suchen.


fdisk

fdisk ist ein Werkzeug zum Bearbeiten der Festplattenpartitionstabelle für Linux.

Syntax:

fdisk [-l] 装置名称

Optionen und Parameter:

  • -l: Gibt den gesamten Partitionsinhalt des darauf folgenden Geräts aus. Wenn nur fdisk -l verwendet wird, listet das System alle Partitionen der Geräte auf, die im gesamten System gefunden werden können.

Beispiel 1

Alle Partitionsinformationen auflisten

[root@AY120919111755c246621 tmp]# fdisk -l

Disk /dev/xvda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *           1        2550    20480000   83  Linux
/dev/xvda2            2550        2611      490496   82  Linux swap / Solaris

Disk /dev/xvdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x56f40944

    Device Boot      Start         End      Blocks   Id  System
/dev/xvdb2               1        2610    20964793+  83  Linux

Beispiel 2

Suchen Sie die Festplatte, auf der sich das Root-Verzeichnis in Ihrem System befindet, und sehen Sie sich die relevanten Informationen auf dieser Festplatte an.

[root@www ~]# df /            <==注意:重点在找出磁盘文件名而已
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hdc2              9920624   3823168   5585388  41% /

[root@www ~]# fdisk /dev/hdc  <==仔细看,不要加上数字喔!
The number of cylinders for this disk is set to 5005.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help):     <==等待你的输入!

Nach Eingabe von m sehen Sie unten die Einführung zu diesen Befehlen

Command (m for help): m   <== 输入 m 后,就会看到底下这些命令介绍
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition            <==删除一个partition
   l   list known partition types
   m   print this menu
   n   add a new partition           <==新增一个partition
   o   create a new empty DOS partition table
   p   print the partition table     <==在屏幕上显示分割表
   q   quit without saving changes   <==不储存离开fdisk程序
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit  <==将刚刚的动作写入分割表
   x   extra functionality (experts only)

Beim Verlassen von fdisk drücken Sieq, dann werden alle Aktionen nicht wirksam! Umgekehrt: Drücken vonwbedeutet, dass die Aktionen wirksam werden.

Command (m for help): p  <== 这里可以输出目前磁盘的状态

Disk /dev/hdc: 41.1 GB, 41174138880 bytes        <==这个磁盘的文件名与容量
255 heads, 63 sectors/track, 5005 cylinders      <==磁头、扇区与磁柱大小
Units = cylinders of 16065 * 512 = 8225280 bytes <==每个磁柱的大小

   Device Boot      Start         End      Blocks   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  Extended
/dev/hdc5            1926        2052     1020096   82  Linux swap / Solaris
# 装置文件名 启动区否 开始磁柱    结束磁柱  1K大小容量 磁盘分区槽内的系统

Command (m for help): q

Möchten Sie ohne Speichern beenden? Drücken Sie einfach q! Drücken Sie nicht unvorsichtig w!

Verwenden Siepum die Partitionstabelleninformationen der aktuellen Festplatte aufzulisten. Der obere Teil dieser Informationen zeigt den Gesamtstatus der Festplatte an.


Festplattenformatierung

Nach Abschluss der Partitionierung der Festplatte ist der nächste natürliche Schritt das Formatieren des Dateisystems. Der Formatierungsbefehl ist sehr einfach; verwenden Sie denmkfs(make filesystem)-Befehl.

Syntax:

mkfs [-t 文件系统格式] 装置文件名

Optionen und Parameter:

  • -t: Kann ein Dateisystemformat annehmen, wie ext3, ext2, vfat usw. (Es wird nur wirksam, wenn das System es unterstützt)

Beispiel 1

Zeigen Sie die von mkfs unterstützten Dateisystemformate an

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

Drücken Sie zweimal [tab], und Sie werden feststellen, dass die von mkfs unterstützten Dateisystemformate wie oben dargestellt sind.

Beispiel 2

Formatieren Sie die Partition /dev/hdc6 (Sie können Ihre eigene Partition angeben) als ext3-Dateisystem:

[root@www ~]# mkfs -t ext3 /dev/hdc6
mke2fs 1.39 (29-May-2006)
Filesystem label=                <==这里指的是分割槽的名称(label)
OS type: Linux
Block size=4096 (log=2)          <==block 的大小配置为 4K 
Fragment size=4096 (log=2)
251392 inodes, 502023 blocks     <==由此配置决定的inode/block数量
25101 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=515899392
16 block groups
32768 blocks per group, 32768 fragments per group
15712 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912

Writing inode tables: done
Creating journal (8192 blocks): done <==有日志记录
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
# 这样就创建起来我们所需要的 Ext3 文件系统了!简单明了!

Festplattenprüfung

fsck (Dateisystemprüfung) wird verwendet, um inkonsistente Dateisysteme zu prüfen und zu warten.

Wenn das System einen Stromausfall erleidet oder die Festplatte Probleme hat, kann der fsck-Befehl für das Dateisystem verwendet werden.

Syntax:

fsck [-t 文件系统] [-ACay] 装置名称

Optionen und Parameter:

  • -t: Gibt den Typ des Dateisystems an. Wenn er bereits in /etc/fstab definiert ist oder bereits vom Kernel selbst unterstützt wird, muss dieser Parameter nicht hinzugefügt werden.
  • -s: Führt fsck der Reihe nach aus, um zu prüfen.
  • -A: Überprüft alle in /etc/fstab aufgeführten Partitionen.
  • -C: Zeigt den vollständigen Prüffortschritt an.
  • -d: Gibt die Debug-Ergebnisse von e2fsck aus.
  • -p: In Kombination mit der Bedingung -A werden mehrere fsck-Prüfungen gleichzeitig ausgeführt.
  • -R: In Kombination mit der Bedingung -A wird / ausgelassen und nicht geprüft.
  • -V: Ausführlicher Anzeigemodus.
  • -a: Repariert automatisch, wenn während der Prüfung Fehler gefunden werden.
  • -r: Wenn während der Prüfung Fehler gefunden werden, wird der Benutzer gefragt, ob sie repariert werden sollen.
  • -y: Die Option legt fest, dass bei der Prüfung jeder Datei automatisch Ja eingegeben wird. Wenn Sie nicht sicher sind, welche Dateien fehlerhaft sind, können Sie # fsck -y ausführen, um alles zu prüfen und zu reparieren.

Beispiel 1

Anzeigen, wie viele fsck-Befehle für Dateisysteme vom System unterstützt werden:

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

Beispiel 2

Die Partition /dev/hdc6 zwangsweise prüfen:

[root@www ~]# fsck -C -f -t ext3 /dev/hdc6 
fsck 1.39 (29-May-2006)
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
vbird_logical: 11/251968 files (9.1% non-contiguous), 36926/1004046 blocks

Wenn die Option -f nicht angegeben wird, wird der Prüfvorgang sehr schnell sein, da dieses Dateisystem noch nie Probleme hatte! Nur wenn -f für eine erzwungene Prüfung angegeben wird, wird der Vorgang Punkt für Punkt angezeigt.


Datenträger einbinden und aushängen

Das Einbinden von Linux-Datenträgern verwendet denmountBefehl, und zum Unmounten wird derumountBefehl.

Syntax zum Mounten von Datenträgern:

mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n]  装置文件名  挂载点

Beispiel 1

Verwenden Sie die Standardmethode, um das gerade erstellte /dev/hdc6 nach /mnt/hdc6 zu mounten!

[root@www ~]# mkdir /mnt/hdc6
[root@www ~]# mount /dev/hdc6 /mnt/hdc6
[root@www ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
.....中间省略.....
/dev/hdc6              1976312     42072   1833836   3% /mnt/hdc6

Befehl zum Unmounten von DatenträgernumountSyntax:

umount [-fn] 装置文件名或挂载点

Optionen und Parameter:

  • -f: Erzwungenes Unmounten! Kann in Situationen verwendet werden, in denen z. B. ein Netzwerkdateisystem (NFS) nicht gelesen werden kann;
  • -n: Unmounten ohne Aktualisierung von /etc/mtab.

/dev/hdc6 unmounten

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