【ARM-Linux开发】Linux链接
链接有两种方式:硬链接和软链接。
(一)软链接
软链接又叫做符号链接。基本命令为:
- 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的内容都为空。
(二)硬链接
硬链接相当于是为一个存在的文件创建一个指针,基本命令为:
- 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链接的更多相关文章
- BeagleBoneBlack Linux开发相关链接收藏
ubuntu挂载vdi文件 官方linux代码地址 官方devicetree代码地址 [转]使用BBB的device tree和cape(重新整理版) iio: input: ti_am335x_ad ...
- 【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 ...
- 应聘linux/ARM嵌入式开发岗位
**************************************************************** 因为发在中华英才和智联招聘没有人采我所以我 在这里发布我的个人简历希望 ...
- Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核
Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核 标签(空格分隔): Qemu ARM Linux 在上文<Qemu搭建ARM vexpress开发环 ...
- 【DSP开发】【Linux开发】基于ARM+DSP进行应用开发
针对当前应用的复杂性,SOC芯片更好能能满足应用和媒体的需求,集成众多接口,用ARM做为应用处理器进行多样化的应用开发和用户界面和接口,利用DSP进行算法加速,特别是媒体的编解码算法加速,既能够保持算 ...
- 基于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 ...
- 嵌入式Linux开发教程:Linux常见命令(上篇)
摘要:这是对周立功编著的<嵌入式Linux开发教程>的第7期连载.本期刊载内容有关LinuxLinux常见命令中的导航命令.目录命令和文件命令.下一期将连载网络操作命令.安装卸载文件系统等 ...
- 嵌入式Linux开发系列之一: 走进嵌入式Linux的世界
转载:http://www.ibm.com/developerworks/cn/linux/l-embed/part1/index.html 随着信息化技术的发展和数字化产品的普及,以计算机技术. ...
- 嵌入式Linux开发
嵌入式Linux的开发和研究是Linux领域研究的一个热点,目前已开发成功的嵌入式系统有一半以上都是Linux.Linux到底有什么优势,使之取得如此辉煌的成绩呢?本文分为两大部分:Linux的优点. ...
- 【Linux开发】OpenCV在ARM-linux上的移植过程遇到的问题4---共享库中嵌套库带路径【已解决】
[Linux开发]OpenCV在ARM-linux上的移植过程遇到的问题4-共享库中嵌套库带路径[已解决] 标签:[Linux开发] 紧接着上一篇,我居然又尝试了一下编译opencv,主要是因为由于交 ...
随机推荐
- 第五章 Flask视图高级
add_url_rule和app.route原理剖析 add_url_rule add_url_rule(rule,endpoint=None,view_func=None) 这个方法用来添加url与 ...
- Jekyll添加FancyBox 插件
一.简要 这是之前在GitHub Page上面使用博客功能的完善,之前每次传到GitHub上面的图片在博客里面都是显示压缩后的,导致很多代码细节都看不清. Markdown 语法中的图片我们一般是如此 ...
- 009_linuxC++之_友元函数
(一)定义:友元函数是指某些虽然不是类成员却能够访问类的所有成员的函数.类授予它的友元特别的访问权.通常同一个开发者会出于技术和非技术的原因,控制类的友元和成员函数(否则当你想更新你的类时,还要征得其 ...
- 利用chrome console批量下载文件
因工作需要,需要定期从某页面下载多个文档,是体力活. 想用chrome扩展,找了几个不行.原因是: 1.有的扩展识别不了链接,因为链接是形如:jsp?XXX=XXX的形式 2.有的扩展能批量打开链接, ...
- springboot与springMVC的关系
- c++ 使用类生成随机数
// generate algorithm example #include <iostream> // cout #include <algorithm> // genera ...
- [题解] [BZOJ4144] 「AMPPZ2014」Petrol
题面 怎么是权限题啊 题解 有一次考过, 但是不记得了 如果每个点都是加油站的话, 这道题就是货车运输 考虑如何转化 我们可以设
- 表单事件集锦-input
最近在写一个手机端提交表单的项目,里面用了不少input标签,因为项目不太忙,所以,想做的完美点,但是遇到了一些问题,比如:页面中的必填项如果有至少一项为空,提交按钮就是不能提交的状态,所以需要对所有 ...
- debian、ubuntu安装metasploit通用方法
网上有很多方法让去github上下载安装,这方法的确可以但是特别慢,更新也特别慢,这里写下比较快的方法 1.添加kali源 vim /etc/apt/sources.list 在原有源的基础上添加国内 ...
- 蚁群算法求解TSP问题
一.蚁群算法简介 蚁群算法是对自然界蚂蚁的寻径方式进行模似而得出的一种仿生算法:蚂蚁在运动过程中,能够在它所经过的路径上留下信息素(pheromone)的物质进行信息传递,而且蚂蚁在运动过程中能够感知 ...