1. 程式人生 > >文件系統命令(十六)

文件系統命令(十六)

空間 fdisk parted

文件系統命令:du,df,fdisk,parted,blkid,lsblk

16.1.du

功能:估算文件空間使用情況

語法:

du [OPTION]... [FILE]...

du [OPTION]... --files0-from=F


常用選項:

-a或-all 遞歸指定目錄或多個目錄中所有文件的統計結果

-b或-bytes 以bytes為單位顯示

-c–total 產生一個總大小,除了顯示目錄和文件的大小外,同時還顯示所有目錄或文件的總和

-h 人性化顯示(K,M,G)

-k 單位KB顯示

-m 單位MB顯示

-s 只顯示總大小,不含子文件

--max-depth=<目錄層數>,超過層數的目錄忽略

--exclude=file 排除文件或目錄

--time 顯示大小和創建時間


示例:

[[email protected] scripts]# du  -sh /etc   #查看etc目錄大小
28M/etc
[[email protected] tmp]# du -sh /tmp
13G/tmp
[[email protected] tmp]# du -sh --exclude=test.12 /tmp  #排除test.12文件查看tmp目錄大小
1.2M/tmp
[[email protected] tmp]# du -sh --time /tmp
13G    2017-06-20 11:07    /tmp
[[email protected]
/* */ tmp]# du -ah --max-depth=1 /etc/ #選擇層數查看,不能使用s,因為s是不顯示子目錄和文件的 0/etc/grub.conf 116K/etc/lvm 8.0K/etc/xinetd.d 16K/etc/gnome-vfs-2.0 48K/etc/polkit-1 28K/etc/iproute2



16.2.df

功能:報告文件系統磁盤空間使用情況

語法:df [OPTION]... [FILE]...

常用選項:

-a 顯示所有文件系統的磁盤使用情況,包含虛擬文件系統及偽文件系統

-h 人性化顯示

-i 顯示block使用的inode信息

-k KB顯示

-P 使用POSIX格式輸出

-t 輸出指定文件系統類型的磁盤使用情況

-x 列出不是某一指定類型文件系統的磁盤空間使用情況(與t選項相反)

-T 打印文件系統類型

示例:

[[email protected] ~]# df -ah  #查看所有文件系統磁盤使用情況
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       18G   14G  3.0G  82% /
proc                     0     0     0    - /proc
sysfs                    0     0     0    - /sys
devpts                   0     0     0    - /dev/pts
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             477M   28M  425M   6% /boot
none                     0     0     0    - /proc/sys/fs/binfmt_misc
/dev/mapper/VolGroup-lv01
                      4.8G   19M  4.6G   1% /data
[[email protected] ~]# df -i   #打印inode號
Filesystem            Inodes IUsed   IFree IUse% Mounted on
/dev/mapper/VolGroup-lv_root
                     1152816 58106 1094710    6% /
tmpfs                 125543     1  125542    1% /dev/shm
/dev/sda1             128016    38  127978    1% /boot
/dev/mapper/VolGroup-lv01
                      327680    10  327670    1% /data
[[email protected] ~]# df -k  #以kb為單位打印
Filesystem           1K-blocks     Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      18003272 13974776   3107308  82% /
tmpfs                   502172        0    502172   0% /dev/shm
/dev/sda1               487652    27678    434374   6% /boot
/dev/mapper/VolGroup-lv01
                       5029504    19236   4748124   1% /data
[[email protected] ~]# df -Ph  #使用posix格式輸出,整齊多了
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   18G   14G  3.0G  82% /
tmpfs                         491M     0  491M   0% /dev/shm
/dev/sda1                     477M   28M  425M   6% /boot
/dev/mapper/VolGroup-lv01     4.8G   19M  4.6G   1% /data
[[email protected] ~]# df -Th
Filesystem           Type   Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   #打印文件系統類型
                     ext4    18G   14G  3.0G  82% /
tmpfs                tmpfs  491M     0  491M   0% /dev/shm
/dev/sda1            ext4   477M   28M  425M   6% /boot
/dev/mapper/VolGroup-lv01
                     ext4   4.8G   19M  4.6G   1% /data

[[email protected] ~]# du -ah /etc |sort -nrk 1 |head -n 10   #打印指定目錄中最大的10個目錄或文件
984K    /etc/pki/tls/certs/ca-bundle.trust.crt
772K    /etc/pki/tls/certs/ca-bundle.crt
628K    /etc/services
620K    /etc/pki/ca-trust/extracted/pem
384K    /etc/selinux/targeted/contexts
352K    /etc/sysconfig
324K    /etc/pki/ca-trust/extracted/openssl
316K    /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt
300K    /etc/selinux/targeted/contexts/files
296K    /etc/gconf

[[email protected] tmp]# find . -type f -exec du -k {} \;|sort -nrk 1 |head  #查找指定目錄中最大的10個目錄或文件
12582916    ./test.12
1000    ./123.log
100    ./456.log
12    ./123
4    ./user.log
4    ./passwd.bak
4    ./passwd
4    ./newetcdir
0    ./yum.log

16.3.fdisk

功能:linux分區表操作器

語法:

fdisk [-uc] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device

fdisk -l [-u] [device...]

fdisk -s partition...

fdisk -v

fdisk -h

示例:

# fdisk -l  查看磁盤的詳細信息
磁盤大小=盤面數 X 扇區數 X 柱面數 X 每扇區大小(512字節)
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders  255個磁頭 63個扇區 2610個柱面
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: 0x000dc9a4
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        2611    20458496   8e  Linux LVM
 
Disk /dev/mapper/vg_node1-lv_root: 18.8 GB, 18798870528 bytes
255 heads, 63 sectors/track, 2285 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
 
Disk /dev/mapper/vg_node1-lv_swap: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 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

磁盤分區:

fdisk /dev/sdb
 
Command (m for help): m 打印幫助
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition  刪除一個分區
   l   list known partition types  查看所有分區類型
   m   print this menu
   n   add a new partition 添加新分區
   o   create a new empty DOS partition table
   p   print the partition table 打印分區表
   q   quit without saving changes 退出不保存
   s   create a new empty Sun disklabel
   t   change a partition‘s system id  更改分區的系統類型(id)
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit  保存且退出
   x   extra functionality (experts only)
 
 
Command (m for help): n
Command action
   e   extended  擴展分區
   p   primary partition (1-4) 主分區 分區編號
p
Partition number (1-4): 1
First cylinder (1-2610, default 1):  起始柱面(默認)
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +2G  數字代表結束柱面;+size代表最終指定大小
 
分區:如果你要分四個以上分區,請把第四個分為extended擴展分區
     而且擴展分區把多余的所有空間都劃分進去,否則會造成空間的浪費
 
格式化成某種文件系統:
mkfs.ext4 /dev/sdb1
或者
mkfs -t ext4 /dev/sdb1
 
查看文件系統:
df -lhT
通過掛載方式使用:
手動掛載:
mkdir /u01 創建空的掛載點
mount /dev/sdb1 /u01

16.4.parted

功能:GNU分隔-分區操作程序

語法:parted [options] [device [command [options...]...]]

常用選項:

-h, --help 顯示此求助信息

-l, --list 列出所有設別的分區信息

-i, --interactive 在必要時,提示用戶

-s, --script 從不提示用戶

-v, --version 顯示版本


兩種分區:

gpt 沒有主分區,擴展分區,邏輯擴展分區的概念,支持單個分區最大超過2TB

msdos 有主分區,擴展分區,邏輯擴展分區的概念

bios

EFI/UEFI

fdisk只能分msdoc分區,而parted可以分msdos和gpt分區

這兩種分區格式怎麽查看

# parted /dev/sda
GNU Parted 2.1
Using /dev/sda
Welcome to GNU Parted! Type ‘help‘ to view a list of commands.
(parted) print                                                           
Model: ATA ST3500312CS (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos      --這裏就可以看到類型


這兩種分區格式怎麽轉換

(parted) mklabel gpt --在parted裏輸入這樣的命令去轉換

(parted) mklabel msdos

--註意,不要在正在使用磁盤時做轉換,如果你要做轉換可以在以下幾種情況去做

1,rescue模式

2,把磁盤接到另一臺linux,另一臺啟動並使用parted /dev/sdb來做轉換

3,在安裝系統時,在分區那一步,可以按ctrl+alt+F2切換到文本模式,再使用parted來轉換

(parted) help        
(parted) mkpart
Partition type?  [logical]?
File system type?  [ext2]? ext4
Start? 225GB
End? 275GB

16.5.blkid

功能:打印塊設備屬性

示例:

[[email protected] tmp]# blkid
/dev/mapper/VolGroup-lv01: UUID="9a4d86d6-2b06-496c-82df-c50cf5423b23" TYPE="ext4" 
/dev/sda1: UUID="ec9d5b15-ba24-4f6e-bd2a-7f585d1462c3" TYPE="ext4" 
/dev/sda2: UUID="dN12Vt-FG5U-Nd3f-FCrR-Sv7m-USb2-fOgtT7" TYPE="LVM2_member" 
/dev/mapper/VolGroup-lv_root: UUID="ae65ef93-0d13-40ba-9516-d69474f5e0f1" TYPE="ext4" 
/dev/sdb: UUID="Shb8E4-1wg8-cc34-AGXH-SP4b-ONfr-3Yfw3y" TYPE="LVM2_member" 
/dev/mapper/VolGroup-lv_swap: UUID="b497699e-b5f0-4b03-8c09-898a41fec6c7" TYPE="swap

16.6.lsblk

功能:列出所有塊設備信息

語法:

lsblk [options]

lsblk [options] device...

常用選項:

-a, --all 顯示所有設備

-b, --bytes 以bytes方式顯示設備大小

-d, --nodeps 不顯示 slaves 或 holders

-D, --discard print discard capabilities

-e, --exclude <list> 排除設備 (default: RAM disks)

-f, --fs 顯示文件系統信息

-h, --help 顯示幫助信息

-i, --ascii use ascii characters only

-m, --perms 顯示權限信息

-l, --list 使用列表格式顯示

-n, --noheadings 不顯示標題

-o, --output <list> 輸出列

-P, --pairs 使用key="value"格式顯示

-r, --raw 使用原始格式顯示

-t, --topology 顯示拓撲結構信息


示例:

[[email protected] tmp]# lsblk  #查看本機的設備文件
NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                          11:0    1 1024M  0 rom  
sda                           8:0    0   20G  0 disk 
├─sda1                        8:1    0  500M  0 part /boot
└─sda2                        8:2    0 19.5G  0 part 
  ├─VolGroup-lv_root (dm-0) 253:0    0 17.6G  0 lvm  /
  └─VolGroup-lv_swap (dm-1) 253:1    0    2G  0 lvm  [SWAP]
sdb                           8:16   0   10G  0 disk 
└─VolGroup-lv01 (dm-2)      253:2    0    5G  0 lvm  /data
 
[[email protected] tmp]# lsblk  -l #列表格式顯示
NAME                    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                      11:0    1 1024M  0 rom 
sda                       8:0    0   20G  0 disk
sda1                      8:1    0  500M  0 part /boot
sda2                      8:2    0 19.5G  0 part
VolGroup-lv_root (dm-0) 253:0    0 17.6G  0 lvm  /
VolGroup-lv_swap (dm-1) 253:1    0    2G  0 lvm  [SWAP]
sdb                       8:16   0   10G  0 disk
VolGroup-lv01 (dm-2)    253:2    0    5G  0 lvm  /data

本文出自 “爛筆頭” 博客,請務必保留此出處http://lanbitou.blog.51cto.com/9921494/1940187

文件系統命令(十六)