有没有办法检查根文件夹的权限,/?我的意思是文件夹的权限,而不是其内容的(/var、/usr 等)权限?运行ls /..
显示内容的权限。
众所周知,该ln
命令创建一个链接,默认为硬链接,-s
选项为创建符号链接。一般语法是ln [-s] OLD NEW
,其中 OLD 是您要链接到的文件, NEW 是您正在创建的新文件。不能为目录创建硬链接,因为可以在彼此内部的文件夹之间创建硬链接,我想计算机还没有资源来检查这个,而不会出现严重的减速。
创建链接时,必须写出两个文件的路径,可以是绝对路径,也可以是相对路径。您可以混合使用相对和绝对文件路径,即新文件/文件夹的相对路径和旧文件/文件夹的绝对路径。创建具有相对路径的硬链接时,两个文件的路径都相对于当前文件夹,而对于符号链接,链接到的文件/文件夹的路径相对于其父文件夹,但旧文件的路径/folder 相对于当前文件夹。为什么这是“相对”于我的问题。
例如,假设我们在 HOME 文件夹中,/home/user
,也称为~
,并创建 2 个文件夹,new
和new2
,文件file
夹中的文件new
。如果我们尝试ln -s new/file new2/file
,结果是从~/new2/file
当前不存在的链接断开~/new2/new/file
。但是,如果我们改为运行ln -s ../new/file new2/file
,我们会得到预期的结果,即从~/new2/file
到的链接~/new/file
。
所以,我的问题:
为什么符号链接的旧文件/文件夹的文件路径相对于其父文件,而其他 3 个路径(硬链接旧文件、新文件、符号链接新文件/文件夹)相对于当前文件夹?
所有这些都在 Fedora 上,但我确信它适用于大多数基于 UNIX 的操作系统。
编辑E Carter Young 似乎对我的第二个问题(以及我的第一个问题,无论如何都是错误的)一针见血。似乎对于符号链接,目标还不必存在,因此系统必须使其路径相对于链接而不是当前目录。但是,为什么 shell 在您运行命令时不能解析出该路径,而不是强制用户找出路径是什么并自己输入?shell 似乎解析得很好,所以这是遗留问题的情况吗?性能问题?什么?