Linux下如何批量建立文件连接

来源:互联网 发布:excel纸上数据录入技巧 编辑:程序博客网 时间:2024/05/01 01:43

首先了解一下Linux系统的连接信息,硬链接和软连接


硬链接就是同一个文件使用了多个别名(他们有共同的 inode)。
硬链接可由命令 link 或 ln 创建,如:
link oldfile newfile 
ln    oldfile newfile
由于硬链接是有着相同 inode 号仅文件名不同的文件,因此,删除一个硬链接文件并不影响其他有相同 inode 号的文件。硬链接不能对目录进行创建,只可对文件创建。

软链接(也叫符号链接)与硬链接不同,文件用户数据块中存放的内容是另一文件的路径名的指向。软链接就是一个普通文件,只是数据块内容有点特殊。软链接可对文件或目录创建。
ln -s old.file soft.link
ln -s old.dir soft.link.dir
加-s选项表示创建的是软链接。
删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接就变成了死链接。


如何批量建立文件连接

1.使用ln命令

[cpp] view plain copy
 print?
  1. <span style="font-size:18px;">ln -s /tmp/*.log /tmp/lnk/</span>  

2.使用cp命令的参数rs

[cpp] view plain copy
 print?
  1. <span style="font-size:18px;">cp -rs /tmp/*.log /tmp/lnk/</span>  

3.写shell脚本,一个比较愚蠢的方法

[cpp] view plain copy
 print?
  1. <span style="font-size:18px;">for FILE in /tmp/*.log;do ln -s $FILE '/tmp/lnk_'`basename $FILE`;done</span>