linux 下的使用 ln 创建 软链接 和 硬链接
linux 下的一个指令 ln
作用: 创建软链接或者硬链接
Linux 系统下每创建一个文件,系统都会为此文件生成一个 index node 简称(inode) ,而每一个文件都包含用户数据(user data) 与 元数据(metadata)
用户数据里记录了文件的真正内容.
元数据里记录的是文件的附加属性,如 文件大小,创建时间,所有者等,其中 上面提到的 index node 就保存在元数据中.在linux 中文件名并不是文件的唯一标识,index onde 才是唯一标示,系统查找文件也是通过 index node 来查找内容数据块.
如何查看文件的 index node:
➜ /Users/zhangzhi >ls -i
31615656 AndroidStudioProjects 30836545 go
1152719 Applications 49115578 images
31827389 CNode 13208576 ktsgs.zip
595399 Desktop 44722768 pandoc_demo
595275 Documents 49218456 pgadmin.log
595277 Downloads 15078624 pomelo
7094352 LevelTest 1009499 project
7098493 LevelTest.zip 1011801 qdb
595388 Library 5901898 qdb.zip
595439 Movies 23150187 test
595441 Music 1010768 tmp
595443 Pictures 17956310 trunk
595445 Public 17970255 trunk.zip
32072972 app 41999857 webwork
1009500 code 13208610 游戏配置
22509232 databak
我们看到的前面的数字序列就是 index node
如何理解呢,你可以想象成 windows 操作系统里的快捷键.对同一个文件的访问提供了多个入口.
指令:
ln [option] link_file source_file
(link_file是待建立链接文件的文件,source_file是新创建的链接文件)
-f 建立时,将同档案名删除.
-i 删除前进行询问.
示例:
ln -s myfile mylink 建立myfile 文件的软链接 mylink
ln myfile mylink 建立myfile 的硬链接 mylink
软链接
ln -s myfile mylink
软链接创建后,用户数据中存储的并不是文件本身的记录,而是一个指向 原文件路径的一个指针.但是它有自己的 index node 序列.
所以 ,软链接其实就是一个新的文件,但是这个文件很特殊,因为他的用户数据中放的不是文件内容,而是一个指向其他文件的指针.
软链接有下面几个特点:
多个软链接有多个不同的 index node
不仅可以对文件创建,还可以对目录创建软链接
软链接可以交叉文件系统
删除软链接 并不会影响原文件,但是原文件被删除,这个软链接就成了一个死链接.
硬链接
ln myfile mylink
硬链接创建后,用户数据中存储的是文件本身记录,其他他的用户数据和元数据都和 myfile 一样,唯一不同的是文件名.
所以硬链接就是同一个文件有了多个文件名, 但是多个文件名都指向了 同一个 index node
这样看来,硬链接就是有多个别名的同一个文件.
硬链接有下面几个特别:
出自:linux 下的使用 ln 创建 软链接连接 和 硬链接
他们有相同的 index node
有相同的数据记录
只能在已经存在文件上创建 硬链接
删除其中任何一个,其他硬链接不受影响.
只能对文件做硬链接
- ssh-agent 与 ssh 的区别
- ENV定制开发,测试,发布环境变量
- linux内核 rename 命令批量修改名称
- linux 下 wget命令使用帮助
- linux 系统为啥喜欢用~代表Home目录
linux 下的使用 ln 创建 软链接 和 硬链接的更多相关文章
- Windows和Linux创建软链接和硬链接
1.Wondows创建软链接和硬链接 mklink [/d] [/h] link target /d--创建目录软链接:默认为文件软链接:创建目录链接时必须使用该选项不然创出的软链接无效 /h--创建 ...
- linux命令大全之ln命令详解(创建软链接和硬链接)
ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接,分为软链接.硬链接.软链接相当于windows的快捷方式,下面是使用方法和示例 ln是linux中又一 ...
- linux 创建软链接和硬链接
Linux 系统中有软链接和硬链接两种特殊的“文件”. 软链接可以看作是Windows中的快捷方式,可以让你快速链接到目标档案或目录. 硬链接则透过文件系统的inode来产生新档名,而不是产生新档案. ...
- Linux学习(一):软链接和硬链接
今天起,决定开始自学Linux命令及Shell脚本,并用Linux学习(命令行,Shell及其他知识点)这一系列记录下自己的心路历程,内容不分先后,只记录自己觉得有必要的,简单的就不记了! 第一个知识 ...
- Linux上ln命令详细说明及软链接和硬链接的区别
硬链接(hard link) UNIX文件系统提供了一种将不同文件链接至同一个文件的机制,我们称这种机制为链接.它可以使得单个程序对同一文件使用不同的名字.这样的好处是文件系 统只存在一个文件的副本, ...
- Linux 软链接和硬链接的理解与学习
理解前提: 首先要知道 Linux任意一个文件包含2个信息:第一个信息就是文件本身存的内容,第二个信息是文件的控制信息(读写,路径,大小等等),这2个信息是分开存储的,明白这点非常重要 理解总结: L ...
- Linux 软链接和硬链接
系统链接文件 文件有文件名和数据,在Linux上被分成两个部分:用户数据(user data)与元数据(metadata) 用户数据:文件数据块(data block),数据块是记录文件真实内容的地方 ...
- 描述Linux下软链接和硬链接的区别(计时2分钟)
在linux系统中,链接分两种 :一种被称为硬链接(Hard Link),另一种被称为符号链接或软链接(Symbolic Link). 1)默认不带参数情况下,ln命令创建的是硬链接. 2)硬链接文件 ...
- Linux下通过受限bash创建指定权限的账号
在日常业务运维中,有时为了配合解决问题,需要给非运维人员开通系统账号,用于查询日志或代码.通常为了系统安全或避免不必要的误操作等目的,会将账号权限降至最低.下面介绍下在Linux下通过受限bash创建 ...
随机推荐
- Unity3D 新人学习的一点感想
想到那里写到那里吧 1.Unity3D的优点大家都知道:组件化.c#语言.可见即所得. 当初刚开始学习的是cocos2dx,c++的货,觉得还是写的不错的,也是国人开发的,真的代码很容易懂,直接看引擎 ...
- 【Unity Shaders】学习笔记——SurfaceShader(九)Cubemap
[Unity Shaders]学习笔记——SurfaceShader(九)Cubemap 如果你想从零开始学习Unity Shader,那么你可以看看本系列的文章入门,你只需要稍微有点编程的概念就可以 ...
- break 和 continue
break 和 continue 相同点: 都 用在循环体内,如 switch.for.while.do while的程序块中,用于控制程序循环语句的执行 不同点: break可以离开当前switch ...
- php接口post提交方法 。
方法一,用 file_get_contents function send_post($url, $post_data) { //$postdata = http_build_query($post_ ...
- Leetcode028. Implement strStr()
class Solution { public: int strStr(string haystack, string needle) { ; //needle empty ; //haystack ...
- tech
流式计算框架storm.spark.genfire.esper(CEP)
- 纯CSS气泡框实现方法探究
气泡框(或者提示框)是网页中一种很常见的元素,大多用来展示提示信息,如下图所示: 拆分来看,形如这种气泡框无外乎就是一个矩形框+一个指示方向的三角形小箭头,要制作出这样的气泡框,如果解决了三角形小箭头 ...
- 在PHP应用中简化OAuth2.0身份验证集成:OAuth 2.0 Client
在PHP应用中简化OAuth2.0身份验证集成:OAuth 2.0 Client 阅读目录 验证代码流程 Refreshing a Token Built-In Providers 这个包能够让你 ...
- AJAX验证用户是否存在
<html> <head> <title> ajax验证 </title> </head> <body> <input t ...
- Android IOS WebRTC 音视频开发总结(三一)-- 自定义传输实现一对多
本文主要介绍基于Webrtc的多人视频会议的简单实现,文章来自博客园RTC.Blacker,支持原创,转载请说明出处. 前面提到基于开源框架的视频会议都存在诸多问题,所以我们通过重写WEBRTC传输模 ...