找回密码
 立即注册
  • QQ空间
  • 回复
  • 收藏

Linux命令:ln

admin 2019-3-1 11:40 241人围观 Linux相关

来源于微信公众号:计算机进阶路

ln

ln命令是link的缩写,其功能是创建文件间的链接(make links between files),链接包括硬链接(hard link)和软链接(符号链接,symbolic link)

注意:符号链接文件不是一个独立的文件,它的许多属性依赖于源文件,给符号链接文件设置存储权限是没有意义的。

硬链接:生成的是普通文件。软链接或符号链接生成的是符号链接文件。

语法

ln (选项) (参数)

ln后无选项:创建硬链接;ln后有-s,创建软链接

选项

-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选项创建符号链接,则“源文件”可以是文件或目录。

  • 目标文件:目录链接文件。



实例

  • 硬链接


[manager@izwz94vbp6wu2eadw3w396z cp1]$ ls

txt1

[manager@izwz94vbp6wu2eadw3w396z cp1]$ ln txt1 txt_hard_link

[manager@izwz94vbp6wu2eadw3w396z cp1]$ ll

总用量 0

-rw-rw-r-- 2 manager manager 0 2月  25 22:26 txt1

-rw-rw-r-- 2 manager manager 0 2月  25 22:26 txt_hard_link

[manager@izwz94vbp6wu2eadw3w396z cp1]$

可以看到源文件和生成后的硬链接文件属性一样。

  • 软链接

[manager@izwz94vbp6wu2eadw3w396z cp2]$ ls

php-fpm.pid  tmp  txt2

[manager@izwz94vbp6wu2eadw3w396z cp2]$ ln -s txt2 txt_symbolic_link

[manager@izwz94vbp6wu2eadw3w396z cp2]$ ll

总用量 8

-rw-r--r-- 1 manager manager    4 2月  25 22:38 php-fpm.pid

drwxrwxr-t 4 manager manager 4096 2月  25 22:31 tmp

-rw-rw-r-- 1 manager manager    0 2月  25 22:26 txt2

lrwxrwxrwx 1 manager manager    4 2月  28 23:35 txt_symbolic_link -> txt2

[manager@izwz94vbp6wu2eadw3w396z cp2]$

可以看到源文件和生成后的软链接文件属性不一样

知识扩展

Linux具有为一个文件起多个名字的功能,称为链接,包括硬链接和软链接。

1. 硬链接

硬链接是指通过索引节点(inode)进行链接。在Linux(ext2, ext3, ext4)中,所有文件都有一个独立的inode编号。

在Linux文件系统中,多个文件名指向同一个索引节点是被允许的。这种情况下的文件被称为硬链接。硬链接文件相当于文件的另一个入口。它的作用之一是允许一个文件拥有多个有效路径,这样用户就可以建立硬链接到重要文件,以防止误删除重要数据。

2. 软链接

软链接有点像windows里面的快捷方式,硬链接的文件类型是真实文件,软链接是真正的链接文件。事实上,它只是一个文本文件(如图中的abc文件),其中包含它提供链接的另一个文件的路径名,如图中虚线箭头所示。另一个文件是实际包含所有数据的文件。所有读、写文件内容的命令被用于符号链接时,将沿着链接方向前进来访问实际的文件。



持之以恒,天天进阶






----------------------------------------------------------------------------------------------------------------------
我们尊重原创,也注重分享,文章来源于微信公众号:计算机进阶路,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
----------------------------------------------------------------------------------------------------------------------

鲜花

握手

雷人

路过

鸡蛋

yafeilinux和他的朋友们微信公众号二维码

微信公众号

专注于Qt嵌入式Linux开发等。扫一扫立即关注。

Qt开源社区官方QQ群二维码

QQ交流群

欢迎加入QQ群大家庭,一起讨论学习!

我有话说......