Linux ln命令具体解释及使用



ln是linux中一个很重要命令,它的功能是为某一个文件在另外一个位置建立一个不同的链接,这个命令最经常使用的參数是-s,详细使用方法是:ln –s 源文件 目标文件。

1.  ln命令概述



当我们须要在不同的文件夹,用到同样的文件时,我们不须要在每个须要的文件夹下都放一个必须同样的文件,我们仅仅要在某个固定的文件夹,放上该文件,然后在其他的文件夹下用ln命令链接(link)它就能够,不必反复的占用磁盘空间。比如:ln–s /bin/less /usr/local/bin/less

这一点类似于Windows下的快捷方式,但又有所不同。

  -s 是代号(symbolic)的意思。

  这里有两点要注意:

第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你修改了哪一处,其他的文件都会发生同样的变化;

第二,ln的链接分软链接和硬链接两种,软链接就是ln–s ** **,它仅仅会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln** **,没有參数-s, 它会在你选定的位置上生成一个和源文件大小同样的文件,不管是软链接还是硬链接,文件都保持同步变化。

假设用ls察看一个文件夹时,发现有的文件后面有一个@的符号且文件或文件夹的颜色和别的不一样,我机子上是蓝色的,那就是一个用ln命令生成的文件,用ls –l命令去察看,就能够看到显示的link的路径了。

也能够直接使用ll命令查看,可看到软连接及其link的路径。

2.  ln命令具体说明

  指令名称 : ln

  使用权限 : 全部使用者

使用方式 : ln [options]  source  dist

当中 option 的格式为 :

  [-bdfinsvF] [-S backup-suffix] [-V{numbered,existing,simple}]

  [--help] [--version] [--]

  说明 : Linux/Unix 档案系统中,有所谓的连结(link),我们能够将其视为档案的别名,而连结又可分为两种: 硬连结(hardlink)与软连结(symboliclink),硬连结的意思是一个档案能够有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向还有一个档案的位置。硬连结是存在同一个档 案系统中,而软连结却能够跨越不同的档案系统。

  ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由參数决定。

  不论是硬连结或软链结都不会将原本的档案复制一份,仅仅会占用很少量的磁碟空间。

-f:  链结时先将与dist同档名的档案删除

-d:同意系统管理者硬链结自己的文件夹

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

-n:在进行软连结时,将dist视为一般的档案

-s:进行软链结(symboliclink)

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

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

-SSUFFIX :将备份的档案都加上
SUFFIX的字尾

-VMETHOD :指定备份的方式

--help:显示辅助说明

--version:显示版本号

  演示样例:

#将档案 xyy产生一个 symbolic link : zyy
ln -s xyy zyy #将文件xyy产生一个 hard link : zyy
lnxyy zyy ln-s abc cde #建立abc 的软连接
lnabc cde #建立abc的硬连接

PS:假设想要删除链接,则像普通文件一样直接rm链接名称就可以。

3. 软链接与硬链接的差别

硬链接可觉得是一个文件拥有两个文件名称;而软链接则是系统新建一个链接文件,此文件指向其所要指的文件。此外,软链接可对文件和目录,而硬链接仅针对文件。

对于一个文件来说,有唯一的索引接点与之相应,而对于一个索引接点号,却能够有多个文件名称与之相应。因此,在磁盘上的同一个文件能够通过不同的路径去訪问该文件。注意在Linux下是一切皆文件,目录、新加的硬盘
...都能够看着文件来处理的。

连接有软连接和硬连接(hard link)之分的,软连接(symbolic link)又叫符号连接。符号连接相当于Windows下的快捷方式。

不能够对目录建立硬连接的,我们通经常使用的还是软连接比較多。

演示样例:

ln -s source dist        #建立软连接

ln source dist           #建立硬连接

软链接实际上仅仅是一段文字,里面包括着它所指向的文件的名字,系统看到软链接后自己主动跳到相应的文件位置处进行处理;相反,硬联接为文件开设一个新的文件夹项,硬链接与文件原有的名字是平权的,在Linux看来它们是等价的。因为这个原因,硬链接不能连接两个不同文件系统上的文件。

(1)软连接能够跨文件系统,硬连接不能够。实践的方法就是用共享文件把windows下的aa.txt文本文档连接到linux下/root文件夹下bb,cc
. ln -saa.txt /root/bb 连接成功。ln aa.txt/root/bb失败。

(2)关于 I节点的问题。硬连接无论有多少个,都指向的是同一个I节点,会把结点连接数添加,仅仅要结点的连接数不是
0,文件就一直存在,无论你删除的是源文件还是连接的文件。仅仅要有一个存在,文件就存在(事实上也不分什么源文件连接文件的,由于他们指向都是同一个
I节点)。当你改动源文件或者连接文件不论什么一个的时候,其它的文件都会做同步的改动。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,可是删除源文件,连接文件就会找不到要指向的文件。软链接有自己的inode,并在磁盘上有一小片空间存放路径名.

(3)软连接能够对一个不存在的文件名称进行连接。

(4)软连接能够对文件夹进行连接。

(5) 删除符号链接,有创建就有删除

	rm -rf  symbolic_name  

       注意不是rm -rf   symbolic_name/

Linux ln命令具体解释及使用的更多相关文章

  1. Linux ln命令:在文件之间建立链接(硬链接和软链接)详解版1

    Linux ln命令:在文件之间建立链接(硬链接和软链接)详解版 < Linux创建文件及修改文件时间戳(touch命令)Linux复制文件和目录(cp命令) > <Linux就该这 ...

  2. Linux ln命令 - 建立文件/目录链接

    转自Linux ln命令 - 建立文件/目录链接 1. 使用方式:ln [option] source_file dist_file                     -f 建立时,将同档案名删 ...

  3. linux ln 命令(转载)

    ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件. 当我们需要在不同的目录,用到相同的 ...

  4. linux ln 命令使用参数详解(ln -s 软链接)

    ln是linux中一个非常重要的命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在 ...

  5. linux ln 命令使用参数详解(ln -s 软链接)(转)

    这是linux中一个非常重要命令,请大家一定要熟悉.它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件. 当 我们需要在不同的 ...

  6. Linux ln 命令

    Linux 中的文件分为 Hard Link 和 Symbolic Link 两种.Hard Link 文件又被称为硬链接文件.实体链接文件,Symbolic Link 文件则常被称为符号链接.软链接 ...

  7. linux ln 命令,相当于windows快捷方式

    ln -s 源文件 目标文件. ln -s  **  **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间, 硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大 ...

  8. Linux:ln命令详解(软连接,硬链接)

    ln ln命令用来为文件创件连接,连接类型分为硬连接和软连接(符号连接)两种,默认的连接类型是硬连接.如果要创建软连接必须使用"-s"选项. 硬链接 建立硬链接时,在另外的目录或本 ...

  9. Linux tcpdump命令具体解释

    简单介绍 用简单的话来定义tcpdump,就是:dump the traffic on a network,依据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump能够将网络中传送的数据 ...

随机推荐

  1. SQL Server 分离与附加数据库

    前期准备: 创建数据库 create database Studio     on primary     (name ='Studio',filename ='E:\Studio.mdf'),    ...

  2. Cortex-M3和Cortex-M4 Fault异常应用之一 ----- 基础知识

    1. 摘要 Cortex-M内核实现了一个高效异常处理模块,可以捕获非法内存访问和数个程序错误条件.本应用笔记从程序员角度描述Cortex-M Fault异常,并且讲述在软件开发周期中的Fault用法 ...

  3. Twitter 新一代流处理利器——Heron 论文笔记之Heron架构

    Twitter 新一代流处理利器--Heron 论文笔记之Heron架构 标签(空格分隔): Streaming-process realtime-process Heron Architecture ...

  4. POJ2063 Investment 【全然背包】

    Investment Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 8019   Accepted: 2747 Descri ...

  5. OCP prepare 20140701

    1. rman的完全备份,和不完全备份 Oracle 数据库可以实现数据库不完全恢复与完全恢复.完全恢复是将数据库恢复到最新时刻,也就是无损恢复,保证数据库无丢失的恢复.而不完全恢复则是根据需要特意将 ...

  6. OCP准备记录

    0628: 051 OK053 1-192! 加油了,每天至少100道吧明天复习一下626,627,628这几天的成果先看一遍对的,再看一遍错的!!最少要把051复习一遍 0629: 今天忙了太久 只 ...

  7. Guestinfo.hbm(1)The markup declarations contained or pointed to by the document type declaration must be well-formed

    今天启动ssh项目是居然报错了,还提示要联网启动,看了看错误信息发现,肯定是Hibernate映射文件的声明头出错了,仔细一下: hbm.xml中的dtd头直接是连接www.hibernate.org ...

  8. MySQL 中文显示乱码以及中文查询条件返回0条结果的问题解决

      最近关于中文显示乱码的贴子比较多,所以也做了个总结: 可以参考一下杨涛涛版主的<各种乱码问题汇总>http://topic.csdn.net/u/20071124/08/3b7eae6 ...

  9. SSH框架整合 日志处理Spring结合 log4j、slf4j

    1. 加入log4j和slf4j的jar包 2. web.xml: <context-param> <!--log4j配置地址 --> <param-name>lo ...

  10. Python核心编程读笔 1

    第一章 欢迎来到Python世界 1 Python特点: 高级的可进行系统调用的解释性语言 面向对象 可升级.扩展.移植 自动内存管理器(内存管理由Python解释器负责) 2 安装 Windows的 ...