Linux 中创建快捷方式命令 ln 详解

news/2024/11/18 3:38:38/

前言

在 Linux / Unix 系统中,链接文件提供了一种方便的方式来访问已存在的文件,或者共享一个文件给多个用户。Linux 命令 ln 可以创建两种类型的链接文件:硬链接和符号链接。本文将全面详细讲解 Linux 命令 ln 的使用方法,并且提供多个实例。

1. 概述

ln 命令可以在 Linux 中创建链接文件。链接文件就像是一个别名,它们指向另外一个文件或目录,并且有自己的名称和位置。链接文件分为两类:硬链接和符号链接。

硬链接与原始文件指向相同的数据块,在同一文件系统中,硬链接与原始文件共享 inode(索引节点),可以看作是对同一个文件的两种访问方式。硬链接不能被建立到目录上,而且不能跨越物理设备或文件系统。

符号链接(也被称为软链接)是一个特殊的类型的文件,包含另一个文件的路径名。符号链接文件拥有自己的 inode,并且在不同文件系统和物理设备之间移动一个目标的位置时,符号链接可用于跨越文件系统进行操作。符号链接的目标可以是目录和文件,但是当它指向的是一个目录时,要注意一些问题,因为符号链接会创建一个新的文件名,并不是原来的目录。

2. 命令语法

ln 命令语法如下所示:

ln [OPTION]... [-T] TARGET LINK_NAME
ln [OPTION]... TARGET... DIRECTORY
ln [OPTION]... TARGET... LINK_DIRECTORY

其中,TARGET 是被链接文件的路径名或多个路径名。LINK_NAME 是新链接文件的名称,可选参数。DIRECTORY 是需要将 TARGET 文件链接到其中的目录。

常用参数解释:

  • -s:创建符号链接;
  • -f:强制执行,覆盖现有文件;
  • -i:如果文件存在,提示用户确认是否覆盖文件;
  • -n:允许建立指向不存在文件的链接;
  • -v:详细输出信息。

3. 实例说明

为了更好地理解 ln 命令的使用方法,下面给出一些实例来说明 ln 命令的具体应用。首先,我们需要准备一些文件,以便后面的实例可以参考它们。

3.1 实例 1:创建硬链接并删除原始文件

这个实例演示如何使用 ln 命令创建硬链接,并且当删除原始文件时硬链接仍然能够访问目标文件。

首先,我们创建一个名为 testfile.txt 的文件:

$ echo "This is a test file." > testfile.txt
$ cat testfile.txt
This is a test file.

然后,我们使用 ln 命令创建一个硬链接。

$ ln testfile.txt hard_link

在上面的例子中,我们创建了一个名为 hard_link 的硬链接。注意,在创建硬链接时我们不需要指定 -s 选项。

接着,我们删除原始文件 testfile.txt,然后查看硬链接的内容:

$ rm testfile.txt
$ cat hard_link
This is a test file.

可以看到,当我们删除原始文件之后,硬链接仍然可以访问指向的文件内容。

3.2 实例 2:创建符号链接

这个实例演示如何使用 ln 命令创建符号链接。

首先,我们创建一个名为 testfile.txt 的文件:

$ echo "This is a test file." > testfile.txt
$ cat testfile.txt
This is a test file.

接着,我们使用 ln 命令创建一个符号链接。

$ ln -s testfile.txt symbolic_link

在上面的例子中,我们创建了一个名为 symbolic_link 的符号链接文件。注意,在创建符号链接时需要使用 -s 选项。

接下来,我们将删除原始文件 testfile.txt,然后查看符号链接的内容:

$ rm testfile.txt
$ cat symbolic_link
cat: symbolic_link: No such file or directory

可以看到,当我们删除原始文件之后,符号链接不能够访问指向的文件内容。

3.3 实例 3:覆盖现有文件

这个实例演示了如果使用 ln 命令覆盖现有文件。

首先,我们创建两个文件:

$ echo "This is file 1." > file1.txt
$ echo "This is file 2." > file2.txt
$ cat file1.txt
This is file 1.
$ cat file2.txt
This is file 2.

接下来,我们使用 ln 命令将 file2.txt 重命名为 file1.txt,以覆盖原始的 file1.txt

$ ln -f file2.txt file1.txt

在上面的例子中,-f 选项表示强制执行,覆盖现有文件。这样,现在 file1.txt 的内容变为了 This is file 2.,因为它被链接到 file2.txt

3.4 实例 4:在目录中创建链接

这个实例演示如何在目录中使用 ln 命令创建链接文件。

首先,我们创建一个目录 test_dir

$ mkdir test_dir

然后,我们创建一个文件 testfile.txt

$ echo "This is a test file." > testfile.txt
$ cat testfile.txt
This is a test file.

现在,我们使用 ln 命令将文件 testfile.txt 链接到目录 test_dir

$ ln testfile.txt ./test_dir

在上面的例子中,我们使用相对路径 ./test_dir 指定了链接文件的位置。

接下来,我们进入目录 test_dir,查看是否可以访问链接文件:

$ cd test_dir/
$ cat ../testfile.txt
This is a test file.

可以看到,我们可以在目录 test_dir 中访问链接文件 testfile.txt

3.5 实例 5:链接多个文件

这个实例演示如何使用 ln 命令链接多个文件。

首先,我们创建两个文件:

$ echo "This is file 1." > file1.txt
$ echo "This is file 2." > file2.txt
$ cat file1.txt
This is file 1.
$ cat file2.txt
This is file 2.

然后,我们使用 ln 命令将多个文件链接到一个目录:

$ mkdir test_dir
$ ln file1.txt file2.txt test_dir/

在上面的例子中,我们使用 ln 命令将两个文件 file1.txtfile2.txt 链接到目录 test_dir

接下来,我们进入目录 test_dir,查看是否可以访问链接文件:

$ cd test_dir/
$ ls
file1.txt file2.txt
$ cat file1.txt
This is file 1.
$ cat file2.txt
This is file 2.

可以看到,我们成功地将两个文件链接到了目录 test_dir


http://www.ppmy.cn/news/410057.html

相关文章

HDU 2154跳舞毯

最简单的dp题目 dp[i][j] j1表示第i步在红色的步数 j2表示第i步在黄色的步数 j3表示第i步在蓝色的步数 对于每次跳到红色的状态有:第i-1必须是在蓝色和黄色的地板上 所以dp[i][1]dp[i-1][2]dp[i-1][3]; 第i步黄色也有dp[i][2]dp[i-1][1]dp[i-1][3]&#xff1…

Homekit智能家居创意DIY之智能吸顶灯

买灯要看什么因素 好灯具的灯光可以说是家居的“魔术师”,除了实用的照明功能外,对细节的把控也非常到位。那么该如何选到一款各方面合适的灯呢? 照度 可以简单理解为清晰度,复杂点套公式来说照度光通量(亮度&#…

hd 2154 跳舞毯

跳舞毯 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3247 Accepted Submission(s): 1532 Problem Description 由于长期缺乏运动,小黑发现自己的身材臃肿了许多,于是他想健身&…

亚马逊美国站TEMU跳舞毯CPC认证检测项目分析

跳舞毯上架亚马逊美国站或者出口美国需要提交CPC认证,才能进入美国市场,由CPSC 认可的实验室出具的检测报告,确认每件商品均已过检测,符合上述适用要求。 亚马逊美国站上传新产品, 很多时候都是需要类目审核的 &#x…

A-跳舞毯

递推,对跳n步回到A有多少种,考虑之前的步数,如果之前在A,需要跳两步回到A,即2*A[n-2],如果不在,跳一步即可,即 A[n-1],所以A[n]2*A[n-2]A[n-1]

unity profiler真机调试,模拟器可行

unity profiler真机调试,模拟器可行 打开cmd命令行工具,cd到SDK中adb.exe的目录 输入命令: adb forward tcp:34999 localabstract:Unity-com.a.b 然后unity选择AndroidPlayer(…)即可/blog.csdn.net/kuangben2000/article/details/1056345…

Unity使用模拟器调试显示debug信息

Unity使用模拟器调试显示debug信息 1.在Unity中Build Setting的选项中将Development Build 跟Deep Profiling Support选项打开 2.在模拟器选择手机的品牌跟型号 3.刷新Build Setting的 Run Device(点击refresh),选择模拟器设置的品牌型号对应的机型 4.下面的Console栏点击e…

上班可明目张胆摸鱼玩的游戏(这谁能看出是在玩游戏)

点击访问:开启暴富之路,获得人生自由! 话不多说,直接放图: 可畏是煞费心机,登陆页面这一看便是一个管理后台啊 ,这上班摸鱼谁能知道是在玩游戏! 接下来看下登录进去的首页 这不就是…