鸟哥的linux私房菜(基础篇--10、Linux磁盘与档案系统管理)命令
1、磁盘的容量:df
[root@linux ~]# df [-ahikHTm] [目录或文件名]
参数:
-a:列出所有的档案系统,包括系统特有的/proc等档案系统;
-k:以KBytes的容量显示各档案系统;
-m:以MBytes的容量显示各档案系统;
-h:以人们较易阅读的GBytes,MBytes,KBytes等格式自行显示;
-H:以M=1000K取代M=1024K的进位方式;
-T:连同该partition的filesystem名称(例如ext3)也列出;
-i :不用硬盘容量,而以 inode 的数量来显示范例:
范例一:将系统内所有的partition列出来!
[root@linux ~]# df范例三:将系统内的所有特殊档案格式及名称都列出来[root@linux ~]# df -aT
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/hda1ext359522523012332263268054%/
/dev/procproc000-/proc
/dev/syssysfs000-/sys
/dev/devptsdevpts000-/dev/pts
/dev/shmtmpfs19283601928360%/dev/shm
/dev/hda5ext3949264422160487810603%/home
nonebinfmt_misc000-/proc/sys/fs/binfmt_misc
#看到了吧!系统里面其实还有很多的特殊档案系统在跑得!
#不过,那些比较特殊的档案系统几乎都是在内存当中,例如/proc这个挂载点。
# 因此,这些特殊的档案系统都不会占据硬盘空间喔! ^_^范例四:将 /etc 底下的可用的磁盘容量以易读的容量格式显示[root@linux ~]# df -h /etc
范例五:将目前各个 partition 当中可用的 inode 数量列出[root@linux ~]# df -ih
2、目录的容量:du
[root@linux ~]# du [-ahskm] 档案或目录名称
参数:
-a:列出所有的档案与目录容量,因为预设仅统计目录底下的档案量而已。
-h:以人们较易读的容量格式(G/M)显示;
-s:列出总量而已,而不列出每个各别的目录占用容量;
-k:以KBytes列出容量显示;
-m :以 MBytes 列出容量显示;范例:
范例一:列出目前目录下的所有档案容量
[root@linux ~]# du范例二:同范例一,但是将档案的容量也列出来[root@linux ~]# du -a
范例三:检查根目录底下每个目录所占用的容量[root@linux ~]# du -sm /*
3、连结档的介绍: ln
连结档还分成 Hard link 与 symbolic link 两种,这两种连结档在架构上是完全不一样的咚咚,底下就来好好的谈一谈先!
(1)Hard Link (硬式连结或实际连结),Hard Link 只是在某个目录下新增一个该档案的关连数据而已!由于 hard link 是在同一个 partition 上面进行数据关连的建立,所以 hard link 是有限制的:
•不能跨Filesystem;
• 不能 link 目录。(2)Symbolic Link (符号连结,亦即是快捷方式)
相对于 hard link , Symbolic link 可就好理解多了,基本上, Symbolic link 就是在建立一个独立的档案, 而这个档案会让数据的读取指向他 link 的那个档案内容!由于只是利用档案来做为指向的动作, 所以,当来源档被删除之后,symbolic link 的档案会『开不了』, 会一直说『无法开启某档案!』。这里还是得特别留意,这个 Symbolic Link 与 Windows 的快捷方式可以给他划上等号,由 Symbolic link 所建立的档案为一个独立的新的档案,所以会占用掉 inode 与 block 喔! 由上面的说明来看,似乎 hard link 比较安全,因为即使某一个目录下的关连数据被杀掉了, 也没有关系,只要有任何一个目录下存在着关连数据,那么该档案就不会不见!举上面的例子来说,我的 /etc/crontab 与 /root/crontab 指向同一个档案,如果我删除了 /etc/crontab 这个档案,该删除的动作其实只是将 /etc 目录下关于 crontab 的关连数据拿掉而已, crontab 所在的 inode 与 block 其实都没有被变动喔! 不过,不幸的是,由于 Hard Link 的限制太多了,包括无法做『目录』的 link , 所以在用途上面是比较受限的!反而是 Symbolic Link 的使用方面较广喔!
[root@linux ~]# ln [-sf] 来源文件 目标文件
参数:
-s:如果ln不加任何参数就进行连结,那就是hardlink,至于-s就是symboliclink
-f:如果目标文件存在时,就主动的将目标文件直接移除后再建立!