ln命令是Linux中的一个非常重要的命令,它为一个文件在另一位置创建同步链接,有两种:符号链接和硬链接。

【ln命令详解】ln [options] source dist

常用参数:

-f : 链接时先将与 dist 同名的文件删除 

-d : 允许系统管理者硬链结自己的目录 

-i : 在删除与 dist 同名的文件时先进行询问 

-n : 在进行软链接时,将 dist 视为一般的文件 

-s : 进行软链接(symbolic link) 

-v : 在连结之前显示其档名 

-b : 将在链结时会被覆写或删除的档案进行备份

一.符号链接(symbolic link):

只是在某一位置上对指定文件的一个镜像,是该文件的位置信息,会保持链接的同步性,可在不同的文件系统之间进行符号链接

1.先创建一个文本文件1.txt:touch命令创建一个空文本文件

2.创建1.txt的符号链接(软链接):

3.再查看:

该目录下多了2.txt而且是粗体。

这里看2.txt和1.txt的权限,以及大小。这时1.txt是空文本,而2.txt是有内容的

4.向1.txt中随便写入内容再查看:

注:1.txt与2.txt的inode号不同,因为2.txt是1.txt的符号链接,是1.txt的引用,2.txt中保存1.txt的位置信息,所以当1.txt为空时,2.txt仍有5个字节的大小,且当1.txt中由内容时,2.txt大小并不变。

linux系统通过inode来检索标识文件

2.txt文件类型是:符号链接文件,权限为:对所有用户都有读,写和执行的权限。

二.硬链接(hard link):

1.创建到1.txt到3.txt的硬链接:

注:1.txt与3.txt的inode相同,与符号链接不同。而且1.txt与3.txt大小文件权限属性相同,说明3.txt是1.txt的另一个名称(存在)。

2.readlink查看链接的目标文件:

3.改变2.txt为3.txt的链接文件:

创建到3.txt的符号链接2.txt,若该目录下有文件2.txt则覆盖

硬链接的两个限制:

1.不能创建到目录的硬链接

2.只有在同一个文件系统的文件之间才能创建硬链接

也可以对多个文件创建链接到某一目录:

ln -[f|n] [s] file1 dir1/file2 dir;会在dir目录下创建file1,file2两个链接文件

-f:若dir中已存在文件file1或file2,则会覆盖已存在文件,替换为要创建的文件

-n:若已存在目标路径,则系统报错,不会创建链接

三.链接产生的原因或链接存在的作用:

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。而且在任何一个目录下改变该文件,都会在同步到其他目录下。

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

  1. Linux 软链接 硬链接 ln命令(繁杂版)

    注意:创建软连接的时候,要用绝对路径!!! 这是linux中一个非常重要命令,请大家一定要熟悉.它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln - ...

  2. Linux 软链接 硬链接 ln命令(简约说明版)

    注意:路径使用绝对路径!! 解决方法: 当我们需要在不同的目录下用到同一个文件时,会用到以下命令. 命令:ln 作用:为某一个文件在另外一个位置建立一个同步的链接 语法:ln [option] 源文件 ...

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

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

  4. linux 下的使用 ln 创建 软链接 和 硬链接

    linux 下的一个指令 ln 作用: 创建软链接或者硬链接 Linux 系统下每创建一个文件,系统都会为此文件生成一个 index node 简称(inode) ,而每一个文件都包含用户数据(use ...

  5. 【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 ...

  6. linux命令大全之ln命令详解(创建软链接和硬链接)

    ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接,分为软链接.硬链接.软链接相当于windows的快捷方式,下面是使用方法和示例   ln是linux中又一 ...

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

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

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

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

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

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

  10. 基于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 ...

随机推荐

  1. python numpy的基本操作

    站长资讯平台:文章目录0.NumPy 与 ndarry1.数组属性查看:类型.尺寸.形状.维度2.numpy元素中数据存储方式,数据类型,类型转换2.1 查看元素数据存储类型2.2 元素数据存储类型转 ...

  2. BER

    BER全称Bit Error Ratio,比特出错概率,是衡量通信系统性能的最根本指标. 采用纠错编码,只要纠前BER小于某个门限值(BER容限点),纠错编码后就能实现纠后误码率为零的传输. 一般情况 ...

  3. DbVisualizer用JDBC连接SQL Server

    1.安装驱动,解压后得到jar文件 Drivers 4.1 and 4.0 for SQL Serve http://www.microsoft.com/en-us/download/confirma ...

  4. Python常用知识

    基础模板(sys.os) http://c.biancheng.net/view/2407.html cmd中查看第三方库 eg:import aiohttp help(aiohttp) 或者dir( ...

  5. leetcode解题报告(2):Remove Duplicates from Sorted ArrayII

    描述 Follow up for "Remove Duplicates": What if duplicates are allowed at most twice? For ex ...

  6. LibreOJ #113. 最大异或和

    二次联通门 : LibreOJ #113. 最大异或和 /* LibreOJ #113. 最大异或和 线性基 插入 与 查询最大值 说一下我在学习线性基时遇到的一些问题 1.线性基指的是一个数集 2. ...

  7. 安装包设计-------卸载(MFC)---------知识总结

    1.删除目录及其下所有文件 bool MyDeleteFile(CString Path) { // SHFILEOPSTRUCT FileOp={0}; // FileOp.fFlags = FOF ...

  8. 【概率论】3-2:连续分布(Continuous Distributions)

    title: [概率论]3-2:连续分布(Continuous Distributions) categories: Mathematic Probability keywords: Continuo ...

  9. 【概率论】1-3:组合(Combinatorial Methods)

    title: [概率论]1-3:组合(Combinatorial Methods) categories: Mathematic Probability keywords: Combination 组 ...

  10. 利用前端三大件(html+css+js)开发一个简单的“todolist”项目

    一.介绍 todolist,即待办事项.在windows android ios上参考微软家出的那个To-Do应用,大概就是那样的.我这个更简单,功能只有“待办” “已完成”两项,并且是在浏览器打开的 ...