文件系统的简单操作

.磁盘与目录的容量:df,du

 

df:列出文件系统的整体磁盘使用量

格式:df 【-ahikHTm】【目录或文件名】

-a:列出所有的文件系统,包括系统特有的/proc等文件系统

-h:以KB的容量显示各文件系统

-m:以MB的容量显示各文件系统

-h:以人们较易阅读的GB,MB,KB等格式自行显示

-H:以M=1000K替代M=1024K的进位方式

-T:连同该分区的文件系统名称(例ext4)也列出

-i:不用硬盘容量,而以inode的数量来显示

 

例:

[root@server3 ~]# df

Filesystem     1K-blocks    Used Available Use% Mounted on

/dev/vda3       20243456 3307628  16935828  17% /

devtmpfs          493580       0    493580   0% /dev

tmpfs             508248      84    508164   1% /dev/shm

tmpfs             508248   13556    494692   3% /run

tmpfs             508248       0    508248   0% /sys/fs/cgroup

/dev/vda1         201380  133424     67956  67% /boot

tmpfs             101652      20    101632   1% /run/user/42

tmpfs             101652       0    101652   0% /run/user/0

 

*说明一下范例所属出的结果信息:

    a.Filesystem:代表该文件是在哪个分区,所以列出设备名称

    b.1K-blocks:说明下面的数字单位时1KB.可以用-h或-m来改变容量

    c.Used:使用掉的硬盘空间

    d.Available:剩下的磁盘空间的大小

    e.Use%:磁盘使用率。当到到90%时需注意,以免容量不足早成系统问题

    f.Mounted on:磁盘挂载目录所在

 

   

du:评估文件系统的磁盘使用量(常用于评估目录所占容量)

格式: du 【-ahskm】 文件或目录名称

-a:列出所有的文件与目录容量,因为默认仅统计目录下面的文件量而已

-h:以较易读懂的容量格式(G/B)显示

-s:例出总量而已,而不列出每个个别的目录占用量

-S:不包括子目录以下的总计,与-s有点差别

-k:以KB列出容量显示

-m:以MB列出容量显示

 

 

.连接文件:ln

     在linux中连接有两种,一种是类似Windows的快捷方式功能的文件,可以让你快速连接到目标文件;另一种则时通过文件系统的inode连接来产生新文件名,而不是产生新文件,这种成为硬连接。

 

1.hard link(硬连接或实际连接)

    由上一篇可知,文件名只与目录有关,但文件内容则与inode有关。那么,有没有可能多个文件名对应到同一个inode号码呢?那就是hard link,简单的说:hard link只是在某个目录下新建一条文件名连接到inode号码的关联记录而以。

 

例:

[root@server3 mnt]# ll ss

-rw-r--r-- 1 root root 94 Dec  3 17:53 ss

[root@server3 mnt]# ln ss /media/kk      *做一个连接

[root@server3 mnt]# ll ss

-rw-r--r-- 2 root root 94 Dec  3 17:53 ss

[root@server3 mnt]# ll ss /media/kk

-rw-r--r-- 2 root root 94 Dec  3 17:53 /media/kk

-rw-r--r-- 2 root root 94 Dec  3 17:53 ss

[root@server3 mnt]# ll -i ss /media/kk

18160500 -rw-r--r-- 2 root root 94 Dec  3 17:53 /media/kk

18160500 -rw-r--r-- 2 root root 94 Dec  3 17:53 ss

 

    由上我们可发现联合各文件名都连接到18160500的inode号码,其文件的权限,属性完全一样。因为这两个文件其实是一模一样的文件,而且连接字段的数字由1变成了2。

 

hard link的限制:

    *不能跨文件系统

    *不能连接到目录

 

 

 

2.symbolic link(符号连接,也称快捷方式,软连接)

   

    symbolic link就是在创建一个独立的文件。而这个文件会让数据的读取指向它连接的那个文件的文件名。由于知识利用文件来作为指向的操作,所以,当源文件内删除后,symbolic link的文件会无法大开。实际上就是找不到源文件文件名而以。

 

例:

[root@server3 mnt]# ln -s ss  kk

[root@server3 mnt]# ll -i ss kk

18162480 lrwxrwxrwx 1 root root  2 Jan  8 19:36 kk -> ss

18160500 -rw-r--r-- 1 root root 94 Dec  3 17:53 ss

 

    由上面结果我们可以知道两个文件指向不同的inode号码,当然就是两个独立的文件存在。而且连接文件的重要内容就是它会写上目标文件的文件名。

 

    还有,symbolic link与Windows快捷方式相似,由symbolic link所创建的文件为一个独立的新文件,所以会占用到inode与block。

 

ln

格式: ln 【-sf】 源文件 目标文件

-s:如果不加任何参数就进行连接,那就是hard link,至于-s 就是symbolic link

-f:如果目标文件存在时,就主动将目标文件直接删除后再创建

 

 

原文地址:https://www.cnblogs.com/zhengyipengyou/p/10241529.html