English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Linuxディスク管理の良さは、システム全体のパフォーマンスに直接影響します。
Linuxディスク管理でよく使われる3つのコマンドはdf、du、fdiskです。
df:ファイルシステムの全体のディスク使用量を表示
du:ディスク空間使用量を確認
fdisk:ディスクパーティション用
dfコマンドのパラメータ機能:ファイルシステムのディスク空間使用状況を確認します。このコマンドを使って、ハードディスクがどれだけ使用されているか、どれだけの空きスペースがあるかなどの情報を取得できます。
语法:
df [-ahikHTm] [ディレクトリまたはファイル名]
オプションと引数:
-a :すべてのファイルシステムを表示し、システム固有のものも含めます /procなどのファイルシステム;
-k :各ファイルシステムの容量をKBytesで表示
-m :各ファイルシステムの容量をMBytesで表示
-h :GBytes、MBytes、KBytesなどの読みやすい形式で自分で表示します;
-H :Mに置き換えます=1000KをMに置き換えます=1024Kの進位方法;
-T :ファイルシステムのタイプを表示し、partitionのfilesystem名も表示します(例えばext3)も表示;
-i :ハードディスク容量ではなくinodeの数で表示
システム内のすべてのファイルシステムを挙げます!
[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
Linuxでは、dfにオプションが指定されていない場合、デフォルトでシステム内のすべての (特別なメモリ内のファイルシステムおよびswapを含まない)すべて 1 Kbytesの容量で挙げます!
容量結果を読みやすい容量形式で表示します
[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
システム内のすべての特別なファイル形式および名前を挙げます
[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
以下に、 /etcの下の利用可能なディスク容量を読みやすい容量フォーマットで表示
[root@www ~]# df -h /etc Filesystem Size Used Avail Use% Mounted on /dev/hdc2 9.5G 3.7G 5.4G 41% /
Linuxのduコマンドも使用空間を確認するものでありますが、dfコマンドとは異なり、Linuxのduコマンドはファイルとディレクトリのディスク使用空間を確認するものであり、dfコマンドと少し異なります。ここでLinuxのduコマンドについて説明します。
语法:
du [-ahskm] ファイルまたはディレクトリ名
オプションと引数:
-a :すべてのファイルとディレクトリの容量を表示します。なぜなら、デフォルトでは、ディレクトリの下のファイルの量のみを統計するだけです。
-h :人々が読みやすい容量フォーマット(G/M) 表示;
-s :合計のみを表示し、各ディレクトリの占める容量を表示しません;
-S :サブディレクトリの合計を含まない、および -s :少し異なります。
-k :容量をKBytesで表示;
-m :容量をMBytesで表示;
現在のディレクトリのすべてのフォルダー(隠しフォルダーを含む)の容量を表示します:
[root@www ~]# du 8 ./test4 <==各ディレクトリが表示されます 8 ./test2 ....中間省略.... 12 ./.gconfd <==隠しファイルが含まれるディレクトリ 220 . <==このディレクトリ(.)が占める合計量
duコマンドにオプションを付けずに直接入力すると、duは現在のディレクトリのファイルとディレクトリが占めるハードディスクの空間を分析します。
ファイルの容量も表示してください
[root@www ~]# du -a 12 ./install.log.syslog <==ファイルリストがあります 8 ./.bash_logout 8 ./test4 8 ./test2 ....中間省略.... 12 ./.gconfd 220 .
ルートディレクトリの下にある各ディレクトリの容量を確認します
[root@www ~]# du -sm /* 7 /bin 6 /boot .....省略..... 0 /proc .....省略..... 1 /tmp 3859 /usr<==システム初期の最大サイズは彼です! 77 /var
ワイルドカード * 各ディレクトリを表すために使用されます。
dfとは異なり、duコマンドは実際にはファイルシステム内に直接すべてのファイルデータを検索します。
fdiskはLinuxのディスクパーティションテーブル操作ツールです。
语法:
fdisk[-l]デバイス名
オプションと引数:
-l:次に続くデバイスのすべてのパーティション内容を出力します。fdiskのみであれば、 -l時、 それでは、システム内で検索可能なすべてのデバイスのパーティションが表示されます。
すべてのパーティション情報を出力します
[root@AY120919111755c246621 tmp]# fdisk -l ディスク /dev/xvda: 21.5 GB, 21474836480バイト 255 ヘッド, 63 セクタ/トラック, 2610 シリンダー ユニッツ = セクタの 16065 * 512 = 8225280バイト セクタサイズ(論理的):/物理的: 512 バイト / 512 バイト I/Oサイズ(最小)/最適化: 512 バイト / 512 バイト ディスク識別子:0x00000000 デバイス ブート スタート エンド ブロック数 ID システム /dev/xvda1 * 1 2550 20480000 83 Linux /dev/xvda2 2550 2611 490496 82 Linux swap / Solaris ディスク /dev/xvdb: 21.5 GB, 21474836480バイト 255 ヘッド, 63 セクタ/トラック, 2610 シリンダー ユニッツ = セクタの 16065 * 512 = 8225280バイト セクタサイズ(論理的):/物理的: 512 バイト / 512 バイト I/Oサイズ(最小)/最適化: 512 バイト / 512 バイト ディスク識別子:0x56f40944 デバイス ブート スタート エンド ブロック数 ID システム /dev/xvdb2 1 2610 20964793+ 83 Linux
システム内のルートディレクトリが所在するディスクを見つけ、そのハードディスク内の関連情報を確認してください
[root@www ~]# df / <==注意:ポイントはディスクファイル名を見つけることです Filesystem 1K-blocks Used Available Use% Mounted on /dev/hdc2 9920624 3823168 5585388 41% / [root@www ~]# fdisk /dev/hdc<==数字は付けないでください、注意してください! このディスクのシリンダー数は設定されています: 5005. それで問題はありませんが、これは大きいです: 1024, 特定の設定では、以下の問題を引き起こす可能性があります: 1) ブート時動作するソフトウェア(例:古いバージョンのLILO) 2) 他のOSからのブートおよびパーティションソフトウェア (例:DOS FDISK、OS)/2 FDISK) コマンド(ヘルプ用にm):<==あなたの入力を待っています!
mを入力すると、以下の命令紹介が表示されます
コマンド(ヘルプ用にm):m<==mを入力すると、以下の命令紹介が表示されます コマンド アクション a ブート可能フラグの切り替え b bsdディスクラベルの編集 c DOS互換フラグの切り替え d パーティションの削除 <==partitionを削除 l 既知のパーティションタイプのリスト m このメニューを印刷 n 新しいパーティションの追加 <==新しいpartitionを追加 o 新しい空のDOSパーティションテーブルの作成 p 分割テーブルを印刷 <==画面に分割テーブルを表示 q 変更を保存せずに終了 <==fdiskプログラムから保存せずに退出 s 新しい空のSunディスクラベルの作成 t パーティションのシステムIDの変更 u ディスプレイの変更/ユニット v 分割テーブルの確認 w 分割テーブルに書き込み、終了 <==新しい操作を分割テーブルに書き込みます x 追加機能(エキスパート専用)
fdiskを終了する際はqを押すと、すべての操作は有効化されません。逆に、wを押すと操作が有効化されます。
コマンド(ヘルプはm): p <==ここでは現在のディスクの状態を出力できます ディスク /dev/hdc: 41.1 GB, 41174138880 バイト <==このディスクのファイル名と容量 255 ヘッド, 63 セクタ/トラック, 5005 セクタ <==ヘッド、セクタとセクタのサイズ ユニッツ = セクタの 16065 * 512 = 8225280 バイト <==各セクタのサイズ デバイス ブート スタート エンド ブロック数 ID システム /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 拡張 /dev/hdc5 1926 2052 1020096 82 Linux swap / Solaris # デバイスファイル名 スタートセクタ エンドセクタ 1K容量の大きさ ディスクパーティションスロット内のシステム コマンド(ヘルプ用m): q
データを保存せずに退出したい場合は、qを押してください!wを無造作に押さないでください!
pを使うと、現在のディスクの分割表情報を一覧表示できます。この情報の上半分は全体のディスクの状態を表示しています。
ディスク分割が完了したら、次にファイルシステムのフォーマットを行います。フォーマットのコマンドは非常に単純で、mkfs(make filesystem)コマンドを使用します。
语法:
mkfs [-t ファイルシステムフォーマット] デバイスファイル名
オプションと引数:
-t :ファイルシステムフォーマットを接続できます、例えば ext3, ext2, vfatなど(システムがサポートしている場合のみ有効)
mkfsがサポートするファイルフォーマットを確認
[root@www ~]# mkfs[tab][tab] mkfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.msdos mkfs.vfat
二つの[tab]を押すと、mkfsがサポートするファイルフォーマットが上のように表示されます。
パーティション /dev/hdc6(自分で指定できるパーティション) extとしてフォーマットします3 ファイルシステム:
[root@www ~]# mkfs -テキスト3 /dev/hdc6 mke2fs 1.39 (29-5月-2006) ファイルシステムラベル= <==ここではパーティションの名前(label)を指しています OSタイプ: Linux ブロックサイズ=4096 (log=2) <==ブロックの大きさは以下のように設定されています 4K フラグメントサイズ=4096 (log=2) 251392 inode, 502023 ブロック <==この設定で決定されるinode/ブロック数 25101 ブロック (5.00%) スーパーユーザーに予約されています 最初のデータブロック=0 最大ファイルシステムブロック=515899392 16 ブロックグループ 32768 グループあたりのブロック, 32768 グループあたりのフラグメント 15712 グループあたりのインodes スーパーブロックのバックアップはブロックに保存されています: 32768, 98304, 163840, 229376, 294912 インodesテーブルの書き込み: 完了 ジャーナルの作成 (8192 ブロック): 完了 <==ログ記録あり スーパーブロックとファイルシステムアカウント情報の書き込み: 完了 このファイルシステムは自動的に確認されます 34 マウントまたは 180日、最初に来るものを使用します。 Use tune2fs -cまたは -iをオーバーライドします。 # これで必要なExt3 ファイルシステムです!シンプルで明確です!
fsck(file system check)は、不一致なファイルシステムを確認およびメンテナンスするために使用されます。
システムが電源を切ったり、ディスクに問題が発生した場合、fsckコマンドを使用してファイルシステムを確認できます。
语法:
fsck [-t ファイルシステム] [-ACay] デバイス名
オプションと引数:
-t : 给定档案系统的型式,若在 /etc/fstabに既に定義されているまたはkernelがサポートしている場合は、このパラメータを追加する必要はありません
-s : fsckのコマンドを順次実行してチェックします
-A :/etc/fstabにすべての列出的なパーティション(partition)をチェックします
-C : 完全なチェック進捗を表示します
-d : eをプリントアウトします2fsckのデバッグ結果
-p : ともに -A 条件時、複数のfsckのチェックが同時に実行されます
-R : ともに -A 条件時、省略 / チェックしない
-V : 詳細表示モード
-a : 検查にエラーがある場合、自動的に修復します。
-r : 検查にエラーがある場合、ユーザーが修復するかどうかを答えます。
-y : オプション指定で各ファイルの確認を自動的にyesに設定します。正常でないものが不明な場合、# fsckを実行できます。 -y 全部チェックおよび修復。
fsckコマンドがどのファイルシステムをサポートしているかを確認する方法を見てください:
[root@www ~]# fsck[タブ][タブ] fsck fsck.cramfs fsck.ext2 fsck.ext3 fsck.msdos fsck.vfat
強制チェック /dev/hdc6 パーティション:
[root@www ~]# fsck -C -f -テキスト3 /dev/hdc6 fsck 1.39 (29-5月-2006) e2fsck 1.39 (29-5月-2006) パス 1インodes、ブロック、サイズを確認しています パス 2ディレクトリ構造を確認しています パス 3ディレクトリ接続を確認しています パス 4参照カウントを確認しています パス 5グループサマリー情報を確認しています vbird_logical: 11/251968 files (9.1% non-contiguous), 36926/1004046 blocks
もし -f オプションが指定されない場合、このファイルシステムには問題が発生していないため、チェックのプロセスは非常に高速です! -f オプションが指定されると、一つずつプロセスを表示します。
Linuxのディスクマウントはmountコマンドを使用し、アンマウントはumountコマンドを使用します。
ディスクマウントの構文:
mount [-t ファイルシステム] [-L ラベル名] [-o 追加オプション] [-n] デバイスファイル名 マウントポイント
デフォルトの方法で、先ほど作成した /dev/hdc6 マウント先に /mnt/hdc6 上記!
[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
ディスクアンマウントコマンド umount の構文:
umount [-fn] デバイスファイル名またはマウントポイント
オプションと引数:
-f :強制的にアンマウント!ネットワークファイルシステム (NFS) などで読み込めない場合に使用できます;
-n :アップグレードしない /etc/mtab 情報でアンマウントします。
アンマウント/dev/hdc6
[root@www ~]# umount /dev/hdc6