个人主页:哈维数据
QQ:1876815991
邮箱:cnharvey@foxmail.com
一、链接文件
1.ln命令
命令名称:ln
英文原意:change file timestamps
所在路径:/bin/ln
执行权限:所有用户
功能描述:在文件之间建立链接
我们的文件的文件名,没有写在I节点中,也没有写在block块中,而是写在上层目录的block块中。
如果我们要查找一个目录,就先在你上层目录里找到I节点然后找到block块,通过访问block找到要查找的文件的I节点,然后进入我们要查找的文件I节点中。
链接,有几种类型
2.硬链接(不常用)
硬链接的使用方法:
root@localhost ~]# ln [源文件名1] [链接文件名2]
硬链接特征:
- 源文件和链接文件都拥有相同的Inode和Block。
- 修改一个文件另一个都改变。
- 删除任意一个文件,另一个文件也能用。
- 硬链接标记不清晰,很难确定链接位置。不建议使用。
- 硬链接不能链接目录。
- 硬链接不能跨分区操作。因为需要指定同一个分区的同一个I节点号,所以没法实现。
备注:
硬链接的链接文件和源文件的inode和block都是一样的,因为他们仅仅是在文件系统中的显示不一样,虽然有两个文件,但是链接的存储地址都是一个位置。所以修改一个,另一个也会被修改。当然,如果删除一个,另一个也同样可以访问存储的内容。
这就像一个房间有两个门,一个叫前门一个叫后门,前门和后门走哪个都能进入这个房间。从后门进入房间在这个房间里放一本书,再从前门进去看,这本书还是存在。而如果把前门堵上,后门还是可以进入这个房间。
硬链接最大的标记是源文件和链接文件是一个I节点号。所以很不容易看出来。
3.软连接(推荐使用)
软连接的使用方法:
root@localhost ~]# ln -s [源文件名1] [链接文件名2]
软连接的特征:
- 源文件和链接文件拥有的inode是不一样的
- 修改一个文件,另一个文件也会改变
- 删除源文件,链接文件就不能用了。但是软连接还会存在,不过会高亮显示错误。
- 删除软连接,源文件则不受影响。
- 软连接可以连接目录
- 软连接可以跨分区
- 特征明显
备注:
软连接所属的block块中记录的内容不是实际数据,而是源文件的I节点号。软连接中的block中记录的仅仅是指路牌,所以不论源文件多大,软连接的大小都不会有变化。软连接就和Linux中的快捷方式很像。因为软连接的block里面没有数据,所以源文件删除了,数据就删除了,软连接就不能用了。
同时,我们可以用房间来进行解释,但是这个就相对复杂了,我们用一张图片解释
我们在访问软连接文件的时候,会进入软连接的block,软连接的block中记录了怎么到达房间的方法(原文件的inode),引导我们进入房间。我们进入房间后,放一本书,同样从源文件进入也能看到这本书。但是如果我们把源文件删除了,留下来的软连接只是一个没有出口的大厅,房间内的东西也被删除了。
软链接的权限:
软连接的权限是最大权限,大家都可以访问软连接,但是要明确,软连接的权限仅仅是代表了软连接文件的权限是最大的。而不代表源文件也拥有了最大权限,这就像公交站,公交路线大家都可以看,但是不代表所有人都可以修改公交路线。
软连接一定要写绝对路径,因为软连接是通过绝对路径来找到原文件的!!!!
链接是我们在管理linux系统的时候照顾我们使用习惯所设置的一个功能。
二、目录文件通用命令
1.rm命令(删除)
root@localhost ~]# rm [选项] 需要删除的文件或目录
命令名称:rm
英文原意:remove files or directories
所在路径:/bin/rm
执行权限:所有用户
功能描述:删除文件或目录
选项 | 作用 |
---|---|
-f | 强制删除(force) |
-i | 交互删除,删除前会询问 |
-r | 递归删除,可以删除目录(谨慎使用) |
2.cp命令(复制)
root@localhost ~]# rm [选项] [源文件] [目标文件]
命令名称:cp
英文原意:copy files and directories
所在路径:/bin/cp
执行权限:所有用户
功能描述:复制文件或目录,如果目标文件名更改,则视为重命名复制操作。
选项 | 作用 |
---|---|
-a | 相当于-dpr |
-d | 如果源文件为软连接(硬链接无效)。则复制出的目标文件也是软链接 |
-I | 询问,如果目标文件存在,则会询问是否覆盖 |
-p | 复制后目标文件保留源文件属性(所有者、所属组、权限、时间) |
-r | 递归复制 |
平时完全可以使用-a来作为日常使用。只要加了-a选项,目标文件和源文件会一摸一样。
3.mv命令(剪切/改名)
root@localhost ~]# mv [选项] [源文件] [目标文件]
命令名称:mv
英文原意:move (rename) files
所在路径:/bin/mv
执行权限:所有用户
功能描述:移动文件或者改名
选项 | 作用 |
---|---|
-f | 强制覆盖,如果目标文件存在也不会询问 |
-i | 询问用户是否覆盖,如果目标文件已经存在,则询问用户是否覆盖 |
-v | 显示详细信息 |
mv命令的参数一般来讲不太常用,而且不需要递归操作。
网友评论