链接分为硬链接和软链接之分,命令如下:
1、硬链接:ln
file1
file2
2、软连接:ln
-s
file1
file2
他们的区别在于,对于目录
只能做软链接
(ln
-s
bbb
ccc)
Linux
软连接与硬连接的区别:
对于一个文件来说,有唯一的索引接点与之对应,而对于一个索引接点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问该文件。注意在Linux下是一切皆文件的啊,文件夹、新加的硬盘
...都可以看着文件来处理的啊。
连接有软连接和硬连接(hard
link)之分的,软连接(symbolic
link)又叫符号连接。符号连接相当于Windows下的快捷方式。
不可以对文件夹建立硬连接的,我们通常用的还是软连接比较多。
eg:
ln
-s
source
dist
#
建立软连接
ln
source
dist
#
建立硬连接
软链接实际上只是一段文字,里面包含着它所指向的文件的名字,系统看到软链接后自动跳到对应的文件位置处进行处理;相反,硬联接为文件开设一个新的目录项,硬链接与文件原有的名字是平权的,在Linux看来它们是等价的。由于这个原因,硬链接不能连接两个不同文件系统上的文件。
(1)软连接可以
跨文件系统
,硬连接不可以
。实践的方法就是用共享文件把windows下的
aa.txt文本文档连接到linux下/root目录
下
bb,cc
.
ln
-s
aa.txt
/root/bb
连接成功
。ln
aa.txt
/root/bb
失败
。
(2)关于
I节点的问题
。硬连接不管有多少个,都指向的是同一个I节点,会把
结点连接数增加,只要结点的连接数不是
0,文件就一直存在,不管你删除的是源文件还是
连接的文件
。只要有一个存在
,文件就
存在
(其实也不分什么源文件连接文件的
,因为他们指向都是同一个
I节点)。
当你修改源文件或者连接文件任何一个的时候
,其他的文件都会做同步的修改。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以
删除连接文件
对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件
。软链接有自己的inode,并在磁盘上有一小片空间存放路径名.
(3)软连接可以对一个不存在的文件名进行连接
。
(4)软连接可以对目录进行连接。
备注:I节点
:它是UNIX内部用于描述文件特性的数据结构.我们通常称I节点为文件索引结点(信息结点).i节点含有关于文件的大部分的重要信息,包括文件数据块在磁盘上的地址.每一个I节点有它自己的标志号,我们称为文件顺序号.I节点包含的信息
1.文件类型
2.文件属主关系
3.文件的访问权限
4.文件的时间截.
题主你好,
解题思路: 使用-type d指定我们要查找的是文件夹, 而不是文件啥的 再就是使用通佩符来匹配中间是data的名称: -name "*data*"
命令如下:
find / -type d -name "*data*"
-----
上面命令是从根目录开始找的, 下面给题主举个例子,在当前目录下查找中间是data的文件夹:
从上图可以看出,当前文件夹中adatab是文件夹, cdatad是文件,按照上面说的规则,最终查找的结果只有adatab,说明是正确的, 因为cdatad虽然也符合名称的规则,但它的类型是文件而非文件夹,因此结果不包含cdatad.
希望可以帮到题主, 欢迎追问
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)