ln 硬链接与软链接
1. 命令功能
ln 可以看做是link的简写,功能是创建链接文件,链接文件包括硬链接(hard link)和软链接(符号链接,symbolic link)
2. 语法格式
ln [option] source target
ln 选项 源文件或目录 目标文件或目录
|
参数 |
参数说明 |
|
无选项 |
创建硬链接 |
|
-s |
创建软链接(符号链接) |
目录没有硬链接,只有软链接。
3. 硬软链接文件知识
1. 硬链接
硬链接文件创建方式:ln 源文件 目标文件
每个文件都有一个inode(索引)节点,这个inode就是指向文件在磁盘中具体存放的位置编号。创建硬链接,就是在创建一个文件名,这个文件名指向同一个inode索引,相当于给文件的另一个入口。例如到一个房子开始只有一个门能进入,现在又开了另一个门当做出口。这样做的好处,例如备份文件,删除源文件,只是把源文件名删除了,还可以通过硬链接文件访问这个文件,放置误删除。
硬链接的特性:
- 具有相同inode节点的多个文件互为硬链接。
- 删除源文件或硬链接文件其中之一,文件实体没有被删除。
- 只有删除源文件及全部硬链接文件后,文件实体才会被删除。
- 可以给文件设置硬链接,来防止重要文件被误删。
- 硬链接可以用rm命令删除。
- ls –lih 查看第三列,即硬链接数。
- 对于静态文件(文件没有被调用),当对应的硬链接数为0时,文件就会被删除
实例:创建硬链接
[root@localhost DIR]# ln 123 abc
[root@localhost DIR]# ls -l
total 0
-rw-r--r--. 2 root root 0 Mar 13 23:21 123
-rw-r--r--. 2 root root 0 Mar 13 23:21 abc #abc是123的硬链接文件
[root@localhost DIR]# ls –lih
total 0
786446 -rw-r--r--. 2 root root 0 Mar 13 23:21 123 #inode号相同;2 表示有硬链接数:3
786446 -rw-r--r--. 2 root root 0 Mar 13 23:21 abc
[root@localhost DIR]# ln 123 def
[root@localhost DIR]# ls -lih
total 0
786446 -rw-r--r--. 3 root root 0 Mar 13 23:21 123 # 硬链接数有3
786446 -rw-r--r--. 3 root root 0 Mar 13 23:21 abc
786446 -rw-r--r--. 3 root root 0 Mar 13 23:21 def
[root@localhost DIR]# ls -lih 123
786446 -rw-r--r--. 3 root root 0 Mar 13 23:21 123
2. 软链接
软链接(符号链接),类似windows中的快捷方式。
软链接创建方式:ln –s 源文件 目标文件
[root@localhost home]# ls -l test.txt
-rw-r--r--. 1 root root 27 Mar 14 22:45 test.txt
[root@localhost home]# ln -s test.txt test.txt_link #创建软链接
[root@localhost home]# ls -l test.txt test.txt_link
-rw-r--r--. 1 root root 27 Mar 14 22:45 test.txt
lrwxrwxrwx. 1 root root 8 Mar 14 22:45 test.txt_link -> test.txt #l:软链接标识符
软链接文件和源文件的inode号不一样,链接数也不一样
[root@localhost home]# ls -lih test.txt test.txt_link
786434 -rw-r--r--. 1 root root 27 Mar 14 22:45 test.txt
786448 lrwxrwxrwx. 1 root root 8 Mar 14 22:45 test.txt_link -> test.txt
ln 硬链接与软链接的更多相关文章
- Linux ln命令:在文件之间建立链接(硬链接和软链接)详解版1
Linux ln命令:在文件之间建立链接(硬链接和软链接)详解版 < Linux创建文件及修改文件时间戳(touch命令)Linux复制文件和目录(cp命令) > <Linux就该这 ...
- Linux系统硬链接和软链接介绍
1.链接的概念 在Linux系统中链接分为硬链接和软连接两种,一种为硬链接,另一种为软连接或符号链接(symbolic Link).ln命令就是创建链接文件的,在默认不带参数的情况下,执行ln命令创建 ...
- 实例讲解Linux系统中硬链接与软链接的创建
导读 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接.硬链接与软链接的区别从根本上要从Inode节点说 ...
- 转:理解 Linux 的硬链接与软链接
Linux 的文件与目录 现代操作系统为解决信息能独立于进程之外被长期存储引入了文件,文件作为进程 创建信息的逻辑单元可被多个进程并发使用.在 UNIX 系统中,操作系统为磁盘上的文本与图像.鼠标与键 ...
- Linux文件系统中硬链接和软链接的区别 (转)
建立硬链接命令:ln src-link dest-link建立软链接:ln -s src-link dest-link 1. 硬链接是别名,软链接是快捷方式 2. 硬链接和源链接指向同一个i节 ...
- 理解 Linux 的硬链接与软链接
Linux 的文件与目录 现代操作系统为解决信息能独立于进程之外被长期存储引入了文件,文件作为进程创建信息的逻辑单元可被多个进程并发使用.在 UNIX 系统中,操作系统为磁盘上的文本与图像.鼠标与键盘 ...
- 理解 Linux 的硬链接与软链接【转】
转自:https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html 从 inode 了解 Linux 文件 ...
- 【Linux】Linux系统硬链接和软链接
在linux系统中有种文件是链接文件,可以为解决文件的共享使用.链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link). 查看lin ...
- Linux下硬链接与软链接
linux下的链接文件,尤其是软链接使用非常的频繁: 链分为硬链接(hard link)与软链接(symbolic link) 两种:关键在于inode: 硬链接: 当系统需要读取一个文件时,就会去读 ...
随机推荐
- 「LibreOJ β Round #2」计算几何瞎暴力
https://loj.ac/problem/517 题解 首先我们如果没有排序这个骚操作的话,可以直接记一下各个数位的前缀和,然后异或标记给全局打,查询的时候先把区间信息提取出来然后整体异或就好了. ...
- leetcode-mid-Linked list- 116. Populating Next Right Pointers in Each Node
mycode 93.97% """ # Definition for a Node. class Node(object): def __init__(self, v ...
- 【转】一个 Vim 重度用户总结的 vim 超全指南
[转]一个 Vim 重度用户总结的 vim 超全指南 我本人是 Vim 的重度使用者,就因为喜欢上这种双手不离键盘就可以操控一切的feel,Vim 可以让我对文本的操作更加精准.高效. 对于未使用过 ...
- java开发客户端发送请求到服务器端出现这样:JSON parse error: Unexpected character ('}' (code 125)): was expecting
org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unexpected cha ...
- day50—JavaScript鼠标拖拽事件
转行学开发,代码100天——2018-05-05 今天通过鼠标拖拽事件复习巩固一下鼠标事件. 鼠标拖拽事件需要记住两点: 1.距离不变 2.鼠标事件(按下,移动,抬起) <div id=&quo ...
- stack() unstack()函数
总结: 1.stack: 将数据的列索引转换为行索引 2.unstack:将数据的行索引转换为列索引 3.stack和unstack默认操作为最内层,可以用level参数指定操作层. 4.stack ...
- 微信小程序 scroll-View 动态定位之scroll-into-view
- Java 之 回调方法
打个比方,我们点外卖都有到达提醒的服务,顾客自己选择提醒的方式.可以是电话提醒.短信提醒.也可以敲门提醒,这里,“提醒”这个行为是美团或饿了么这样的平台提供的,相当于库函数,但是提醒的方式是由顾客决定 ...
- 多线程06-Lock
; i < ; i++) { c.Increment(); c.Decrement(); ...
- MySQL 中 limit 的使用
需要注意的是,在Oracle中不使用limit,Oracle 使用rownum select no,name from emp limit 5 取前5条记录, select no,name from ...