Linux命令:软链接、硬链接

文章介绍了Linux中的软链接和硬链接概念,以及如何使用`ln`命令创建它们。软链接类似于Windows的快捷方式,而硬链接则使多个文件名指向同一数据块。当文件的硬链接数为0时,文件才会被删除。在特定场景下,如数据存储,硬链接能有效节省磁盘空间。
摘要由CSDN通过智能技术生成

目录

Linux软硬链接

软链接、硬链接

---------------------------------

====================

Linux软硬链接

ln = link make links between files

语法:

软链接

ln -s 源文件 链接名称

实例:

ln -s HelloWord.java hw.lnk   //给HelloWord.java创建了一个快捷方式,名字为hw.lnk

cat  hw.lnk  //软链接可用
rm -rf  HelloWorld.java
cat  hw.lnk  //软链接不可用

硬链接

ln -d  源文件  链接名称

实例:

ln -d  HW.java   hwa.lnk   //给HW.java创建了一个硬链接,名字为hwa.lnk

rm -rf  HW.java
cat  hwa.lnk  //硬链接正常使用

注:在 Linux 中,只有文件的 硬链接数 == 0 才会被删除。

参见:硬链接的好处,及与文件副本之间的区别

================================

【快速入门Linux】9_Linux命令—find、软链接、打包和压缩、软件安装

https://zhuanlan.zhihu.com/p/463255401

二、 软链接、硬链接

2.1 软链接

注意:

  • 没有 -s 选项建立的是一个 硬链接文件
    • 两个文件占用相同大小的硬盘空间,工作中几乎不会建立文件的硬链接
  • 源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用
 ###演练目标
 # 1. 将桌面目录下的 01.py 移动到 demo/b/c 目录下
 python@ubuntu:~$ cd Desktop/
 python@ubuntu:~/Desktop$ cat 01.py
 python@ubuntu:~/Desktop$ mv 01.py demo/b/c
 ​
 ​
 # 2. 在桌面目录下新建 01.py 的 软链接 FirstPython
 # 分别使用 相对路径 和 绝对路径 建立 FirstPython 的软链接
 #① 相对路径
 python@ubuntu:~/Desktop$ ln -s demo/b/c/01.py FirstPython
 python@ubuntu:~/Desktop$ ls -l
 总用量 24
 -rw-rw-r-- 1 python   python  237 9月  13 09:40 123.txt
 drwxrwxr-x 3 python   python 4096 9月  12 09:56 a
 -rw-rw-r-- 1 python   python    6 9月  13 11:10 a.txt
 drwxrwxr-x 3 python   python 4096 10月  2 10:37 demo
 -rw-rw-r-- 1 python   python  440 9月  13 11:21 f
 lrwxrwxrwx 1 python   python   14 10月  2 10:44 FirstPython -> demo/b/c/01.py
 drwxrwxr-x 2 zhangsan python 4096 9月  23 14:43 Python学习
 ​
 # ②绝对路径
 python@ubuntu:~/Desktop$ ln -s /home/python/Desktop/demo/b/c/01.py FirstPython2
 python@ubuntu:~/Desktop$ ls -l
 总用量 24
 -rw-rw-r-- 1 python   python  237 9月  13 09:40 123.txt
 drwxrwxr-x 3 python   python 4096 9月  12 09:56 a
 -rw-rw-r-- 1 python   python    6 9月  13 11:10 a.txt
 drwxrwxr-x 3 python   python 4096 10月  2 10:37 demo
 -rw-rw-r-- 1 python   python  440 9月  13 11:21 f
 lrwxrwxrwx 1 python   python   14 10月  2 10:44 FirstPython -> demo/b/c/01.py
 lrwxrwxrwx 1 python   python   35 10月  2 10:51 FirstPython2 -> /home/python/Desktop/demo/b/c/01.py
 drwxrwxr-x 2 zhangsan python 4096 9月  23 14:43 Python学习
 ​
 ​
 # 3. 将 FirstPython 移动到 demo 目录下,对比使用 相对路径 和 绝对路径 的区别
 python@ubuntu:~/Desktop$ mv First* demo
 python@ubuntu:~/Desktop$ tree
 ​
 python@ubuntu:~/Desktop$ cd demo/
 python@ubuntu:~/Desktop/demo$ cat FirstPython
 cat: FirstPython: 没有那个文件或目录
 python@ubuntu:~/Desktop/demo$ cat FirstPython2
 1111

2.2 硬链接简介(知道)

  • 在使用 ln 创建链接时,如果没有 -s 选项,会创建一个 硬链接,而不是软链接
 ### 硬链接演练
 # 1. 在 ~/Desktop/demo 目录下建立 ~/Desktop/demo/b/c/01.py 的硬链接 01_hard
 python@ubuntu:~/Desktop/demo$ ln /home/python/Desktop/demo/b/c/01.py 01_hard
 python@ubuntu:~/Desktop/demo$ ls -l
 ​
 ​
 #2. 使用 ls -l 查看文件的硬链接数(硬链接——有多少种方式可以访问文件或者目录)
 python@ubuntu:~/Desktop/demo$ ls -l
 python@ubuntu:~/Desktop/demo$ cat 01_hard
 ​
 ​
 #3. 删除 ~/Desktop/demo/b/c/01.py,并且使用 tree 来确认 demo 目录下的三个链接文件
 python@ubuntu:~/Desktop/demo$ rm b/c/01.py
 python@ubuntu:~/Desktop/demo$ tree
 ​
 #说明:硬链接
 python@ubuntu:~/Desktop/demo$ cat 01_hard  
 1111
 ​
 # 绝对路径
 python@ubuntu:~/Desktop/demo$ cat FirstPython2
 cat: FirstPython2: 没有那个文件或目录
 ​
 # 相对路径
 python@ubuntu:~/Desktop/demo$ cat FirstPython
 cat: FirstPython: 没有那个文件或目录

2.3 文件软硬链接的示意图

在 Linux 中, 文件名文件的数据 是分开存储的
  • 提示:
    • 在 Linux 中,只有文件的 硬链接数 == 0 才会被删除
    • 使用 ls -l 可以查看一个文件的硬链接的数量
    • 日常工作中,几乎不会建立文件的链接,知道即可  //对数据存储程序员来说,这句话有问题

硬链接的好处,及与文件副本之间的区别

对于数据存储服务器场景的应用,100个人都拥有 100GB的相同数据:

采用“文件副本”方式:则需要 10MGB的磁盘空间。

采用“硬链接”方式:则只需要 100GB +用来保存硬链接数的很少磁盘空间,即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值