链接有两种方式:硬链接和软链接。

(一)软链接

软链接又叫做符号链接。基本命令为:

[plain] view
plain
 copy

  1. ln -s sourcePlace newPlace

软链接可以链接任何文件或者目录,还可以链接不同文件系统的文件或者目录。

软链接的特点:

1.要建立链接时,newPlace必须是存在的;而当sourcePlace不存在时建立的连接是一个空链接,相当于空指针。空链接文件也可以操作,而且如果对空链接进行操作,比如 emptyFile是空链接,进行vi emptyFile 输入一些字符后保存,那么系统会自动生成一个对应emptyFile的sourcePlace,空链接会变成一个软链接。

2.newPlace指向sourcePlace,当sourcePlace的内容改变时,newPlace的内容也会改变,反过来也是一样,当newPlace改变也会导致sourcePlace改变。

3.软链接类似于windows中的快捷方式,但在windows中,改变快捷方式,比如重命名快捷方式,不会导致源文件名字的改变。由于不清楚windows中的原理,所以不明白改变快捷方式的内容是否会引起源文件的改变。而软链接中,对newPlace的改变,是会导致sourcePlace同步改变的。

4.当删除newPlace 时,不会对sourcePlace产生影响。而删除sourcePlace时,newPlace会变成一个空链接,见第1条后半段。如果此时再创建一个与之前sourcePlace同名的文件,就会重新建立链接。但此时sourcePlace和newPlace的内容都为空。

(二)硬链接

硬链接相当于是为一个存在的文件创建一个指针,基本命令为:

[plain] view
plain
 copy

  1. ln sourceFile newFile

硬链接相对于软链接多了两个限制条件:1.不能为目录创建硬链接。我是这样理解的,不知道是否正确:硬链接相当于一个一级指针,而操作目录需要多级指针,就像多位数组或者动态存储区,但是我不明白为何软链接可以链接目录。2.只有同一个文件系统中的文件之间才能创建硬链接。

硬链接的特点:

1.sourceFile 和newFIle相互影响,同步执行。

2.建立硬链接后,sourceFile和newFile的链接数都为2,当删除sourceFile后,newFile的内容不受影响,但其链接数减少一,从链接文件变成一个普通文件。

(三)总结硬链接和软链接的相同和区别:

相同点:1.链接文件newPlace在建立链接前都必须为空。

2.sourcePlace和newPlace的修改都会影响对方。

不同点:1.软链接可以建立空链接,硬链接不行。

2.当删除sourcePlace后,软链接会失效,而硬链接只是newPlace的链接数减少;删除newPlace后,对软链接的sourcePlace不会有影响,而硬链接的sourcePlace的连接数也会减少。

【ARM-Linux开发】Linux链接的更多相关文章

  1. BeagleBoneBlack Linux开发相关链接收藏

    ubuntu挂载vdi文件 官方linux代码地址 官方devicetree代码地址 [转]使用BBB的device tree和cape(重新整理版) iio: input: ti_am335x_ad ...

  2. 【Qt开发】【VS开发】【Linux开发】OpenCV、Qt-MinGw、Qt-msvc、VS2010、VS2015、Ubuntu Linux、ARM Linux中几个特别容易混淆的内容

    [Qt开发][VS开发][Linux开发]OpenCV.Qt-MinGw.Qt-msvc.VS2010.VS2015.Ubuntu Linux.ARM Linux中几个特别容易混淆的内容 标签:[Qt ...

  3. 应聘linux/ARM嵌入式开发岗位

    **************************************************************** 因为发在中华英才和智联招聘没有人采我所以我 在这里发布我的个人简历希望 ...

  4. Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核

    Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核 标签(空格分隔): Qemu ARM Linux 在上文<Qemu搭建ARM vexpress开发环 ...

  5. 【DSP开发】【Linux开发】基于ARM+DSP进行应用开发

    针对当前应用的复杂性,SOC芯片更好能能满足应用和媒体的需求,集成众多接口,用ARM做为应用处理器进行多样化的应用开发和用户界面和接口,利用DSP进行算法加速,特别是媒体的编解码算法加速,既能够保持算 ...

  6. 基于QEMU的ARM Cortex-A9开发板Vexpress-ca9的Linux内核的编译和运行

    宿主机:Ubuntu16.04 x64(Linux内核4.4.0) 交叉编译工具链:gcc-arm-linux-gnueabiarm-linux-gcc:4.4.3QEMU:2.5.0Linux ke ...

  7. 嵌入式Linux开发教程:Linux常见命令(上篇)

    摘要:这是对周立功编著的<嵌入式Linux开发教程>的第7期连载.本期刊载内容有关LinuxLinux常见命令中的导航命令.目录命令和文件命令.下一期将连载网络操作命令.安装卸载文件系统等 ...

  8. 嵌入式Linux开发系列之一: 走进嵌入式Linux的世界

    转载:http://www.ibm.com/developerworks/cn/linux/l-embed/part1/index.html   随着信息化技术的发展和数字化产品的普及,以计算机技术. ...

  9. 嵌入式Linux开发

    嵌入式Linux的开发和研究是Linux领域研究的一个热点,目前已开发成功的嵌入式系统有一半以上都是Linux.Linux到底有什么优势,使之取得如此辉煌的成绩呢?本文分为两大部分:Linux的优点. ...

  10. 【Linux开发】OpenCV在ARM-linux上的移植过程遇到的问题4---共享库中嵌套库带路径【已解决】

    [Linux开发]OpenCV在ARM-linux上的移植过程遇到的问题4-共享库中嵌套库带路径[已解决] 标签:[Linux开发] 紧接着上一篇,我居然又尝试了一下编译opencv,主要是因为由于交 ...

随机推荐

  1. 使用eclipse open type对话框

    需要依赖jdt的相关插件(ui和core) 具体调用方法: Shell parent= JavaPlugin.getActiveWorkbenchShell(); OpenTypeSelectionD ...

  2. c语言学习、工作相关必备的常用网站

    1.https://zh.cppreference.com/,c.c++参考手册, 2.http://www.cplusplus.com/,在线查看c.c++函数的定义及用法 3.http://c-f ...

  3. PHP mysqli_commit() 函数

    关闭自动提交,做一些查询,然后提交查询: <?php // 假定数据库用户名:root,密码:123456,数据库:RUNOOB $con=mysqli_connect("localh ...

  4. ora-28002

    1.查看指定概要文件(如default)的密码有效期设置: SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_na ...

  5. java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK

    在pom.xml文件中添加如下依赖: <!-- https://mvnrepository.com/artifact/cn.easyproject/orai18n --> <depe ...

  6. python while for 语句

    while 语句: >>> x = >>> : ... x += ... print(x) ... for 语句: >>> words = ['a ...

  7. [Luogu] U18202 洞穴遇险

    https://www.luogu.org/problemnew/show/U18202 暴力搜索预期得分3030分左右. 状压预期得分7070分左右. 考虑费用流,将剩余不稳定度和最小转为消除不稳定 ...

  8. [USACO15DEC] 最大流Max Flow && Tarjan 线性 LCA 教学?

    题面 显然是树上差分模板题啦,不知道树上差分的童鞋可以去百度一下,很简单. 然后顺带学了一下 tarjan 的 O(N+Q) 离线求LCA的算法 (准确的说难道不应该带个并查集的复杂度吗???) 算法 ...

  9. GoEasy实现websocket 推送消息通知到客户端

    最近在实现一个推送功能,用户扫描二维码签到,后台及时将签到成功信息推送到浏览器端.排除了前端ajax轮询的方式,决定采用websocket及时推送. 于是发现了第三方websocket推送库GoEas ...

  10. Js中Array常用方法小结

    说起Array的方法,不免让人皱一下眉头,下面我们从增删改查角度依次来总结. 1.增 push: 将传入的参数 ,插入数组的尾部,并返回新数组的长度.不管传入参数为一个值还是一个数组,都作为插入数组的 ...