当我想以根模式在我的/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)创建硬链接?
你好,我在“函数未实现”上搜索了多个线程,寻找符号链接,但我找到的线程都没有帮助。
我正试图在我的外部驱动器上创建一个象征性的链接。
sudo ln -s /media/user/externaldrivename/test.wav /media/user/externaldrivename/test2.wav
但我明白错误
ln: failed to create symbolic link '/user/externaldrivename/test2.wav': Function not implemented
这就是我运行mount时得到的
/dev/sda1 1 on
现在,我感觉有些人会认为没有硬链接的原始文件,但我强烈反对,因为我做了下面的实验。
让我们使用content pwd创建一个文件,并建立到子文件夹的硬链接:
echo "pwd" > original
mkdir subfolder
cp -l original subfolder/hardlink
现在,让我们看看如果我用shell运行它,文件会输出什么:
sh original
sh subfolder/hardlink
输出是相同的,即使文件hardlink在一个子文件夹中!
很抱歉,对于冗长的介绍,我想确保没有人会说我下面的问题无关紧要。
所以我现在的问题是:如果
我有一个由其他人编写的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
请试着运行以下脚本:
#!/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