分类: LINUX

服务器上面存储了很多小文件及目录,定期需进行移动到另外的目录,由于文件数量过多,在使用mv或cp过程会出现中断现象,导致目录不能移动或复制完整。

一、

对于出现移动或复制过程中出现问题的,需再次复制原目录到目标位置,需不用覆盖已有文件,在网上查到这条命令,解决了,使用cp复制命令到目标位置时,不需覆盖已有文件。

awk 'BEGIN { cmd="cp -ri /photos/20081019 /oldphotos/"; print "n"

|cmd; }' >/dev/null 2>&1

二、大量文件移动需结全xargs命令使用。

删除文件- ls|xargs -i rm -rf {}

文件改名- ls|xargs -i mv {} {}.old

如:移动当前目录下,目录名是20100510,移动到/tmp/test/下面

find ./ -name "20100510" -maxdepth 1 |xargs -i mv -v {}

/tmp/test/

find ./ -name "2010051[1-10]" -maxdepth 1 |xargs -i mv -v {}

/tmp/test/

find ./ -name "2010051*" -maxdepth 1 |xargs -i mv -v {}

/tmp/test/

说明:

1、xargs -i 表示把前面的输入当作单独参数进行输出,相当于一次传一个,如果不加-i参数则一次传递所有值。

2、-maxdepth -1 只在当前目录下,一层目录。

3、{} 表示过的变量。

4、mv -v 显示移动目录信息需加-v

查看当前服务连接状态:

netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state)

print key,"\t",state[key]}'

Logo

更多推荐