从命令行管理文件——命名规则,硬连接

1. 文件命名规则:
不能使用 / 来当文件名, / 是用来做根的,也是用来做路径分隔符的
文件名不能超过 255 个字符
区分大小写 file File FILE fIle root Root ROOT rOOt ROOT
目录也是文件,在同一路径下,两个不同类型文件不能同名
2. 硬连接
linux 系统中硬盘文件存储原理
硬连接
1. 原理
linux 系统中允许多个文件指向同一个 inode ,即允许一个文件拥有多个有效的路径名和文件名
理解:硬连接就是指向原始文件的 inode 指针
2. 查看方法:
1.
ls -l 文件名 或者 ll 文件名
2.
stat 文件名
3.建立硬连接
格式
ln - 参数 源文件 目标文件
例如:
[root@server ~] # touch temp1 # 新建文件
[root@server ~] # stat temp1 # 查看硬连接数
文件: temp1
大小: 0 块: 0 IO 块: 4096 普通空文件
设备: fd00h/64768d Inode 9252678 硬链接: 1 # 注意
权限: (0644/-rw-r--r--) Uid ( 0 / root) Gid ( 0 / root)
环境: unconfined_u:object_r:admin_home_t:s0
最近访问: 2024-06-26  20 :12:25.590646655 + 0800
最近更改: 2024-06-26  20 :12:25.590646655 + 0800
最近改动: 2024-06-26  20 :12:25.590646655 + 0800
创建时间: 2024-06-26  20 :12:25.590646655 + 0800
[root@server ~] # ln temp1 temp2 # 新建硬连接, temp2 指向 temp1 所对应的数据
[root@server ~] # stat temp1
文件: temp1
大小: 0 块: 0 IO 块: 4096 普通空文件
设备: fd00h/64768d Inode 9252678 硬链接: 2
权限: (0644/-rw-r--r--) Uid ( 0 / root) Gid ( 0 / root)
环境: unconfined_u:object_r:admin_home_t:s0
最近访问: 2024-06-26  20 :12:25.590646655 + 0800
最近更改: 2024-06-26  20 :12:25.590646655 + 0800
最近改动: 2024-06-26  20 :13:12.586641253 + 0800
创建时间: 2024-06-26  20 :12:25.590646655 + 0800
[root@server ~] # echo "china" > temp1
[root@server ~] # cat temp1
china
[root@server ~] # cat temp2
china
4. 注意
硬连接建立后,删除源文件数据依然可以访问,只有硬连接为 0 时则数据无法访问
[root@server ~] # touch n1.txt # 新建文件
[root@server ~] # echo "hello" > n1.txt # 输入内容
[root@server ~] # cat n1.txt # 查看内容
hello
[root@server ~] # stat n1.txt # 查看硬连接
文件: n1.txt
大小: 6 块: 8 IO 块: 4096 普通文件
设备: fd00h/64768d Inode 9252679 硬链接: 1 # 注意
权限: (0644/-rw-r--r--) Uid ( 0 / root) Gid ( 0 / root)
环境: unconfined_u:object_r:admin_home_t:s0
最近访问: 2024-06-26  20 :17:19.741612856 + 0800
最近更改: 2024-06-26  20 :17:14.272613480 + 0800
最近改动: 2024-06-26  20 :17:14.272613480 + 0800
创建时间: 2024-06-26  20 :17:06.440614379 + 0800
[root@server ~] # ln n1.txt n2.txt # 新建硬连接
[root@server ~] # stat n1.txt
文件: n1.txt
大小: 6 块: 8 IO 块: 4096 普通文件
设备: fd00h/64768d Inode 9252679 硬链接: 2 # 注意
权限: (0644/-rw-r--r--) Uid ( 0 / root) Gid ( 0 / root)
环境: unconfined_u:object_r:admin_home_t:s0
最近访问: 2024-06-26  20 :17:19.741612856 + 0800
最近更改: 2024-06-26  20 :17:14.272613480 + 0800
最近改动: 2024-06-26  20 :17:36.499610930 + 0800
创建时间: 2024-06-26  20 :17:06.440614379 + 0800
[root@server ~] # rm -f n1.txt # 删除一个连接
[root@server ~] # cat n2.txt # 可以同一另一个连接访问数据
hello
[root@server ~] # rm -f n2.txt
硬连接不能给目录建立
[root@server ~] # mkdir mk1
[root@server ~] # stat mk1
文件: mk1
大小: 6 块: 0 IO 块: 4096 目录
设备: fd00h/64768d Inode 1653798 硬链接: 2 # 注意
权限: (0755/drwxr-xr-x) Uid ( 0 / root) Gid ( 0 / root)
环境: unconfined_u:object_r:admin_home_t:s0
最近访问: 2024-06-26  20 :21:43.394534855 + 0800
最近更改: 2024-06-26  20 :21:43.394534855 + 0800
最近改动: 2024-06-26  20 :21:43.394534855 + 0800
创建时间: 2024-06-26  20 :21:43.394534855 + 0800
[root@server ~] # ln mk1 mk2
ln : mk1: 不允许将硬链接指向目录
目录自带 2 个硬连接,即目录中的 ". 和 目录名本身 "
[root@server mk1] # ls -a
. ..
[root@server mk1] # stat .
文件: .
大小: 6 块: 0 IO 块: 4096 目录
设备: fd00h/64768d Inode 1653798 硬链接: 2
权限: (0755/drwxr-xr-x) Uid ( 0 / root) Gid ( 0 / root)
环境: unconfined_u:object_r:admin_home_t:s0
最近访问: 2024-06-26  20 :23:02.700476446 + 0800
最近更改: 2024-06-26  20 :21:43.394534855 + 0800
最近改动: 2024-06-26  20 :21:43.394534855 + 0800
创建时间: 2024-06-26  20 :21:43.394534855 + 0800
不可以在不同的文件系统中建立硬连接,由于 inode 是当前文件所在本文件系统的索引值即只能在本分区
使用,则硬连接不能跨越文件系统
用途:硬连接一般用于数据的备份
  • 19
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值