linux基础命令_ln

蛋蛋 2022年09月06日 42 0

介绍

简述

ln - make links between files

语法

ln [参数] [源文件或目录] [目标文件或目录]

概要

ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
ln [OPTION]... TARGET                  (2nd form)
ln [OPTION]... TARGET... DIRECTORY     (3rd form)
ln [OPTION]... -t DIRECTORY TARGET...  (4th form)

描述

在第一种形式中,使用名称 LINK_NAME 创建指向 TARGET 的链接。
在第二种形式中,在当前目录中创建指向 TARGET 的链接。
在第 3 和第 4 种形式中,创建指向 DIRECTORY 中每个 TARGET 的链接。
默认情况下,每个目的地(新链接的名称)应该已经存在。创建硬链接时,每个 TARGET 都必须存在。符号链接可以包含任意文本;如果稍后解决,则相对链接将相对于其父目录进行解释。

软连接与硬链接的区别

软连接

  • 软链接又叫符号链接,和原文件不是一个文件,类似Windows的快捷方式,如果原始文件被删除,所有指向它的符号链接也就都被破坏了
  • 软链接有自己的inode,是linux特殊文件的一种,作为一个文件, 它的数据是它所连接的文件的路径
  • 符号链接可以跨越文件系统,也可以为目录建立

硬链接

区别

  • 软链接文件的大小和创建时间和源文件不同。软链接文件只是维持了从软链接到源文件的指向关系(从jys.soft->jys可以看出),不是源文件的内容,大小不一样容易理解。
  • 硬链接文件和源文件的大小和创建时间一样。硬链接文件的内容和源文件的内容一模一样,相当于copy了一份。

案例

创建硬链接

ln file file.hard

cp -p的文件是不是就相当于硬链接了呢

对于源文件的内容有修改,硬链接文件会同步更新修改,始终保持和源文件的内容相同,而复制的文件则不可能做到这一点。

创建软连接

mkdir test
echo aaadsjdi > test/test.txt
ln -s test test_ln

删除软连接,但不删除实际数据

mkdir test
echo aaadsjdi > test/test.txt
ln -s test test_ln
rm -rf test_ln

删除实际数据

rm -rf test_ln/

注:带/会把原来test下的内容删除

Last Updated: 2023/01/06 11:08:00
linux基础命令_后台运行