您的位置:首页 > 运维架构 > Linux

Linux常用命令详解之文件处理命令三

2013-08-28 08:57 786 查看
十二,(1)命令名称:ln

(2)命令原意:link

(3)命令所在路径:/bin/ln

(4)执行权限:所有用户

(5)功能描述:产生连接文件

(6)语法:ln -s [源文件名] [目标文件] s表示soft(软的)

-s 表示创建软连接(不加则表示产生硬连接)

如:$ head -num /test/aa

注意:软连接和硬连接的区别

软连接的特点:

(1) 软连接的类型是l

(2) 软连接的权限都是rwxrwxrwx,即相当于所有用户都可以操作,但是软连接指向了源文件,即你点击软连接文件的时候,访问的还是源文件,所以重点在于你对源文件有什么操作权限

(3) 软连接很小,它只是一个符号连接

(4) 软连接的时间值是创建软连接的时间,而源文件的时间是创建文件的时间或是修改文件的时间

(5) 总之,软连接相当于windows中的快捷方式,用途和用法都差不多

硬连接的特点:

(1) 硬连接后,新文件的详细信息和源文件的详细信息是一样的,大小、类型都是一样的,所以,硬链接类似于拷贝,但和拷贝还是有点不同的,那就是硬链接是同步更新的,而cp则不是同步更新

与拷贝的区别还在于:cp的时候,新的文件的时间值是复制时的时间,如果你想新的文件的时间和源文件的相同,则要叫上-p,即cp –p 源文件 目标文件

(2) 也就是说,硬链接相当于cp -p 加同步更新

所以硬链接可以用于备份。所以软连接和硬链接的另一个非常大的区别就是:当把源文件删除后,软连接是无法再访问的,而硬链接可以

注意:软连接肯定也是同步更新的,很好理解,它只是一个快捷方式,访问的还是源文件

扩展:那么硬链接为什么可以同步更新呢?

(1) 前备知识:Linux的内核(处理所以事情)不认识字母,只认识数字,也就是说Linux内核中,所以要处理的事物都要有一个数字标识,如:文件名就必须有一个对应的数字标识,这个数字就是i节点(inode),用户必须有uid、用户组必须有组id、进程必须有pid,内核是调用这些数字标识对文件等进行处理的;

(2) 每个文件必须有一个i节点,没有i节点就永远没法访问该文件了;但是反过来,一个i节点不一定只对应一个文件,这里的硬连接后的文件和源文件使用的就是同一个i节点,所以内核看到这个i节点后,它不知道哪个是源文件、哪个是硬链接文件,就傻乎乎的都往两个文件更新

还有一点要注意:软连接可以跨文件系统生成,而硬连接不可以。即:

文件系统----à我们创建文件系统分区时可以创建根分区/、swap分区、/test分区等任意个分区,硬连接是不可以跨分区来生成的,会提示:无效的跨设备连接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: