链接文件解释说明
链接文件分为两种:硬链接(hardlink)和软联接(symboliclink),两种链接的本质区别关键点在于inode。
inode解释
inode包含文件元信息,具体来说有以下内容:
文件的字节数;
文件拥有这的userID;
文件的GroupID;
文件的读、写、执行权限;
文件的时间戳,共有三个,ctime☞inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。
链接数,即有多少文件名指向这个inode;
文件数据block的位置;
硬链接:当系统要读取一个文件时,都会先去读inodetable,一个文件对应一个inode,之后在去按照inode中的信息到块区域去讲数据取下来linux文件的链接可分为,而硬链接是直接使用了和源文件相同的inode,硬链接文件直接链接到文件放置的块区域linux文件的链接可分为,也就是说,进行硬链接的时侯实际上该文件内容没有任何变化,只是指定了相同的inode。硬链接是直接将文件和硬碟链接的
硬链接有两个限制:
不能跨文件系统,由于不同的文件系统有不同的inodetable;
不能链接目录;
软联接:跟硬链接不同,这个是构建一个独立的文件,而这个文件的作用是当读取这个链接文件时,它会把读取的行为转发到该文件所link的文件上。
比如:现今有文件a,我们做了一个软链接文件b(只是一个链接文件,特别小),b指向了文件a,当读取b时,这么都会把读取的动作转发到a上,这样就读取到了a文件,多以,当我们删掉文件a时,文件b并不会被删掉,并且再读取b时,会提示未能打开文件,但是,当我们删掉b时,a是不会有任何影响的。
由上可以看出,虽然硬链接比较安全,由于虽然某一个文件被删除了,只要有任何一个文件存在,这么改文件对用的inode就还在,这么文件就不会消失不见!不过,不幸的是硬链接的限制太多了,包括难以做目录的link,所以在用途里面比较受限制的!反倒是软链接的使用方向较广。
构建软链接和硬链接方式
ln命令:
ln[-s][来源文件][目的文件]
ln常用的选项就一个-s,假若不加就是构建硬链接,加上就是构建软链接。
由上可以看出硬链接删掉源文件passwd,空间仍然不变。
硬链接不能用于目录
假如删掉掉源文件,则软链接文件不能读取了,并且使用命令ll查看发觉颜色也变了。
由上说明目录是可以软链接的。
硬链接不占用空间,软链接占用空间。
命令du:
查看c盘剩余空间和文件夹大小
参数涵义如下:
-s:对每位names参数只给出占用的数据块总量;
-a:递归地显示指定目录中各文件占用的数据块数,若既不指定-s,也不指定-a,则只显示names中每一个目录及其中的各子目录所占的c盘块数;
-b:以字节为单位列举c盘空间使用情况(系统缺省以k字节为单位);
-k:以1024字节为单位列举c盘空间使用情况;
-c:最后在加上一个总计(系统缺省设置);
-l:估算所有的文件大小;
暂无评论内容