- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Linux中使用ln命令在文件之间建立连接的用法讲解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
在Unix世界里有两个'link'(连接)概念,一般称之为硬连接和软连接。一个硬连 接仅仅是一个文件名。(一个文件可以有好几个文件名,只有将最后一个文件名从 磁盘上删除,才能把这个文件删掉。文件名的个数是由ls(1)来确定的。所有的文件 名都处于同一个状态,也就没有什么lq源名字rq 之说。通常文件系统里的一个 文件的所有名字包含着一样的数据信息,不过这样也不是必需的。)一个软连接 (或符号连接)是完全不同的:它是一个包含了路径信息的小小的指定文件。因此, 软连接可以指向不同文件系统里的文件(比如由NFS装载的不同机器文件系统上的文 件),甚至可以指向一个不一定确实存在的文件。在软连接文件被访问(系统调用 open(2) 或stat(2))的时候,操作系统用该文件所包含的路径替换该文件的访问介 入点,从而实现对所指文件的访问。(用命令rm(1)和unlink(2)可以删除连接,但 不是删除该文件所指向的文件。系统指定调用lstat(2)和readlink(2) 来读取连接 文件与其所指文件的状态。到底是对软连接文件操作,还是对被指向文件操作,由 于不同操作系统件存在不同的系统调用,而存在着差异。) 。
ln 在文件间产生连接。缺省时,产生硬连接,有-s选项,则产生符号(软)连接.
如果仅仅只给出一个文件名,那么ln将在当前目录里产生这个文件的连接, 也就是说,以该文件(的最后一个)名称等同的名字在当前目录里产生一个连接 (GNU范围内); 如果最后一个参数是一个已存在的目录名, ln 将在那个目录里给每一个源文件用以与源文件相同的文件名产生连接, (不同情况见以下--no-dereference的描述); 如果只给出两个文件名,ln将产生源文件的连接; 如果最后一个参数不是一个目录名或多于两个文件名,则报错.
缺省时,ln不删除已存在的文件或符号连接。 (因此,它可以被用来锁定目标文件,即当dest已经不存在时) 但选项-f可以强制执行.
在已存在的实现中,只有超级用户才能建立目录的硬连接。 POSIX 禁止系统调用link(2)和ln建立目录的硬连接 (但是允许在不同的文件系统间建立硬连接).
使用方式 : ln [options] source dist,其中 option 的格式为 : [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}][--help] [--version] [--] 。
说明 : Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种 : 硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档案系统中,而软连结却可以跨越不同的档案系统。 ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。 不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间.
-f : 链结时先将与 dist 同档名的档案删除 -d : 允许系统管理者硬链结自己的目录 -i : 在删除与 dist 同档名的档案时先进行询问 -n : 在进行软连结时,将 dist 视为一般的档案 -s : 进行软链结(symbolic link) -v : 在连结之前显示其档名 -b : 将在链结时会被覆写或删除的档案进行备份 -S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾 -V METHOD : 指定备份的方式 --help : 显示辅助说明 --version : 显示版本 。
注意: 如果不使用 -s 标志,就不能在文件系统之间链接文件。 如果 TargetDirectory 已经是链接到目录上的一个符号链接,那么 ln 命令将现有的目标视为文件。这意味着,类似于 ln -fs somepath/lname symdir 的命令不会遵循现有的 symdir 符号链接,作为代替,它会创建一个从 somepath/lname 到 symdir 的新的符号链接.
退出状态 此命令返回以下的退出值: 0 所有指定的文件都成功链接上了。 >0 出现一次错误.
例:
。
。
1.为了创建到一个文件的另一个链接(别名),请输入: 。
这会将 chap1 链接到新的名称, intro。如果 intro 不存在,那么会创建该文件名。如果 intro 已经存在了,那么这个文件会被替换为指向 chap1的一个链接。然后 chap1 和 intro 文件名会指向同一个文件。对其中任何一个的更改都会出现在另一个中。如果一个文件名被 rm 命令删除,那么该文件并没有完全被删除,因为它仍然以其它的名字存在.
。
2.为了将文件链接为另一个目录中的相同名字,请输入: 。
这会将 index 链接到新的名称,manual/index。 注意:在示例 1 中的 intro 是一个文件的名称;在示例 2 中的 manual 是一个已经存在的目录.
。
3.为了将几个文件链接为另一个目录中的名称,请输入: 。
这会将 chap2 链接到新的名称 /home/manual/chap2;将 jim/chap3 链接到新的名称 /home/manual/chap3.
。
4.如果想要在 ln 命令中使用模式匹配字符,请输入: 。
这会将 manual 目录中的所有文件链接到当前目录中, . (点),给他们在 manual 目录中同样的名称.
。
注意: 必须在星号和句点之间输入一个空格.
5.为了创建一个符号链接,输入: 。
这会在当前的目录中创建符号链接 toc。 toc 文件指向 /tmp/toc 文件。如果 /tmp/toc 文件已经存在了,那么 cat toc 命令可以列出其内容.
。
6.如果想要在不指明 TargetFile 参数的情况下得到相同的结果,请输入: 。
最后此篇关于Linux中使用ln命令在文件之间建立连接的用法讲解的文章就讲到这里了,如果你想了解更多关于Linux中使用ln命令在文件之间建立连接的用法讲解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我需要修复 getLineNumberFor 方法,以便如果 lastName 的第一个字符位于 A 和 M 之间,则返回 1;如果它位于 N 和 Z 之间,则返回 2。 在我看来听起来很简单,但我不
您好,感谢您的帮助!我有这个: 0 我必须在每次点击后增加“pinli
Javascript 中是否有一种方法可以在不使用 if 语句的情况下通过 switch case 结构将一个整数与另一个整数进行比较? 例如。 switch(integer) { case
我有一列是“日期”类型的。如何在自定义选项中使用“之间”选项? 最佳答案 请注意,您有2个盒子。 between(在SQL中)包含所有内容,因此将框1设置为:DATE >= startdate,将框2
我有一个表,其中包含年、月和一些数字列 Year Month Total 2011 10 100 2011 11 150 2011 12 100 20
这个问题已经有答案了: Extract a substring between double quotes with regular expression in Java (2 个回答) how to
我有一个带有类别的边栏。正如你在这里看到的:http://kees.een-site-bouwen.nl/ url 中类别的 ID。带有 uri 段(3)当您单击其中一个类别时,例如网页设计。显示了一
这个问题在这里已经有了答案: My regex is matching too much. How do I make it stop? [duplicate] (5 个答案) 关闭 4 年前。 我
我很不会写正则表达式。 我正在尝试获取括号“()”之间的值。像下面这样的东西...... $a = "POLYGON((1 1,2 2,3 3,1 1))"; preg_match_all("/\((
我必须添加一个叠加层 (ImageView),以便它稍微移动到包含布局的左边界的左侧。 执行此操作的最佳方法是什么? 尝试了一些简单的方法,比如将 ImageView 放在布局中并使用负边距 andr
Rx 中是否有一些扩展方法来完成下面的场景? 我有一个开始泵送的值(绿色圆圈)和其他停止泵送的值(簧片圆圈),蓝色圆圈应该是预期值,我不希望这个命令被取消并重新创建(即“TakeUntil”和“Ski
我有一个看起来像这样的数据框(Dataframe X): id number found 1 5225 NA 2 2222 NA 3 3121 NA 我有另一个看起来
所以,我正在尝试制作正则表达式,它将解析存储在对象中的所有全局函数声明,例如,像这样 const a = () => {} 我做了这样的事情: /(?:const|let|var)\s*([A-z0-
我正在尝试从 Intellivision 重新创建 Astro-Smash,我想让桶保持在两个 Angular 之间。我只是想不出在哪里以及如何让这个东西停留在两者之间。 我已经以各种方式交换了函数,
到处检查但找不到答案。 我有这个页面,我使用 INNER JOIN 将两个表连接在一起,获取它们的值并显示它们。我有这个表格,用来获取变量(例如开始日期、结束日期和卡号),这些变量将作为从表中调用值的
我陷入了两个不同的问题/错误之间,无法想出一个合适的解决方案。任何帮助将不胜感激 上下文、FFI 和调用大量 C 函数,并将 C 类型包装在 rust 结构中。 第一个问题是ICE: this pat
我在 MySQL 中有一个用户列表,在订阅时,时间戳是使用 CURRENT_TIMESTAMP 在数据库中设置的。 现在我想从此表中选择订阅日期介于第 X 天和第 Y 天之间的表我尝试了几个查询,但不
我的输入是开始日期和结束日期。我想检查它是在 12 月 1 日到 3 月 31 日之间。(年份可以更改,并且只有在此期间内或之外的日期)。 到目前为止,我还没有找到任何关于 Joda-time 的解决
我正在努力了解线程与 CPU 使用率的关系。有很多关于线程与多处理的讨论(一个很好的概述是 this answer )所以我决定通过在运行 Windows 10、Python 3.4 的 8 CPU
我正在尝试编写 PHP 代码来循环遍历数组以创建 HTML 表格。我一直在尝试做类似的事情: fetchAll(PDO::FETCH_ASSOC); ?>
我是一名优秀的程序员,十分优秀!