文档章节

linux下的软链接

SVD
 SVD
发布于 2015/11/19 15:22
字数 870
阅读 55
收藏 2

什么是软链接?

linux下的软链接(In computing, a symbolic link (also symlink or soft link) is a special type of file that contains a reference to another file or directory in the form of an absolute or relative path and that affects pathname resolution.)软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。它类似于windows下的创建快捷方式,但是又有本质的不同。

dongchao@linux104:~/rwcap/src$ ln --help
Usage: ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
  or:  ln [OPTION]... TARGET                  (2nd form)
  or:  ln [OPTION]... TARGET... DIRECTORY     (3rd form)
  or:  ln [OPTION]... -t DIRECTORY TARGET...  (4th form)
In the 1st form, create a link to TARGET with the name LINK_NAME.
In the 2nd form, create a link to TARGET in the current directory.
In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.
Create hard links by default, symbolic links with --symbolic.
By default, each destination (name of new link) should not already exist.
When creating hard links, each TARGET must exist.  Symbolic links
can hold arbitrary text; if later resolved, a relative link is
interpreted in relation to its parent directory.

Mandatory arguments to long options are mandatory for short options too.
      --backup[=CONTROL]      make a backup of each existing destination file
  -b                          like --backup but does not accept an argument
  -d, -F, --directory         allow the superuser to attempt to hard link
                                directories (note: will probably fail due to
                                system restrictions, even for the superuser)
  -f, --force                 remove existing destination files
  -i, --interactive           prompt whether to remove destinations
  -L, --logical               dereference TARGETs that are symbolic links
  -n, --no-dereference        treat LINK_NAME as a normal file if
                                it is a symbolic link to a directory
  -P, --physical              make hard links directly to symbolic links
  -r, --relative              create symbolic links relative to link location
  -s, --symbolic              make symbolic links instead of hard links
  -S, --suffix=SUFFIX         override the usual backup suffix
  -t, --target-directory=DIRECTORY  specify the DIRECTORY in which to create
                                the links
  -T, --no-target-directory   treat LINK_NAME as a normal file always
  -v, --verbose               print name of each linked file
      --help     display this help and exit
      --version  output version information and exit

The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control method may be selected via the --backup option or through
the VERSION_CONTROL environment variable.  Here are the values:

  none, off       never make backups (even if --backup is given)
  numbered, t     make numbered backups
  existing, nil   numbered if numbered backups exist, simple otherwise
  simple, never   always make simple backups

Using -s ignores -L and -P.  Otherwise, the last option specified controls
behavior when a TARGET is a symbolic link, defaulting to -P.

Report ln bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
For complete documentation, run: info coreutils 'ln invocation'
  • 创建软链接

ln – The command line tool to create links. By default, it creates a hard link. In order to create a symbolic link, we must add the -s ( --symbolic ) option. target – The existing file/directory you would like to link to point to.

命令行模式如下:

ln -s target linkname

具体的:

mylink就是软链接。也可以在myfile.txt前加上绝对路径,这样即使把mylink移动到别的路径下也不会出错了,软链接会依然有效。对于软链接的操作等同于对目标文件的操作:

当新建另外一个目录时,也可以新建一个软链接。(软链接可以链接到目标目录或者目标文件)

  • 删除软链接

如果要删除软链接,可以这样:

rm -r /newlink
  • 复制软链接

复制链接文件的时候,需要注意添加-d参数,否则,复制的将会是链接文件指代的源文件。

[root@localhost tmp]# cp bashrc_slink bashrc_slink_1
[root@localhost tmp]# cp -d bashrc_slink bashrc_slink_2
[root@localhost tmp]# ls -l bashrc bashrc_slink*
-rw-r--r--. 2 root root 176 Dec  1 05:33 bashrc
lrwxrwxrwx. 1 root root   6 Dec  1 05:48 bashrc_slink -> bashrc
-rw-r--r--. 1 root root 176 Dec  1 05:51 bashrc_slink_1
lrwxrwxrwx. 1 root root   6 Dec  1 05:51 bashrc_slink_2 -> bashrc

以上的实例说明,当使用cp -d时,才保持了链接原本的属性,使得复制之后的文件(bashrc_slink2)依然是链接。

© 著作权归作者所有

SVD

SVD

粉丝 33
博文 228
码字总数 118756
作品 0
海淀
私信 提问
理解 Linux 的硬链接与软链接

理解 Linux 的硬链接与软链接 从 inode 了解 Linux 文件系统 硬链接与软链接是 Linux 文件系统中的一个重要概念,其涉及文件系统中的索引节点 (index node 又称 inode),而索引节点对象是 Li...

大圈
2015/08/10
142
0
环境搭建之八-- node.js, npm和yarn

一.node.js 1.node.js官网下载64位二进制压缩包 node-v8.12.0-linux-x64.tar.xz 2.解压文件 2.1 xz格式文件为 tar格式 xz -d node-v8.12.0-linux-x64.tar.xz 此时文件已经转变为 node-v8.12...

imbiao
2018/10/16
62
0
新手应该知道的 26 条 linux 命令

当你进入了 Linux 的世界,在下载、安装 了某个 Linux 发行版,体验了 Linux 桌面并安装了一些你喜爱和需要的软件之后,应该去了解下 Linux 真正的魅力所在:命令行。每一个 Linux 命令其实就...

问题终结者
2017/10/21
23
0
Linux下的softlink和hardlink

Linux中包括两种链接:硬链接(hard link)和软链接(soft link),软链接又称为符号链接(symbolic link) 创建命令:ln -s softlink destfile/directory #建立软连接ln hardlink destfile #建立...

烽焱10仴
2014/08/21
111
0
linux硬链接和软链接的区别

Linux系统下,硬链接和软链接的区别 在Linux系统中,有硬链接和软件链接两种“特殊”的文件存在的。 硬链接:通过文件系统的inode来产生新档名,而不是产生新档案。 软链接:看作是Windows中...

arvin_qin
2018/08/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Security 自定义登录认证(二)

一、前言 本篇文章将讲述Spring Security自定义登录认证校验用户名、密码,自定义密码加密方式,以及在前后端分离的情况下认证失败或成功处理返回json格式数据 温馨小提示:Spring Security...

郑清
42分钟前
5
0
php yield关键字以及协程的实现

php的yield是在php5.5版本就出来了,而在初级php界却很少有人提起,我就说说个人对php yield的理解 Iterator接口 在php中,除了数组,对象可以被foreach遍历之外,还有另外一种特殊对象,也就是继承...

冻结not
55分钟前
4
0
servlet请求和响应的过程

本文转载于:专业的前端网站➥servlet请求和响应的过程 1.加载 Servlet类被加载到Java虚拟机中,并且实例化。在这个过程中,web容器(例如tomcat)会调用Servlet类的公开无参构造函数,产生一...

前端老手
55分钟前
4
0
golang 1.13 errors 包来了,不用写“err 气功波”代码

引 这篇是对 errors 包 的姿势挖掘 气功波错误代码 从 http.Get()返回的错误 判断 syscall.ECONNREFUSED 错误.以前要对 go 标准库 error 结构有点熟悉,才能写出下面的代码 func CmdErr(err ...

guonaihong
58分钟前
31
0
喜玛拉雅已听书单

时间倒序排 书名 作者 状态 唐砖 孑与2 进行中 死灵之书(克苏鲁神话合集) 阿卜杜拉·阿尔哈萨德 进行中 赡养人类 刘慈欣 完结 赡养上帝 刘慈欣 完结 中国太阳 刘慈欣 完结 中国太阳 刘慈欣...

Alex_Java
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部