Linux磁盤及文件系統管理

Linux磁盤及文件系統管理詳解

  • 計算機基礎知識:

馮.諾依曼體系結構構成的計算機,必有的五大基本組成部件:

wKiom1XhW5DQcT5yAAHxa25C9po905.jpg

馮.諾依曼計算機體系結構圖

運算器:用於完成各種算術運算、邏輯運算和數據傳送等數據加工處理;

控制器:用於控制程序的執行,是計算機的大腦。

運算器和控制器組成計算機的中央處理器(CPU)。控制器根據存放在存儲器中的指令序列(程序)進行工作,並由一個程序計數器控制指令的執行。控制器具有判斷能力,能根據計算結果選擇不同的工作流程;

存儲器:用於記憶程序和數據,例如:內存。程序和數據以二進制代碼形式不加區別地存放在存儲器中,存放位置由地址確定;

輸入設備:用於將數據或程序輸入到計算機中,例如:鼠標、鍵盤;

輸出設備:將數據或程序的處理結果展示給用戶,例如:顯示器、打印機;

北橋芯片:主要負責控制AGP顯卡、內存與CPU之間的數據交換;

南橋芯片:主要負責軟驅、硬盤、鍵盤以及附加卡的數據交換。(南橋芯片相對於北橋芯片數據處理量不算大,南橋芯片通過彙總的方式將數據傳到北橋芯片,北橋芯片纔是主芯片)。

設備類型:

南橋芯片主要連接一些I/O設備,決定主板上的功能,主板上的各種接口(USB、串口),PCI總線(內存、聲卡),IDE(硬盤、光驅),以及主板上的其他芯片(RAID、網卡)都歸南橋芯片控制,屬於低速總線控制器。

Note:服務器的最重要的兩大I/O是網卡和磁盤;

那麼南橋芯片是如何來識別這些設備的呢?設備類型又有哪些?

    I/O端口:就是一種地址,用於標示對應的I/O設備,I/O端口範圍:0——65536

(1)      設備類型(宏觀上分類)

    字符設備,character:以字符爲單位進行順序訪問的設備,例如鍵盤。

    塊設備,block:以塊爲單位,能夠進行隨機訪問的設備,例如硬盤;

(2)      設備具體的分類(比如磁盤,CPU,內存等,我們需要對這些設備進行標識)

    設備文件定義:關聯至一個驅動程序,進而能夠與之對應硬件設備進行交互。

(3)      設備文件的標識:

    主設備號:標識的是設備的類型。

    次設備號:同一類設備中不同設備的標識。(例如都是磁盤,要跟上具體編號12…

[root@localhost ~]# ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 Aug 23 17:01/dev/sda
brw-rw---- 1 root disk 8, 1 Aug 23 09:01/dev/sda1
brw-rw---- 1 root disk 8, 2 Aug 23 17:01/dev/sda2
                      主,次
磁盤結構:

wKioL1XhXq2Dt8bDAAE2ZmL_a3I190.jpg

磁盤結構圖給出了一個磁盤驅動器兩個主要的移動部件:一個是磁盤組合(diskassembly),另一個是磁頭組合(head assembly)。磁盤組合由一個或多個圓盤(platter)組成;它們圍繞一根中心主軸旋轉。圓盤的上表面和下表面塗覆了一層磁性材料,二進制位被存儲在這些磁性材料上。其中,01在磁材料中表現爲不同的模式。

wKiom1XhXPDxN9nmAACi18EZrGg528.jpg

1、  盤面:硬盤的每一個盤片都有兩個盤面(Side,即上、下盤面,一般每個盤面都會利用,都可以存儲數據,成爲有效盤片,也有極個別的硬盤盤面數爲單數;

2、  磁道:磁盤在格式化時被劃分成許多同心圓,這些同心圓軌跡叫做磁道(Track)。磁道從外向內從0開始順序編號。磁盤的每一個盤面有300~1024個磁道,新式大容量硬盤每面的磁道數更多;磁道是硬盤廠商在硬盤出廠時已劃分好的;

3、  扇區:sector,磁盤是固定角速度的設備;每秒轉動的角度,即每段圓弧叫做一個扇區。扇區從“1”開始編號,每個扇區中的數據作爲一個單元同時讀出或寫入,從邏輯層面上將已經進行了低級格式化了,單位爲512字節。第0個扇區存放的是磁盤的分區信息;即MBRMaster Boot Record,主引導記錄;

512byte

         bootloader,加載器,445bytes

         16bytes引導一個分區;

         最後2個字節被填充了兩個5A,作爲MBR有效性標記;

4、  柱面:所有盤面上的同一位置的磁道構成一個圓柱,通常稱做柱面(Cylinder,每個圓柱上的磁頭由上而下從“0”開始編號。(分區是按照柱面進行分區的)

linux中的磁盤:

Linux中的磁盤是以設備文件的形式展現出來的,這也正好體現了Linux一切皆文件的哲學思想;

(1)      設備文件的名稱:

linux磁盤設備文件的訪問標識:/dev/[s|h]d[a-z][1,2…]

[s|h]:磁盤設備接口類型;

[a-z]:磁盤編號。

[1,2…]:分區標號,1-4標號:主分區和擴展分區的編號,5以上的編號爲邏輯分區編號。如:sda1,代表SCSI接口類型的第一塊磁盤的第一個主分區;

Note:特性:對於Linux系統而言,每個分區都是可以獨立訪問的設備;

(2)      磁盤接口類型:

IDE接口(ATA)並行接口(理解爲:兩個IDE控制器:每個控制器可通過線纜接入兩塊磁盤,/,即master/slave模式)這類接口傳輸速率133MB/slinux中標識爲/dev/hd[a-z][1,2…].

SCSISmall Computer System Interface,小型計算機接口;

USB接口:串行接口,3.0接口的傳輸速率爲480MB/sLinux中標識爲/dev/sd[a-z][1,2…]

SAS接口:串行接口,也稱爲序列式SCSI,它由並行SCSI物理存儲接口演化而來,序列方式能提供更快速的通信傳輸速度及更簡易的配置。此外SAS支持與序列式ATASATA)設備兼容。它的傳輸速率是6GbpsLinux中標識爲/dev/sd[a-z][1,2…]

新磁盤需要經過哪些操作才能使用呢?

三個步驟:1、磁盤分區;2、格式化(創建文件系統);3、掛載;

磁盤管理工具fdisk(分區):

fdisk提供了一個交互式接口來管理分區,它有許多子命令,用於磁盤額分區的管理,所有編輯操作,都是在內存中完成的。沒有直接同步到磁盤,保存退出後才能完成磁盤的同步。

         # fdisk –l            顯示所有的磁盤設備的詳細信息;

        #fdisk –l [DEVICE_NAME]顯示指定的設備的詳細信息。

子命令的作用:

Command action
  a   toggle a bootable flag
  b   edit bsd disklabel
  c   toggle the dos compatibilityflag
  d   delete a partition,#刪除一個分區;
  l   list known partition types,#列出已知的所有分區類型;
  m   print this menu,#顯示幫助信息;
  n   add a new partition,#創建一個新分區;
  o   create a new empty DOSpartition table
  p   print the partition table,#打印分區表,列出現有的分區信息;
  q   quit without saving changes,#不保存分區信息退出;
  s   create a new empty Sundisklabel
  t   change a partition's system id,#修改分區的systemis(16進制的數字)
  u   change display/entry units
  v   verify the partition table
  w   write table to disk and exit,#保存分區信息並退出;
  x   extra functionality (expertsonly)
 
Command (m for help):                               #m顯示幫助信息;

Note:在子命令模式中,想刪除當前的字符,按Ctrl+Backspace組合鍵才能刪除;

 查看內核中的分區情況:

         cat/proc/partitions   內核是否真正讀取了分區表;

[root@localhost ~]# cat /proc/partitions
major minor #blocks  name
  8        0  125829120 sda
  8        1     204800 sda1
  8        2   62914560 sda2
 253       0   20971520 dm-0
 253       1    2097152 dm-1
文件系統的創建(格式化):

磁盤分區後,我們接下來就是格式化,也就是文件系統的創建,那麼什麼是文件系統呢?

(1)      文件系統的定義:管理存儲空間中,存儲大量文件時,實現按名存儲的一種機制(按塊進行存取,一個塊=2個扇區的大小)。

文件系統的結構:

每一個文件都是由元數據和數據組成,文件系統通常會將這兩部分的數據分別存放在不同的塊,權限和屬性放置到inode中,實際參數存放在data block中。

另外還有一個superblock(超級塊),會記錄整個文件系統的整體信息,包括inodeblock的總量、使用量、剩餘量等。

wKioL1XhYJuy98eTAAFbWg0A0dQ175.jpg

對上圖的解析:

         一個分區可以理解爲由一個BootBlockN多個塊組(Block Group)構成的;

Boot Block塊是預留的,用來引導系統分區的。它是被MBR中的Boot Loader調用的。

Super Block存儲整個文件系統的詳細信息,包括inode/block的總量、使用量、剩餘量,以及文件系統的格式與相關信息;塊組0上必須有Super Block,其他的組可以有也可以沒有,最好是在其他的塊組中有Super Block,用於備份;

GDT塊組的描述符,描述該組存放的是什麼數據;

Block Bitmap(塊位圖):可以知道哪些block是空的;

Inode BitmapInode位圖):可以知道哪些inode是未使用的;

Inode Table:存放inode條目;

inode屬性:

  1. 該文件的訪問權限(r,w,x)

  2. 該文件的屬主屬組

  3. 該文件的大小

  4. 該文件創建或狀態改變的時間(ctime)

  5. 該文件最近一次讀取時間(atime

  6. 該文件最近一次修改時間(mtime

  7. 定義文件特性的標誌(flag),例如SUID等;

  8. 該文件真正內容的指向(記錄此文件的數據所在的block

inode的特性

       每個inode大小均固定爲128bytes

       每個文件都只會佔用一個inode,所以文件系統上能創建的文件個數與inode數量有關;

        inode不記錄文件名,文件名的記錄在目錄block中;

系統讀取文件時需要先找到inode,並分析inode所記錄的權限和用戶是否符合,若符合才能開始實際讀取block的內容;

Data Block實際記錄文件的內容,若文件太大時,會佔用多個block

wKiom1XhYAnBkcOpAAFsBOFa-Ow820.jpg

問題1、在linux中要創建一個文件test.txt文件,需要經過哪幾個步驟?

(1)      首先是通過超級塊來明確一下,那個塊組有空間能存儲文件;

(2)      確定塊組之後,在inode表中查找空閒的inode條目,由0標記爲1

(3)      通過塊位圖,查找空閒的block

(4)      inode條目中添加空閒block塊的指向,在空的block中創建test.txt

問題2、在linux中要查找/tmp/aa/bb文件的過程?

         Answer:先查 / inode ---> / 目錄block中對應tmpinode ---> 根據查到的/tmpinode去查/tmp/目錄block中對應aainode ---> 根據查到的/tmp/aainode去查/tmpaa目錄block中對應的bbinode ---> 根據查到的/tmp/aa/bbinode去查block發現是文件 ---> 讀取數據;

(2)      常用的文件系統類型:

centos 7系列,默認使用的是xfs系列

centos 6系列,默認使用的是ext4系列

centos 5系列,默認使用的是ext3系列

centos 4系列,默認使用的是ext2系列 

iso9660 光盤文件系統

nfs 網絡文件系統

gfs2 集羣文件系統(redhat研發)

mogilefshdfs 兩者屬於分佈式文件系統

swap 交換分區格式(注意:swap分區不是把它當作內存來使用,而是內存中的數據交換到swap分區,即swap交換分區拿出部分空間來存儲內存中不常用的空間數據,以此來騰出更多的內存空間).

(3)      文件系統管理分爲兩部分:

文件系統內核模塊(普通的文件系統類型ext2\3\4)可以做如下理解:

[root@localhost ~]# cd/lib/modules/2.6.32-504.el6.x86_64/kernel/fs/
[root@localhost fs]# pwd
/lib/modules/2.6.32-504.el6.x86_64/kernel/fs
[root@localhost fs]# ls
autofs4    cifs      dlm       ext2 fat      gfs2  jffs2      nfs         nls       udf
btrfs      configfs  ecryptfs  ext3 fscache  jbd   lockd      nfs_common  squashfs  xfs
cachefiles cramfs    exportfs  ext4 fuse     jbd2  mbcache.ko  nfsd       ubifs
[root@localhost fs]#

/lib/modules/2.6.32-504.el6.x86_64/kernel/fs  文件系統的內核模塊的存放目錄,只有這裏的文件系統類型才能進行格式化;

文件系統管理工具:

NoteVFS虛擬文件系統(磨平了不同文件系統之間的差異,調用的時候直接訪問VFS文件系統)wKiom1XhYdGBbwa5AACviW8C9nk240.jpg

(4)      文件系統管理工具:

mkfsmkfs只是一個調用的功能,實際是這些應用程序的使用(mkfs.ext2  mkfs.ext4     mkfs.msdos mkfs.cramfs   mkfs.ext3  mkfs.ext4dev mkfs.vfat

                  

                   mkfs–t 文件系統類型 分區名

                   mke2fs:mke2fs專門用來格式化ext系列文件系統的命令;

                            mke2fs[OPTION] 分區名

                                     -t  用於指定文件系統類型{ext2|3|4}

                                     -b指定塊的大小 {1024|2048|4096},塊的概念:多少個扇區封裝成一個單元;

                                     -L‘LABEL’設定卷標名;

                                     -j  相當於:-t ext3

                                               mkfs.ext3  == mkfs –t ext3 == mke2fs –j == mke2fs –text3

-i #   爲數據中間中的每多少(#)個字節創建一個inode。(2T硬盤,每個都是幾k的小文件,根據文件的大概大小來創建相應的inode條目)

                                     -N#   指定數據區有多少個inode

                                     -m#   指定爲管理預留空間佔主空間的百分比;

                                     -OFEATURE[,….]   啓用指定特性;

                                               -O^FEATURE  關閉指定特性;

[root@localhost ~]# mke2fs -t ext4 -b 4096-L juanming -N 30000 -m 8 /dev/sda3
mke2fs 1.41.12 (17-May-2010)
Filesystem label=juanming————#卷標名爲:juanming
OS type: Linux
Block size=4096 (log=2)——————#塊的卷大小爲4096字節
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
30176 inodes, 1313064 blocks——————#inode條目爲30176,塊條目數爲1313064;
105045 blocks (8.00%) reserved for thesuper user
First data block=0
Maximum filesystem blocks=1346371584
41 block groups——————————————#25個塊組
32768 blocks per group, 32768 fragments pergroup————————#每個塊組中block總數
736 inodes per group————————#每個塊組的inode條目數;
Superblock backups stored on blocks:
         32768,98304, 163840, 229376, 294912, 819200, 884736
 
Writing inode tables: done                           
Creating journal (32768 blocks): done
Writing superblocks and filesystemaccounting information: done
 
This filesystem will be automaticallychecked every 36 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

tune2fstune2fs重新設定ext系列文件系統中可調參數;

tune2fs [OPTION] 分區名

         -l查看指定文件系統(分區)的超級塊詳細信息;

         -L重新指定卷標名;

         -m# 調整管理員預留空間的百分比;

         -u指定文件系統的UUID

[root@localhost ~]# e2label /dev/sda3
juanming
[root@localhost ~]# tune2fs -L JuanMing1/dev/sda3
tune2fs 1.41.12 (17-May-2010)
[root@localhost ~]# e2label /dev/sda3
JuanMing1

mkswap mkswap用於交換分區的格式化;

         mkswap   [OPTION] 分區名

                   -L卷標名

                   -UUUID

         swapon:掛載交換分區;

         swapoff:卸載交換分區;

free:查看內存的使用情況:

         -mM爲單位;

         -g  G爲單位;

         #free–m


blkid : 塊設備信息顯示工具          UUID也是一種引用;

         -L卷標名 設備名

         -UUUID 設備名

e2label分區名 :查看分區的卷標名;

dumpe2fs 文件系統的超級塊信息查看工具;

dumpe2fs –h 只顯示超級塊頭部信息;

[root@localhost ~]# dumpe2fs -h /dev/sda3
dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name:   JuanMing1              #卷標名
Last mounted on:          <not available>
Filesystem UUID:          40206534-232b-4061-9205-e13e06db9d08
Filesystem magic number:  0xEF53
Filesystem revision #:    1(dynamic)
Filesystem features:      has_journal ext_attr resize_inodedir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bgdir_nlink extra_isize
Filesystem flags:         signed_directory_hash
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux                     #文件系統類型
Inode count:              30176                #總inode數目
Block count:              1313064            #總block數目
Reserved block count:     105045
Free blocks:              1275746             #空閒的block
Free inodes:              30165                 #空閒的inode
First block:              0
Block size:               4096                    #塊的大小單位4096字節
Fragment size:            4096
Reserved GDT blocks:      320
Blocks per group:         32768                   #每個塊組中的block
Fragments per group:      32768
Inodes per group:         736                       #每個塊組中的inode
Inode blocks per group:   46                   #每個塊組中的inode block
Flex block group size:    16
Filesystem created:       Tue Aug 25 03:12:36 2015          #文件系統創建的時間;
Last mount time:          n/a
Last write time:          Tue Aug 25 03:46:56 2015          #tune2fs –l 也可以查看超級塊的詳細信息;
Mount count:              0
Maximum mount count:      36
Last checked:             Tue Aug 25 03:12:36 2015
Check interval:           15552000 (6 months)
Next check after:         Sun Feb 21 03:12:36 2016
Lifetime writes:          137 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:                  256


文件系統掛載:

掛載定義:將額外的文件系統與根文件系統建立關聯關係。使得其作爲此額外文件系統的訪問入口的過程;

掛載操作時注意:

         linux系統上,所有的文件系統必須通過根文件系統的某個分支來訪問;

         單一文件系統不應該被重複掛載在不同的掛載點(目錄)中;

         單一目錄不應重複掛載多個文件系統;

         作爲掛載點的目錄理論上都是空白目錄,不然原來目錄下的文件會被隱藏;直到卸載

掛載點注意:

         事先存在;

         應該使用別的進程未使用的目錄;

         掛載點下原有的文件將被隱藏;

 

mount :掛載命令;

mount [選項] 設備掛載點

mount查看/etc/mtab已經掛載的條目;

         -t 指定文件系統類型(CentOS6才能智能識別文件系統類型)

         -r 只讀掛載

         -w 讀寫掛載

         -a 掛載/etc/fstab下的所有條目進行掛載;

         -n 掛載時不更新/etc/mtab文件;

         -B == --bind

         mount –B 原目錄 目標目錄,  關聯目錄(把目標目錄關聯到原目錄)

         umount  目標目錄 取消關聯(通常用於版本更新),例如:

[root@localhost ~]# mkdir /root/test1                                  #新建目錄
[root@localhost ~]# mount --bind/tmp/test1/ /root/test1/                #關聯目錄
[root@localhost ~]# ls /root/test1/ -l                                                              查看目標目錄
total 52            
-rw-r--r-- 1 root root    0 Aug 22 15:28 End
-rw-r--r-- 1 root root    0 Aug 22 14:25 error.out
-rw-r--r-- 1 root root   80 Aug 22 14:20 error.txt
-rw-r--r-- 1 root root   52 Aug 22 14:32 file.out
-rw-r--r-- 1 root root   46 Aug 22 14:45 hello.txt
-rw-r--r-- 1 root root   20 Aug 22 14:11 result.txt
-rwxr-xr-x 1 root root  162 Aug 22 17:37 spaceline.sh
-rwxr-xr-x 1 root root   30 Aug 22 15:41 test.sh
[root@localhost ~]# umount /root/test1/                                  #取消關聯
[root@localhost ~]# ls -l /root/test1/                                   #再次查看目標目錄
total 0

-o 參數選項 [多個使用,隔開例:-o sync,exec,nouser]    -o 裏面還有參數

         async:異步模式,使用異步模式數據的修改先於內存中完成,根據某種策略定期同步至磁盤,實現永久存儲。

        sync:同步模式,直接將數據的修改同步至磁盤

        auto:支持mount -a 這個選項實現自動掛載

        noauto:不支持mount -a 不能實現自動掛載

        noexec:不允許此設備上的二進制程序執行(一般設爲不允許)  exec:允許此設備上的二進制程序執行

        user:允許普通用戶掛載設備

        nouser:不允許普通用戶掛載設備

unmount:卸載命令   

umount [設備|掛載點] 可以是設備名|卷標名|UUID

fuser:查看有哪些進程正在使用掛載點

fuser -v 掛載點


[root@localhost ~]# mount /dev/cdrom    /media

mount: block device /dev/sr0 is    write-protected, mounting read-only

[root@localhost ~]# cd /media/

[root@localhost media]# ls

autorun.inf  debian     firmware  g2ldr.mbr  isolinux     md5sum.txt  setup.exe  win32-loader.ini

boot         dists   g2ldr        install    live      pool        tools

[root@localhost media]# umount    /dev/cdrom

umount: /media: device is busy.                因爲user當前正在目標目錄下工作,故無法卸載;

           (In some cases useful info about processes that use

            the device is found by lsof(8) or fuser(1))

fuser -km 強行終止正在使用的掛載點的進程(直接殺掉進程)

[root@localhost ~]# umount /media
umount: /media: device is busy.
       (In some cases useful info about processes that use
        the device is found by lsof(8) or fuser(1))
[root@localhost ~]# fuser -v /media     #查看哪些進程佔用/media
                     USER        PID ACCESS COMMAND
/media:              root      11777 ..c.. bash
[root@localhost ~]# fuser -km /media/   #強制結束使用掛載點的進程,現象是直接關閉用戶所連接的虛擬終端
/media/:             11777c
[root@localhost ~]# umount /media/
[root@localhost ~]# cat /proc/mounts | grepmedia    卸載成功
[root@localhost ~]#

與掛載相關的配置文件:

         /etc/fstab 主要用於系統啓動時掛載設備;

         /etc/mtab:存儲了已經掛載的條目;

         /proc/mounts:內核中識別的所有掛載條目;


/etc/fstab開機自動掛載的配置文件:

  9/dev/mapper/vg0-root    /                       ext4    defaults       1 1
 10UUID=f3d57e47-8685-4e88-b809-f2a4726dc491 /boot                   ext4    defaults            1 2
 11/dev/mapper/vg0-usr     /usr                    ext4    defaults        1 2
 12/dev/mapper/vg0-var     /var                    ext4    defaults       1 2
 13/dev/mapper/vg0-swap    swap                    swap    defaults       0 0
 14tmpfs                   /dev/shm                tmpfs   defaults        0 0
 15devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
 16sysfs                   /sys                    sysfs   defaults       0 0
 17proc                    /proc                   proc    defaults        0 0

/etc/fstab配置文件內容解析:

第一列:要掛載的設備名(設備文件、卷標、UUID這三種引用方式);

第二列:掛載點

第三列:文件系統類型;

第四列:掛載選項;

第五列:轉儲頻率

         0:從不備份;

         1:每日備份;

         2:每隔一日備份;

第六列:自檢次序;

         0:不自檢;

         1:首先自檢,通常直被/使用;

         2/自檢之後自檢;

Note:這裏面的default選項,既然是掛載選項,直接查看掛載命令mount的幫助

[root@localhost ~]# whatis mount
[root@localhost ~]# man 8 mount
defaults
      Use default options: rw, suid, dev, exec, auto,  nouser, async,  and  relatime.


鏈接文件:

1、文件的硬鏈接:指向同一個inode的多個不同的文件路徑 他們指向同一組磁盤塊

2、文件的字符鏈接(軟連接):符號鏈接有自己的inode,但是此inode沒有指向數據塊,而是指向數據

原文件的訪問路徑(即一些字符串)

 

                  硬鏈接的特性:

Ⅰ硬連接不能跨文件系統

Ⅱ不能對目錄進行硬鏈接

Ⅲ創建硬鏈接會增加文件的硬連接數。

 

                   軟連接的特性:

Ⅰ符號連接可以跨文件系統

Ⅱ可以對目錄進行軟連接

Ⅲ不會增加硬連接數,

Ⅳ刪除原文件,會損壞符號連接文件。

        

                   3ln創建連接文件的命令

ln [選項] 原文件目標文件 (默認創建硬連接文件)

         -s 指明創建軟鏈接文件;

         -v 顯示詳細信息;


其他常用命令:

du:查看某目錄樹佔用空間的情況;

du [選項] 目錄

         -s 指列出目錄的總和,不列出子目錄的大小     

-h 單位換算:轉換成人能識別的單位

[root@localhost home]# du -h kalaguiyin/       #查看目錄下各個文件佔用空間的情況;
4.0Kkalaguiyin/test/tmp/b/shell
4.0Kkalaguiyin/.gnome2
212K         kalaguiyin/network-scripts/network-scripts
216K         kalaguiyin/network-scripts
664K         kalaguiyin/
[root@localhost home]# du -sh kalaguiyin/       #僅查看目錄佔用空間的總和;
664K         kalaguiyin/
    df [] []
        -h         -i inode
[root@localhost home]# df -h /dev/sda1
Filesystem      Size Used Avail Use% Mounted on
/dev/sda1       190M  33M  148M  18% /boot
[root@localhost home]# df -ih /dev/sda1
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/sda1         50K   39   50K    1% /boot

e2fsck [選項] 文件系統(分區)

-y 所有問題自動默認爲yes



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章