ln

ln命令用来为文件创件连接,连接类型分为硬连接和软连接(符号连接)两种,默认的连接类型是硬连接。如果要创建软连接必须使用"-s"选项。


硬链接

  建立硬链接时,在另外的目录或本目录中增加目标文件的一个目录项,这样,一个文件就登记在多个目录中。 创建硬链接后,己经存在的文件的1个I节点号(Inode)会被多个目录文件项使用。一个文件的硬链接数可以在目录的长列表格式(ls -l)的第二列中看到,无额外链接的文件的链接数为1。在默认情况下,ln命令创建硬链接。ln命令会增加链接数,rm命令会减少链接数。一个文件除非链接数为0,否则不会从文件系统中被物理地删除。

        注意:

  • 硬链接,以文件副本的形式存在。但不占用实际空间.
  • 不允许给目录创建硬链接.
  • 硬链接只有在同一个文件系统中才能创建.

软连接

  软连接又称为符号链接,是将一个路径名链接到一个文件。这些文件是一种特别类型的文件。事实上,它只是一个文本文件,其中包含它提供链接的另一个文件的路径名。另一个文件是实际包含所有数据的文件。所有读、写文件内容的命令被用于软链接时,将沿着链接方向前进来访问实际的文件。
  与硬链接不同的是,软链接确实是一个新文件,当然它具有不同的I节点号;而硬链接并没有建立新文件。 软连接没有硬链接的限制,可以对目录文件做软链接,也可以在不同文件系统之间做软链接。 用ln -s命令建立软链接时,源文件最好用绝对路径名。这样可以在任何工作目录下进行软链接。而当源文件用相对路径时,如果当前的工作路径与要创建的软链接文件所在路径不同,就不能进行链接。

注意:

  • 软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
  • 软链接可以 跨文件系统 ,硬链接不可以
  • 软链接可以对一个不存在的文件名进行链接
  • 软链接可以对目录进行链接
  • 删除源文件或目录,只删除了数据,不会删除链接。 
  • 一旦以同样文件名创建了源文件,链接将继续指向该文件的新数据。
  • 在目录长列表中,软链接作为一种特殊的文件类型显示出来,其第一个字母是l。
  • 软链接的大小是其链接文件的路径名中的字节数。
  • 软链接文件不是一个独立的文件,它的许多属性依赖于源文件,所以给软链接文件设置存取权限是没有意义的

语法

ln(选项)(参数)

选项

-b或--backup:删除,覆盖目标文件之前的备份;

-d或-F或——directory:建立目录的硬连接;

-f或——force:强行建立文件或目录的连接,不论文件或目录是否存在;

-i或——interactive:覆盖既有文件之前先询问用户;

-n或--no-dereference:把软连接的目的目录视为一般文件;

-s或——symbolic:对源文件建立软连接,而非硬连接;

-S<字尾备份字符串>或--suffix=<字尾备份字符串>:用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,预设的备份字符串是符号“~”,用户可通过“-S”参数来改变它;

-v或——verbose:显示指令执行过程;

-V<备份方式>或--version-control=<备份方式>:用“-b”参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这个字符串不仅可用“-S”参数变更,当使用“-V”参数<备份方式>指定不同备份方式时,
                        也会产生不同字尾的备份字符串; --help:在线帮助; --version:显示版本信息。

参数

源文件:指定连接的源文件。如果使用-s选项创建软连接,则“源文件”可以是文件或者目录。创建硬连接时,则“源文件”参数只能是文件;

目标文件:指定源文件的目标连接文件。

Linux:ln命令详解(软连接,硬链接)的更多相关文章

  1. Linux常用命令详解—基于CentOS7

    ## Linux 目录- /:根目录,一般只存放目录,不存放文件- /bin -> /usr/bin:可执行二进制文件的目录,也是常用命令目录,如常用的命令 ls.cat.mv 等- /boot ...

  2. ln命令:软链接与硬链接的区别与应用

    ln命令:软链接与硬链接的区别与应用 摘要 Linux系统中,链接是一个十分常见且实用的文件处理命令,它分为软链接和硬链接两种类型.软链接类似于Windows中的快捷方式,硬链接又有着与原文件保持同步 ...

  3. Linux常用命令详解下

    Linux常用命令详解 目录 一.Linux常用命令 1.1.查看及切换目录(pwd.cd.ls.du) 1.2.创建目录和文件(mkdir.touch.ln) 1.3.复制.删除.移动目录和文件(c ...

  4. 【初级】linux rm 命令详解及使用方法实战

    rm:删除命令 前言: windows中的删除命令大家都不陌生,linux中的删除命令和windows中有一个共同特点,那就是危险,前两篇linux mkdir 命令详解及使用方法实战[初级]中我们就 ...

  5. Linux netstat命令详解

    Linux netstat命令详解 一  简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多 ...

  6. Linux find命令详解

    转自Linux find命令详解 一.find 命令格式 1.find命令的一般形式为: find pathname -options [-print -exec -ok ...] 2.find命令的 ...

  7. linux lsof命令详解

    linux lsof命令详解 简介 lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访 ...

  8. linux netstat 命令详解

    linux netstat 命令详解 1.功能与说明 netstat 用于显示linux中各种网络相关信息.如网络链接 路由表  接口状态链接 多播成员等等. 2.参数含义介绍 -a (all)显示所 ...

  9. Linux curl 命令详解

    命令概要 该命令设计用于在没有用户交互的情况下工作. curl 是一个工具,用于传输来自服务器或者到服务器的数据.「向服务器传输数据或者获取来自服务器的数据」 可支持的协议有(DICT.FILE.FT ...

随机推荐

  1. Swoole学习(六)Swoole之定时器的创建与清除

    环境:Centos6.4,PHP环境:PHP7,Swoole2.1(在指定的时间后执行函数,需要1.7.7或更高版本) <?php //----------------------------- ...

  2. saltstack常用模块

    介绍一些常用的saltstack模块,更多模块参考官方网站 1.跟安装包相关的模块:salt.states.pkg salt.states.pkg.downloaded(name, version=N ...

  3. 20145328 《Java程序设计》第10周学习总结

    20145328 <Java程序设计>第10周学习总结 资料学习内容总结 网络编程 13.1 网络概述 网络编程技术是当前一种主流的编程技术,随着联网趋势的逐步增强以及网络应用程序的大量出 ...

  4. linux内核第二周

    chapter 1 知识点梳理 (一)计算机是如何工作的?(总结)——三个法宝 ①存储程序计算机工作模型,计算机系统最最基础性的逻辑结构: ②函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语 ...

  5. react-native中使用自定义的字体图标iconfont

    iconfont图标库下载 可在 http://www.iconfont.cn 下载 下载完成后的目录中有字体文件: iconfont.ttf 拷贝字体文件 Android: 在 Android/ap ...

  6. [BZOJ1058]报表统计

    Description 小Q的妈妈是一个出纳,经常需要做一些统计报表的工作.今天是妈妈的生日,小Q希望可以帮妈妈分担一些工 作,作为她的生日礼物之一.经过仔细观察,小Q发现统计一张报表实际上是维护一个 ...

  7. du df 磁盘命令

    du命令是检查硬盘使用情况,统计文件或目录及子目录使用硬盘的空间大小.参数的不同组合,可以更快的提高工作效率,以下仅列出了经常使用到的参数,如需更详细的信息,请用man du命令来获得.   说明 - ...

  8. integration asp.net web api with autofac and owin

    There is an example project showing Web API in conjunction with OWIN self hosting https://github.com ...

  9. MySQL 删除重复记录

    ==========A really easy way to do this is to add a UNIQUE index on the 3 columns. When you write the ...

  10. bzoj1879: [Sdoi2009]Bill的挑战(codevs2308)(luoguP2167) 状压dp

    唔...懒兔子来写博客了... 点我看题 这题的话...我想了很久但是都不是可行解 刚开始想预处理任意两个串是否可以匹配然后在乱搞,后来发现完全不会写... 然后按照惯例,我会看题解认真的思考... ...