Linux记录-4.17,4.18 硬链接ln,软链接ln -s,文件inode号 ,mv移动+重命名

4.17 章

红色区域表示:包含有多少个文件使用了 相同的inode号,也就表明了这个目录下有几个子目录

因为任何一个目录下都有 “ . ” “ .. ” 这样的2个隐藏的子目录,所以 类型“d”(d是目录类型) 都是>的数字  

-i   查询 inode 号

用 -id 查询一下 audit  目录的  inode号 (d是目录的标识代码)

用 –i 查询一下audit  目录下的文件的   inode号

用 –ia 查一下  隐藏目录的  inode号

任何目录下都有一个点“.” 表示该目录本身, 俩个点“..” 表示该目录的上一层目录

cd  ..   打开上一层目录 , 所以  ..   表示上一层目录意思

"d" 表示目录类型 

- ” —— 属于“普通文件类型”,一般是很少有权限后面数字大于1的(大于1说明存在硬链接).

普通文件,如果 > 1  说明此 文件是包含硬链接的文件即有不止一个文件同时使用了同一个内存地址。

<硬链接>

         inode  就是格式化时候的区域地址“门牌号”,inode号一样,意味着这是同一个文件,相当于有多个名字都可以访问到同一硬件区域,多个门到达的是同一个房间 。

文件可以硬链接,目录 是 无法 主动 创建 硬链接的!

做硬链接的命令——  ln

格式:  ln   实际文件名   新链接文件名(同时创建这个文件,有同名时失败

        

         把1.txt文件做一个硬链接叫2.txt (相当于别名

做了硬链接以后可查到 1.txt 和2.txt 的inode是一样的

         硬链接记录的地址,只要有一个文件名保留着,就能找到这块区域inode。(就好像一个房间开了多个门,没做一个硬链接就是开了一个新的门,每个门都是能进到同一个房间)

        但是只是保存着这个地址,这个地址里面的东西如果跟着变动了,其他也会跟着变,因为原本指向就是同一个文件。

所以一般用来防止误删除。

硬链接 无法跨磁盘或者分区

取消硬链接直接删除就好

删除一个文件或者目录命令  —— rm

删除目录的时候需要加 –r

-f 是一个强制删除的选项

不加 –f 会有提示,你是否要删除? 要回复y才能删除

<软链接>

         ln  -s   实际文件    链接的新文件名

        同时创建这个新的链接文件名,已存有同名会创建失败

        没有命名新文件名则默认创建和源文件同名

        

        实际文件写在前面 , 链接的新文件名写在后面 ;

        

        软链接文件就是一个快捷方式,占用空间非常小。

        

软链接文件有个 “ l ” 的类型标志,然后文件名是亮蓝色, 并有 软链接符号  ->  指向实际文件的地址

软链接的优势在于可跨分区!

硬链接缺陷是无法跨磁盘或者分区,原因在于 不同硬盘格式化时存在有相同的inode号 

(实际)源文件名最好是 绝对路径!不然移动快捷方式后会使链接断裂,因为没有绝对路径默认会在快捷方式名的相对路径下寻找。

4.18章

mv 命令 —— 移动一个文件或者重命名一个文件(可以即移动又重命名)

例如:

mv   2.txt   3.txt   (把2.txt 重命名为3.txt)

mv   2.txt   /tmp/3.txt   (把2.txt移动到 /tmp/ 目录下并重命名为 3.txt)

软链接用的相对路径的话,直接移动后就 标红了,软链接的源文件名还会闪烁,因为找不到源文件了。

原因是如果用的 相对路径,只会在当前的目录下去寻找。

相对路径软链接 更加常用于 一个文件在一个文件夹下存在多个名字,被不同软件使用,但因为本质是同一份文件并不需要复制成多份文件。

比如 库文件夹 /lib64  内:

 

注意:

因此,在使用软链接的时候,一定要指定(左边)源文件绝对路径

这时候再移动到别的目录下也不会报错了!

软链接的作用:

         1  方便访问一个文件,可以给 同一文件起多个名字

         2  一个文件在 多个位置,可跨磁盘和分区都能访问到

         3  扩容 (常用)

            扩容举例:

        系统里有2个分区:/full    /abc   ,其中 /full/a.log  快写满 /full 了,为了/full 不被写满要把内容转移,此时看到/abc/还有很多空间,于是借用一下/abc/的空间。

        就需要命令:

        mv  /full/a.log    /abc/a.log   ; ln -s  /abc/a.log  /full/a.log   

        同一行的意义在于会立刻执行,不会间断日志的输入。        

        这样实际存储文件就变成了/abc/a.log  , 而原来的位置 /full/a.log 变为了软链接文件(快捷方式),软件依然可以找到 /full/a.log 这个位置写入日志,但实际文件是存到了/abc/a.log 上。

总结:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值