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

(一)软链接

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

[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. Java易混小知识——equals方法和==的区别

    一.equals方法和==的区别 1.equals是String对象的方法,可以通过".“调用. 2.== 是一个运算符. 二.常用的比较用法 1.基本数据类型比较. equals和==都比 ...

  2. 自己实现sizeof+大小端测试

    #define my_sizeof(type) ((char *)(&type+1)-(char*)(&type)) 同时大小端测试 如下 #include <stdio.h&g ...

  3. python大战EXCEL--xlwings

    xlwings的特色 xlwings能够非常方便的读写Excel文件中的数据,并且能够进行单元格格式的修改 可以和matplotlib以及pandas无缝连接 可以调用Excel文件中VBA写好的程序 ...

  4. mongodb中find $ne null 与$exists的区别

    $ne null 会把空列表也算入,即使不存在. $exists 的识别效果就比较好 1.插入样例数据 db.nullexistsdemo.insertMany( [{ "name" ...

  5. 2019HDU多校第六场 6641 TDL——乱搞&&思维题

    题意 设 $f(n, m)$ 为大于 $n$ 且与 $n$ 互质的数中第 $m$ 小的数,求满足 $(f(n, m) - n) \oplus n = k$ 的最小正整数 $n$ 分析 因为 $m \l ...

  6. Appium自动化测试教程-自学网-SDK

    SDK:软件开发工具包,被软件开发工程师用于特定的软件包.软件框架.硬件平台.操作系统等建立应用软件的开发工具的集合. 因此,Android SDK指的是Android专属的软件开发工具包. 1,安装 ...

  7. cursor: hand和cursor:pointer的区别

    cursor:hand 与 cursor:pointer 的效果是一样的,都像光标指向链接一样,光标变成手行. cursor:hand :IE完全支持.但是在firefox是不支持的,没有效果. cu ...

  8. 文件对比工具 Beyond Compare 4.2.9中文破解版for win 附通用注册码

    链接: https://pan.baidu.com/s/1yYxPo8nNv0PuOA1ZC9-F1w 提取码: v76g 注册码: --- BEGIN LICENSE KEY --- H1bJTd2 ...

  9. [题解] [Code+#1]Yazid 的新生舞会

    题面 题解 upd : \(cnt_i\) 代表值为 \(i\) 的个数 我们可以暴力枚举众数 \(k\) 把等于 \(k\) 的赋值成 1 , 不等于 \(k\) 的赋值成 -1 这样原序列就变成了 ...

  10. 使用ICEM绘制非结构网格时,如何提高网格质量?【转载】

    作者:杨淑娟 链接:https://www.zhihu.com/question/20851390/answer/26152732 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...