• 【ARM-Linux开发】Linux链接 -ln


    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命令创建一个空文本文件

    image

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

    image

    3.再查看:

    image

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

    image

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

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

    image

    注: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的硬链接:

    image

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

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

    image

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

    image 

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

    image

    硬链接的两个限制:

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

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

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

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

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

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

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

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

  • 相关阅读:
    Linux下动态库(.so)和静态库(.a) 的区别
    CTS、CLS、CLR
    ASP.NET简介及网页基础知识
    ASP.NET MVC中ActionResult的不同返回方式
    ADO.NET中的数据库帮助类
    ASP.NET MVC 方法View返回的两种方式
    使用win10 IIS 发布局域网网站
    ASP.NET MVC 给Action的参数赋值的方式
    ASP.NET MVC简单流程解释(传值方式)
    ASP.NET MVC 简介(附VS2019和VSCode版示例)
  • 原文地址:https://www.cnblogs.com/huty/p/8517572.html
Copyright © 2020-2023  润新知