Linux使用shell脚本批量拷贝文件
生活随笔
收集整理的这篇文章主要介绍了
Linux使用shell脚本批量拷贝文件
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
在日常工作中我们经常会碰到在linux下导出文件的工作,如果挨个拷贝就很麻烦也很不方便。
- 方法一:for循环的拷贝
这种方法适合轻量拷贝,我们把需要拷贝的文件名单独列出来,放在name.txt文件中,通过循环遍历这个文件就可以实现批量拷贝。
注意:for 循环中会根据空格为区分字段,如果文件命中含有空格,则推荐使用while循环。
- 方法二:while 循环的拷贝
- 小技巧:
(1).cp [options] <source file or directory> <target file or directory>
options选项包括:
- a 保留链接和文件属性,递归拷贝目录,相当于下面的d、p、r三个选项组合。
- d 拷贝时保留链接。
- f 删除已经存在目标文件而不提示。
- i 覆盖目标文件前将给出确认提示,属交互式拷贝。
- p 复制源文件内容后,还将把其修改时间和访问权限也复制到新文件中。
- r 若源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。当然,目标文件必须为一个目录名。
- l 不作拷贝,只是链接文件。
-s 复制成符号连结文件 (symbolic link),亦即『快捷方式』档案;
-u 若 destination 比 source 旧才更新 destination。
示例:
1、将文档 file1复制成file2,复制后名称被改file2
cp -i file1 file2
或,
cp file1 file2
2、将文档 file1复制到dir1目录下,复制后名称仍未file1
cp -i file1 dir1
或,
cp file1 dir1
3、将目录dir1复制到dir2目录下,复制结果目录被改名为dir2
cp -r dir1 dir2
4、将目录dir1下所有文件包括文件夹,都复制到dir2目录下
cp -r dir1/. dir2
常见错误:
1、提示cp: omitting directory错误
复制目录时,使用-r选项即可递归拷贝,如下:
cp -r dir1 dir2
(2)Linux中basename和dirname命令的妙用
basename和dirname命令的妙用
(3)处理包含空格和特殊字符的文件名
- 可以使用双引号或者单引号将拷贝文件引用起来" "或者' '
- 可以使用转义\
总结
以上是生活随笔为你收集整理的Linux使用shell脚本批量拷贝文件的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: HTML入门之常用标签以及框架写法
- 下一篇: linux 源码搭建lnmp_LINUX