df 命令用来查看Linux文件系统的整体磁盘使用量(展示的单位为分区,即分区的磁盘使用量)
1 2 3 4 5 6 7 8 9
| [root@www ~]# df [-ahikHTm] [目录或文件名] 选项与参数: -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统; -k :以 KBytes 的容量显示各文件系统; -m :以 MBytes 的容量显示各文件系统; -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示; -H :以 M=1000K 取代 M=1024K 的进位方式; -T :连同该 partition 的 filesystem 名称 (例如 ext3) 也列出; -i :不用硬盘容量,而以 inode的数量来显示
|
以下列出几个例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| 范例一:将系统内所有的 filesystem 列出来! [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 癿容量来列出来! # 至于那个 /dev/shm 是与内存有关的挂载,先不要理他!
范例二:将容量结果以易读的容量格式显示出来 [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 # 不同与范例一,这里会以 G/M 等容量格式显示出来,比较容易看啦!
范例三:将系统内的所有特殊文件格式及名称都列出来 [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 # 系统里面其实还有很多特殊的文件系统存在。那些比较特殊的文件系统几乎 # 都是在内存当中,例如 /proc 这个挂载点。因此,这些特殊的文件系统 # 都不会占据硬盘空间!
范例四:将 /etc 底下的可用磁盘容量以易读容量格式显示 [root@www ~]# df -h /etc Filesystem Size Used Avail Use% Mounted on /dev/hdc2 9.5G 3.7G 5.4G 41% / # 在 df 后面加上目录或者是档案时, df 会自动的分析该目录或档案所在的 partition , # 并将该 partition 容量显示出来, 所以,您就可以知道某个目录底下还有多少容量可以使用了!
范例五:将目前各个 partition 当中可用的 inode 数量列出 [root@www ~]# df -ih Filesystem Inodes IUsed IFree IUse% Mounted on /dev/hdc2 2.5M 147K 2.3M 6% / /dev/hdc3 1.3M 46 1.3M 1% /home /dev/hdc1 26K 34 26K 1% /boot tmpfs 91K 1 91K 1% /dev/shm # 这个范例则主要列出可用的 inode 剩余量不总容量。分析一下与范例一的关系, # 你可以清楚的发现到,通常 inode 的数量剩余都比 block 还要多。
|
由于 df 主要读取的数据几乎都是针对一整个文件系统,因此读取的范围主要是在 Superblock 内的信息, 所以这个指令显示结果的速度非帯的快速。
du:评估文件系统癿磁盘使用量(帯用在推估目彔所占容量)
1 2 3 4 5 6 7 8
| [root@www ~]# du [-ahskm] 档案或目录名称 选项与参数: -a :列出所有的档案与目录容量,因为默认仅统计目录底下的子目录容量而已。 -h :以人们较易读的容量格式 (G/M) 显示; -s :列出总量而已,而不列出每个各别的目录占用容量;(即目录占用量) -S :不包括子目录下的总计,与 -s 有点差别。 -k :以 KBytes 列出容量显示; -m :以 MBytes 列出容量显示;
|
使用例子如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| [root@www ~] 选项与参数: -a :列出所有的档案与目录容量,因为默认仅统计目录底下的子目录占用量而已。 -h :以人们较易读的容量格式 (G/M) 显示; -s :列出总量而已,而不列出每个各别的目录占用容量; -S :不包括子目录下的总计,与 -s 有点差别。 -k :以 KBytes 列出容量显示; -m :以 MBytes 列出容量显示;
范例一:列出目前目录下的所有档案容量 [root@www ~] 8 ./test4 <==每个目录都会列出来 8 ./test2 ....中间省略.... 12 ./.gconfd <==包括隐藏文件的目录 220 . <==这个目录(.)所占用的总量
范例二:同范例一,但是将档案的容量也列出来 [root@www ~] 12 ./install.log.syslog <==有档案的列表了 8 ./.bash_logout 8 ./test4 8 ./test2 ....中间省略.... 12 ./.gconfd 220 .
范例三:检查根目录底下每个目录所占用的容量 [root@www ~] 7 /bin 6 /boot .....中间省略.... 0 /proc .....中间省略.... 1 /tmp 3859 /usr <==系统初期最大就是他了啦! 77 /var
|
实体链接与符号链接 ln
实体链接(硬式链接)
实体链接,只能链接文件,不能链接目录,不能跨 Filesystem,创建实体链接时,只是在某个目录下的block多写入一条关联数据而已,不会增加inode也不会耗用block的数量。任一个档案删除了,另外一个档案都可以将数据完整的读取出来。
1 2 3 4
| [root@www ~]# ln /etc/crontab /root/crontab <==建立实体链接的指令 [root@www ~]# ll -i /etc/crontab /root/crontab 1912701 -rw-r--r-- 2 root root 255 Jan 6 2007 /etc/crontab 1912701 -rw-r--r-- 2 root root 255 Jan 6 2007 /root/crontab
|
Symbolic Link (符号链接,亦即是忚捷方式)
基本上, Symbolic link 就是在建立一个独立的档案,而这个档案会将数据的读取指向他 link 的那个档案的档名!由于只是利用档案来做为指向的动作,所以,当来源档被删除之后,symbolic link 的档案会『开不了』, 会一直说『无法开起某档案!』。实际上就是找不到原始『档名』而已。
1 2 3 4 5 6 7 8 9
| [root@www ~]# ln -s /etc/crontab crontab2 [root@www ~]# ll -i /etc/crontab /root/crontab2 1912701 -rw-r--r-- 2 root root 255 Jan 6 2007 /etc/crontab 654687 lrwxrwxrwx 1 root root 12 Oct 22 13:58 /root/crontab2 -> /etc/crontab # /etc/crontab 也就是/root/crontab2文件的内容,所以大小为12bytes
#创建目录链接 [root@www ~]# ln -s /bin /root/bin #当进入/root/bin目录时,实际上进入的是/bin目录,对其所有的操作都会相当于直接在/bin目录下操作
|
看起来硬链接会比符号链接安全的多,因为不会因为被链接文件被删除了而导致链接文件打不开,但是由于硬链接的限制比较多,不能链接目录,不能跨文件系统,所以还是符号链接比较受欢迎!
ln指令参数:
1 2 3 4
| [root@www ~] 选项与参数: -s :如果不加任何参数就进行连结,那就是hard link,至于 -s 就是symbolic link -f :如果 目标文件 存在时,就主动将目标文件直接移除后再建立!
|