为初学者准备的 ln 命令教程(5 个示例)
创始人
2024-03-01 22:26:50
0

当我们在命令行上工作时,您可能需要在文件之间创建链接。这时,您可以可以借助一个专用命令,ln。本教程中,我们将通过一些简单易理解的例子来讨论此工具的基础知识。在此之前,值得一提的是,本教程所有例子都已在 Ubuntu 16.04 上测试通过。

Linux ln 命令

正如你现在所了解的,ln 命令能够让您在文件之间创建链接。下面就是 ln 工具的语法(或者使用其他一些可行的语法)。

ln [OPTION]... [-T] TARGET LINK_NAME (第一种形式)
ln [OPTION]... TARGET (第二种形式)
ln [OPTION]... TARGET... DIRECTORY (第三种形式)
ln [OPTION]... -t DIRECTORY TARGET... (第四种形式)

下面是 ln 工具 man 文档描述的内容:

在第一种形式下,为目标位置(TARGET)创建一个叫 LINK_NAME 的链接。在第二种形式下,为目标位置(TARGET)在当前目录下创建一个链接(LCTT 译注:创建的为同名链接)。在第三和第四种形式中,在 DIRECTORY 目录下为每一个目标位置(TARGET)创建链接。默认创建硬链接,符号链接需要 --symbolic 选项。默认创建的每一个创建的链接(新链接的名字)都不能已经存在。当创建硬链接时,目标位置(TARGET)文件必须存在;符号链接可以保存任意文本,如果之后解析,相对链接的解析与其父目录有关。

通过下面问答风格的例子,可能会给你更好的理解。但是在此之前,建议您先了解 硬链接和软链接的区别.

Q1. 如何使用 ln 命令创建硬链接?

这很简单,你只需要像下面使用 ln 命令:

ln [file] [hard-link-to-file]

例如:

ln test.txt test_hard_link.txt

如此,您便可以看见一个已经创建好的,名为 test_hard_link.txt 的硬链接。

Q2. 如何使用 ln 命令创建软/符号链接?

使用 -s 命令行选项:

ln -s [file] [soft-link-to-file]

例如:

ln -s test.txt test_soft_link.txt

test_soft_link.txt 文件就是一个软/符号链接,以天蓝色文本 标识

Q3. 如何使用 ln 命令删除既存的同名目标文件?

默认情况下,ln 不允许您在目标目录下创建已存在的链接。

然而,如果一定要这么做,您可以使用 -f 命令行选项覆盖此行为。

提示:如果您想在此删除过程中有所交互,您可以使用 -i 选项。

Q4. 如何使用 ln 命令创建现有文件的同名备份?

如果您不想 ln 删除同名的现有文件,您可以为这些文件创建备份。使用 -b 即可实现此效果,以这种方式创建的备份文件,会在其文件名结尾处包含一个波浪号(~)。

Q5. 如何在当前目录以外的其它目录创建链接?

使用 -t 选项指定一个文件目录(除了当前目录)。比如:

ls test* | xargs ln -s -t /home/himanshu/Desktop/

上述命令会为(当前目录下的)所有 test* 文件创建链接,并放到桌面目录下。

总结

当然,尤其对于新手来说,ln 并不是日常必备命令。但是,这是一个有用的命令,因为你永远不知道它什么时候能够节省你一天的时间。对于这个命令,我们已经讨论了一些实用的选项,如果你已经完成了这些,可以查询 man 文档 来了解更多详情。


via: https://www.howtoforge.com/linux-ln-command/

作者:Himanshu Arora 译者:CYLeft 校对:Locez

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

被AI推荐来的客户问我:为...
01 前不久,我在北京讲课,遇到一位新学员,他专门来问我:“老师你...
2025-06-17 09:43:51
Vulnhub项目:Web...
靶机地址:Web Machine(N7)渗透过程&#...
2025-05-31 21:36:27
解决win10任何程序打开...
文章目录一、问题与修改原因1、着手修改吧2、弯路上探索3、发现祸根...
2025-05-31 06:59:12
进阶C语言 第七章----...
绪论         书接上回,在上章我们学习完了文...
2025-05-30 14:44:00
SLAM | 激光SLAM...
=================================...
2025-05-29 06:40:46
Vulnhub靶场----...
文章目录一、环境搭建二、渗透流程 一、环境搭建 DC-7下载地...
2025-05-28 23:21:23

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...