用于创建链接的脚本

时间:2012-04-16 16:37:22

标签: bash hyperlink

我有一个文件夹(例如/ data),其中包含一组文件:a.txt,b.bin,c.bak,d.txt,e.bin。我需要在文件夹(/ dataIL)中创建具有完全相同名称(1-1映射)的文件的链接。也就是说,/ dataIL应该有5个链接:

a.txt->../data/a.txt  
b.bin->../data/b.bin  
c.bak->../data/c.bak  
d.txt->../data/d.txt  
e.bin->../data/e.bin  

创建一个链接的命令是: ln -s ../data/a.txt a.txt

想知道我可以运行哪些脚本命令来为所有文件创建。请注意,还有其他扩展名的文件。我只需要链接到任何扩展名的所有文件。

我有一个bash shell。谢谢。

2 个答案:

答案 0 :(得分:4)

您可以简单地使用星号来创建指向所有文件的符号链接,因为它们位于一个目录中:

ln -s data/* .

这假设您要创建data中所有文件的链接。另请注意,根据您的设置,这可能会跳过名称以点开头的文件。

答案 1 :(得分:1)

find ../data -maxdepth 1 -type f -exec bash -c "ln -s {} \`basename {}\`" \;

../ data可以是任何目录