作者:jicanmeng
时间:2016年06月01日
fdisk命令的用法在《鸟哥的linux私房菜》中有详细描述。这里只提三点:
fdisk -l
命令用于查看系统中所有的磁盘和磁盘的分区情况。fdisk
命令后面接的参数是磁碟名称,而不是分区命令。例如:fdisk /dev/sda
,而不能写为fdisk /dev/sda1
。fdisk -l
是找不到这个磁盘的。必须重启才可以,因为磁盘是冷启动的,linux系统只会在开机的时候侦测一次。对磁盘进行分割后,都会对各个partition进行格式化,常常使用mkfs命令。格式为:mkfs -t type partition
,常用的type有ext2,ext3,ext4,vfat等。例如mkfs -t ext4 /dev/sda1
。
mkfs其实是个综合指令,你在调用mkfs -t ext3时,其实系统调用了mkfs.ext3这个指令。
fdisk命令对于大于2T的分区无法划分,所以用fdisk无法看到parted划分的GPT格式的分区。parted命令可以划分单个分区大于2T的GPT格式的分区,也可以划分普通的MBR分区。这里并不讨论parted的各种详细用法,只会说一种用法:使用parted命令查看磁盘中各个分区的格式。下面是例子:
[root@andy ~]# parted /dev/sda print Model: ATA HGST HTS545050A7 (scsi) Disk /dev/sda: 500GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Number Start End Size File system Name Flags 1 1049kB 211MB 210MB fat16 boot 2 211MB 525MB 315MB ext4 3 525MB 269GB 268GB ext4 [root@andy ~]#
dumpe2fs命令用于查看分区中inode和block的情况。一般情况下我们会关注inode和block的个数和所占的空间大小。
下面是例子:
root@jicanmeng-desktop:~/Desktop# dumpe2fs /dev/sda1 -h dumpe2fs 1.41.11 (14-Mar-2010) ... Inode count: 700384 Block count: 2800896 Reserved block count: 140044 Free blocks: 2205655 Free inodes: 560483 First block: 0 Block size: 4096 ... Inode size: 256 ... root@jicanmeng-desktop:~/Desktop#
可以看到,inode的大小是256个字节,block的大小是4096个字节,/dev/sda1这个partition中共有700384个inode,2800894个block。
df命令的语法是:
df options file
: 用于显示 file 所在的 partition的空间占用情况。df options directory
: 用于显示 directory 所对应的partition的空间占用大小。一般情况下,一个partition都会格式化为一种档案系统。默认情况下,df命令会显示已经挂载的所有partition的空间占用情况。准确的说,df命令会显示所有的档案系统所在的partition的空间占用情况。同时我们也知道,linux系统有一些虚拟的基于内存的档案系统,例如sysfs,procfs等,df命令加上-a选项也会显示这些档案系统的情况。
常用选项有:
-a
:列出所有的档案系统,包括系统特有的 /proc 等档案系统。-k
:显示占用空间大小的单位是KB,这也是默认情况。-m
:显示占用空间大小的单位是MB。-h
:print sizes in human readable format (e.g., 1K 234M 2G)。-T
:连同该 partition 的 filesystem 名称 (例如 ext3) 也列出。-i
:不用硬碟容量,而以 inode 的数量来显示。其中,-s和-h是最常用的选项。
下面是例子:
root@jicanmeng-desktop:~/Desktop# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 11027720 2205380 8262164 22% / none 1803092 268 1802824 1% /dev none 1807312 0 1807312 0% /dev/shm none 1807312 80 1807232 1% /var/run none 1807312 0 1807312 0% /var/lock none 1807312 0 1807312 0% /lib/init/rw shared 304065532 68244556 235820976 23% /media/sf_shared root@jicanmeng-desktop:~/Desktop# df -a Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 11027720 2205380 8262164 22% / proc 0 0 0 - /proc none 0 0 0 - /sys none 0 0 0 - /sys/fs/fuse/connections none 0 0 0 - /sys/kernel/debug none 0 0 0 - /sys/kernel/security none 1803092 268 1802824 1% /dev none 0 0 0 - /dev/pts none 1807312 0 1807312 0% /dev/shm none 1807312 80 1807232 1% /var/run none 1807312 0 1807312 0% /var/lock none 1807312 0 1807312 0% /lib/init/rw shared 304065532 68244556 235820976 23% /media/sf_shared binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc root@jicanmeng-desktop:~/Desktop# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 11G 2.2G 7.9G 22% / none 1.8G 268K 1.8G 1% /dev none 1.8G 0 1.8G 0% /dev/shm none 1.8G 80K 1.8G 1% /var/run none 1.8G 0 1.8G 0% /var/lock none 1.8G 0 1.8G 0% /lib/init/rw shared 290G 66G 225G 23% /media/sf_shared root@jicanmeng-desktop:~/Desktop# df -h . Filesystem Size Used Avail Use% Mounted on /dev/sda1 11G 2.2G 7.9G 22% / root@jicanmeng-desktop:~/Desktop# df -iT /etc Filesystem Type Inodes IUsed IFree IUse% Mounted on /dev/sda1 ext4 700384 139906 560478 20% / root@jicanmeng-desktop:~/Desktop#说明:那个 /dev/shm/ 目录,其实是利用记忆体虚拟出来的磁碟空间!
du命令的语法是:
du options file
: 用于显示 file 占用的空间大小。du options directory
: 用于显示 directory 占用的空间大小。这种情况下,如果不加任何选项,du只会显示 directory 下面各个目录和子目录占用的空间大小。常用选项有:
-a
:除了显示目录占用多少空间,还显示文件占用的空间大小。-k
:显示占用空间大小的单位是KB,这也是默认情况。-m
:显示占用空间大小的单位是MB,当小于1MB时,显示1MB。-s
:只显示directory占用多少空间。-h
:print sizes in human readable format (e.g., 1K 234M 2G)-S
:显示 directory 占用的空间大小时,并不会包含 directory 中各个目录的大小,但会包含 directory 中普通文件的大小。其中,-sh是最常用的选项。
如下是例子:
root@jicanmeng-desktop:/media/sf_shared/shell/duTestDir# tree . ├── a.c ├── a.out ├── dir1 │ ├── a.out │ └── dir11 │ └── a.out └── dir2 └── a.out 3 directories, 5 files root@jicanmeng-desktop:/media/sf_shared/shell/duTestDir# du 8 ./dir1/dir11 15 ./dir1 8 ./dir2 31 . root@jicanmeng-desktop:/media/sf_shared/shell/duTestDir# du -a 1 ./a.c 8 ./a.out 8 ./dir1/a.out 8 ./dir1/dir11/a.out 8 ./dir1/dir11 15 ./dir1 8 ./dir2/a.out 8 ./dir2 31 . root@jicanmeng-desktop:/media/sf_shared/shell/duTestDir# du -sh 31K . root@jicanmeng-desktop:/media/sf_shared/shell/duTestDir# du -Sh 7.5K ./dir1/dir11 7.5K ./dir1 7.5K ./dir2 8.0K . root@jicanmeng-desktop:/media/sf_shared/shell/duTestDir# du -sh dir1/ 15K dir1/ root@jicanmeng-desktop:/media/sf_shared/shell/duTestDir# du -sh a.out 7.5K a.out root@jicanmeng-desktop:/media/sf_shared/shell/duTestDir# ll a.out -rwxrwx--- 1 root vboxsf 7211 2016-05-31 16:37 a.out* root@jicanmeng-desktop:/media/sf_shared/shell/duTestDir#
du -sh a.out
命令显示是a.out文件占用的空间大小。ll a.out
命令显示的a.out文件自身的大小。一般情况下,文件占用的空间大小都会大于文件自身大小。
命令格式简单来说,就是mount -t type device dir
。常用的格式有ext2,ext3,ext4,vfat,iso9660(光碟格式)。有下面几点需要注意:
mount -t iso9660 -o loop textlive.iso /home/jicanmeng/cdrom
。其中-o loop表示把一个文件当成硬盘分区挂接上系统。
mount --bind /home/jicanmeng/cdrom /home/jicanmeng/cdrom-bak
。
格式为:umount device
或者umount dir
都可以。有几点需要注意一下:
umount dir
的格式。
lsof
命令查看有哪些进程在使用本文件系统。