创建快捷方式的捷径
如果您来自 Windows 的世界,您无疑会理解快捷方式的概念。 在 Linux 世界中,快捷方式确实存在,但它们通常被称为符号链接或软链接。 它们之所以这样命名,是因为与快捷方式一样,软链接实际上只是一个符号占位符或指向您要访问的文件或目录的链接。
当然,漂亮的图形和窗口世界提供了创建符号链接的方法。 但是,对于那些不耐烦的人来说,命令行允许您以更少的点击完成工作。 让我们看一个例子。
假设我正在开发一个网站,我希望所有网站文件都位于 /home/jonesy/public_html/websites/testing/site1 中。 我需要经常快速访问这个目录,所以在我的桌面上有一个快捷方式会很好,这样我可以一键到达它。 能够将文件拖到该文件夹而无需先浏览到它也会很好。
在这种情况下,我们将 /home/jonesy/public_html/websites/testing/site1 称为源目录,我使用 mkdir 命令创建该目录。 在家跟着做
mkdir -p /home/jonesy/public_html/websites/testing/site1
记住将 jonesy 更改为您自己的登录名。
同样,我们刚刚创建了源目录。 mkdir 命令可以在您有权限的任何地方创建目录。 -p 选项告诉 mkdir 创建沿途任何尚不存在的父目录。
我们将符号链接本身称为目标,它指向我们刚刚创建的源。 请注意,我们可以将目标称为我们想要的任何名称。 在这种情况下,我只是将其称为 site1。 要创建一个显示在我的桌面上的链接,我打开 Konsole 并运行以下命令
@cx:ln -s /home/jonesy/public_html/websites/testing/site1/home/jonesy/Desktop/site1
同样,请记住在上面的命令中将 jonesy 更改为您自己的登录名。
ln 命令可以创建除符号链接之外的其他类型的链接,因此重要的是要记住为其提供 -s 选项,以便它知道您要创建符号链接。 即使对于铁杆极客来说,在没有 -s 选项的情况下使用 ln 命令的情况也相对罕见,即使它确实会发生。
致有志于成为极客的人们
如果您忘记 -s 选项,您将创建一个所谓的硬链接。 虽然差异很细微,但它们很重要。 根据链接相对于源的位置,您可能会生成一个错误,因为硬链接不能跨越驱动器分区边界。 在系统的内部,简单的事实是,硬链接实际上只是存储在磁盘上某处的同一批数据的另一种备用名称(用技术术语来说,硬链接和原始文件将指向同一个 inode)。
但是等等! 还有更多!
当然,创建一个指向特定文件的链接与创建一个指向目录的链接完全相同。 因此,如果我想在我的桌面上创建一个指向我最喜欢的照片 (/home/jonesy/Photos/mypic.jpg) 的链接,我可以这样做
ln -s /home/jonesy/Photos/mypic.jpg /home/jonesy/Desktop/
我在上面的命令中加入了一点技巧。 因为我不希望符号链接与其指向的文件具有不同的名称,所以我简单地使用了一个 .(句点),它是 不要 更改名称的简写。
有关 ln 命令的更多信息,请尝试运行
man ln
,它是 ln 命令的手册或 man 页面。
关于作者
Brian Jones 是普林斯顿大学计算机科学系的系统/网络/数据库管理员和兼职 Web 开发人员。 他还是一位自由撰稿人和编辑,将大部分自由时间用于撰写有关各种 Web 和印刷出版物的技术文章。 在他的空闲时间,他喜欢酿造啤酒、家庭录音和打台球。