当我想以根模式在我的/home目录中创建一个硬链接时,Linux显示了以下错误消息:
ln: failed to create hard link ‘my_sdb’ => ‘/dev/sda1’: Invalid cross-device link
上述错误消息如下所示:
# cd /home/user/
# ln /dev/sda1 my_sdb
但是我只能在/dev目录中创建一个硬链接,在其他目录中是不可能的。
现在,我想知道如何从/home目录(或其他目录)中的现有设备文件(如D5)创建硬链接?
我有一个由其他人编写的Ruby脚本,它为主文件夹中的文件创建硬链接,并使用以下命令将它们放入子文件夹:
File.link('/mnt/server10/file1.lzo', '/mnt/server10/subfolder10/file2.lzo')
我在Linux服务器上挂载了10个相同的Windows服务器共享,10个挂载点中有9个使用上面的命令没有问题。但是,一个装载点在执行上述命令时出现问题,并生成以下错误:
Hardlink failed: No such file or directory - /mnt/server10/file1.lzo or
现在,我感觉有些人会认为没有硬链接的原始文件,但我强烈反对,因为我做了下面的实验。
让我们使用content pwd创建一个文件,并建立到子文件夹的硬链接:
echo "pwd" > original
mkdir subfolder
cp -l original subfolder/hardlink
现在,让我们看看如果我用shell运行它,文件会输出什么:
sh original
sh subfolder/hardlink
输出是相同的,即使文件hardlink在一个子文件夹中!
很抱歉,对于冗长的介绍,我想确保没有人会说我下面的问题无关紧要。
所以我现在的问题是:如果
请试着运行以下脚本:
#!/bin/bash
mkdir a
mkdir a/asub
mkdir b
ln -sfr a/asub b/bsub
touch a/this_file_is_in_a
touch b/this_file_is_in_b
cd b/bsub
echo "I'm in directory: $(pwd)"
echo This is the contents of the upper directory:
ls ..
你希望得到什么?可能是目录b的内容。然而,它并不是这样运作的。我已经在目录/tmp/bb中运行了它。
结果如下:
wzab@WZ
我有5个网站,都在/home/mainuser下面。我在/home/ user 1中创建了用户,目前sftp工作,用户被监禁在他的文件夹中。但是,我希望它能够访问/home/mainuser中的2个站点,并将其他3个站点隐藏在user1中。所以我试着创建一个象征性的链接。但不起作用。有人能帮我解决这个问题吗?
这是我当前的设置:
Subsystem sftp internal-sftp
Match group SFTP-users
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
For
我正在寻找一种在Windows下创建硬链接的方法,我找到了这个页面:
为了试用它,我在我的C:驱动器的根目录上创建了一个文件(1.txt),包含以下内容的100行:
C:\1.txt (2.598字节):
test test test test test
然后打开命令提示符并键入:
fsutil hardlink create C:\2.txt C:\1.txt
成功,2.txt是创建的,但当我看到它的大小时,它正好有2.598字节,并且还注意到一些奇怪的行为(就我对硬链接的理解而言):
如果我删除2.txt (硬链接文件) 1.txt不被删除,反之亦然。如果我在删除1.txt (原始文件)之