`
matt.u
  • 浏览: 127250 次
  • 性别: Icon_minigender_1
  • 来自: CQ
社区版块
存档分类
最新评论

linux ln命令使用

阅读更多
指令名称 : ln
  使用权限 : 所有使用者
  使用方式 : ln [options] source dist,其中 option 的格式为 :
  [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
  [--help] [--version] [--]
  说明 : Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种 : 硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档案系统中,而软连结却可以跨越不同的档案系统。
  ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。

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

  -f : 链结时先将与 dist 同档名的档案删除
  -d : 允许系统管理者硬链结自己的目录
  -i : 在删除与 dist 同档名的档案时先进行询问
  -n : 在进行软连结时,将 dist 视为一般的档案
  -s : 进行软链结(symbolic link)
  -v : 在连结之前显示其档名
  -b : 将在链结时会被覆写或删除的档案进行备份
  -S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾
  -V METHOD : 指定备份的方式
  --help : 显示辅助说明
  --version : 显示版本
  范例 :
  将档案 yy 产生一个 symbolic link : zz
  ln -s yy zz
  将档案 yy 产生一个 hard link : zz
  ln yy xx
    当需要删除链接时,只要使用rm删除该链接进行,不要使用目录形式。
    如 rm dir_symbolic,而不是使用rm dir_symbolic/ (这里假设dir_symbolic是链接的目录)
    注:软链接目录时必须使用绝对路径,否则会出现问题。

  当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln –s /bin/less /usr/local/bin/less
  -s 是代号(symbolic)的意思。
  这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又软链接和硬链接两种,软链接就是ln –s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

    软链接
    我们把符号链接称为软链接,它是指向另一个文件的特殊文件,这种文件的数据部分仅包含它所要链接文件的路径名。软链接是为了克服硬链接的不足而引入的,软链接不直接使用inode号作为文件指针,而是使用文件路径名作为指针(软链接:文件名 + 数据部分-->目标文件的路径名)。软件有自己的inode,并在磁盘上有一小片空间存放路径名。因此,软链接能够跨文件系统,也可以和目录链接!其二,软链接可以对一个不存在的文件名进行链接,但直到这个名字对应的文件被创建后,才能打开其链接。

    硬链接
    硬链接是直接建立在节点表上的(inode),建立硬连接指向一个文件的时候,会更新节点表上面的计数值。举个例子,一个文件被连接了两次(硬连接),这 个文件的计数值 是3,而无论通过3个文件名中的任何一个访问,效果都是完全一样的,但是如果删除其中任意一个,都只是把计数值减1,不会删除实际的内容的,(任何存在的 文件本身就算是一个硬连接)只有计数值变成0也就是没有任何硬连接指向的时候才会真实的删除内容。
   
    总之,硬链接就是让多个不在或者同在一个目录下的文件,同时能够修改同一个文件,其中一个修改后,所有有与其有硬链接的文件都一起修改了。
    软链接就是与window中的快捷键一样。
分享到:
评论

相关推荐

    Linux ln 命令的使用

    主要介绍了Linux ln 命令的使用,帮助大家更好的理解和使用Linux,感兴趣的朋友可以了解下

    详解Linux ln 命令

    ln 命令用来在文件之间建立链接。在介绍 ln 命令前,让我们先来搞清楚究竟什么是硬链接,什么又是软链接。 Hard Link(硬链接) 我们知道,在 Linux 系统中,每个文件对应一个 inode,文件的内容在存储在 inode 指向的...

    linux命令:ln使用方法.docx

    linux命令:ln使用方法.docx

    Linux的文件链接和ln命令

    简介: Linux强大的文件链接可以让我们轻松做到以下几点: 1、多用户之间的文件共有、数据共享; 2、不同版本的程序环境或数据源之间的切换;...3、ln 命令 4、文件链接的应用 5、Windows下“目录链接”的实现

    Linux必学的60个命令

    ◆ 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln; ◆ 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、 crontab; ◆ 网络操作命令:ifconfig、ip、ping、...

    Linux 指令篇:档案目录管理--ln 连接的详细介绍

    Linux 指令篇:档案目录管理--ln 连接的详细介绍Linux 指令篇:档案目录管理--ln 连接的详细介绍

    Linux入门之ln命令创建软链接的绝对路径和相对路径详解(Ubuntu)

    (默认情况下,ln命令产生硬链接) 软链接文件类似于Windows的快捷方式,但实际上是一个特殊的文件。在软连接中,文件实际上是一个文本文件,其中包含另一文件的位置信息;这就允许软链接指向位于其他分区、甚至是...

    linux必须的60个命令

    所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统, 就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也...

    大数据基础-Linux基础详解课程26.基本命令-ln命令.mp4

    大数据基础-Linux基础详解课程

    linux基本命令及使用方法

    其中包含一些linux命令,学linux必须掌握的并且经常使用的命令,如权限设置,分组管理,文件操作等等。。ls ln pwd useradd cat groups 等等

    linux命令大全

    所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统, 就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也...

    linux常用命令源码(ls,cp,chmod,df等一百多个命令)

    linux下大部分常用命令源码,偶正要开始学习-_- base64.c basename.c c99-to-c89.diff cat.c chcon.c chgrp.c chmod.c chown.c chown-core.c chown-core.h chroot.c cksum.c comm.c copy.c cp.c cp-hash.c csplit.c ...

    Linux目录文件基本命令

    cd命令:切换目录pwd命令:显示当前路径ls命令:查看目录下文件mkdir命令:创建目录(文件夹)rmdir命令:删除空目录touch命令:创建文件及修改文件时间戳ln命令:在文件之间建立链接ext 文件系统(Linux 文件系统)...

    常用的60个Linux常用命令

    这些命令涵盖了Linux日常操作的方方面面,无论是文件管理、系统监控、网络操作还是软件包管理等,都有对应的命令可供使用。作为Linux用户,熟练掌握这些命令是非常有必要的,可以极大提高工作效率。 另外,Linux命令有...

    Linux必学的N个命令

    内含linux多个命令,都是自己在实用的时候,积累的记录下来的,并附上介绍说明,大家觉得可以就下载看看。

    一天一个shell命令 linux文件操作系列-ln命令详解

    主要介绍了一天一个shell命令 linux文件操作系列-ln命令详解 ,需要的朋友可以参考下

    Linux_SSH命令大全

    Linux SSH命令大全 rm -rf mydir /* 删除mydir目录 */ cd mydir /* 进入mydir目录 */ cd – /* 回上一级目录 */ cd ~ /* 回根目录 */ mv tools tool /* 把tools目录改名为tool */ ln -s tool bac /* 给tool目录...

Global site tag (gtag.js) - Google Analytics