一、命令方法

1.使用cp命令

  1. cp /home/usr/dir/{file1,file2,file3,file4} /home/usr/destination/

需要注意的是这几个文件之间不要有空格

2.具有共同前缀

  1. cp /home/usr/dir/file{..} ./

复制的文件是file1, file2, file3, file4

二、脚本方法

使用python脚本 shutil库

  1. import os,sys,shutil
  2. ### copies a list of files from source. handles duplicates.
  3. def rename(file_name, dst, num=1):
  4. #splits file name to add number distinction
  5. (file_prefix, exstension) = os.path.splitext(file_name)
  6. renamed = "%s(%d)%s" % (file_prefix,num,exstension)
  7.  
  8. #checks if renamed file exists. Renames file if it does exist.
  9. if os.path.exists(dst + renamed):
  10. return rename(file_name, dst, num + 1)
  11. else:
  12. return renamed
  13.  
  14. def copy_files(src,dst,file_list):
  15. for files in file_list:
  16. src_file_path = src + files
  17. dst_file_path = dst + files
  18. if os.path.exists(dst_file_path):
  19. new_file_name = rename(files, dst)
  20. dst_file_path = dst + new_file_name
  21.  
  22. print "Copying: " + dst_file_path
  23. try:
  24. # 复制操作主要就是这句
  25. shutil.copyfile(src_file_path,dst_file_path)
  26. except IOError:
  27. print src_file_path + " does not exist"
  28. raw_input("Please, press enter to continue.")
  29.  
  30. def read_file(file_name):
  31. f = open(file_name)
  32. #reads each line of file (f), strips out extra whitespace and
  33. #returns list with each line of the file being an element of the list
  34. content = [x.strip() for x in f.readlines()]
  35. f.close()
  36. return content
  37.  
  38. src = sys.argv[1]
  39. dst = sys.argv[2]
  40. file_with_list = sys.argv[3]
  41.  
  42. copy_files(src,dst,read_file(file_with_list))

2. 将以上代码保存为move.py

3. 运行 $ python move.py /path/to/src/ /path/to/dst/ file.txt
4. file.txt 中定义要复制的文件名字,只要给出名字即可,不需要路径

转自:https://www.cnblogs.com/zhonghuasong/p/7352758.html

【转】Linux下同时复制多个文件的更多相关文章

  1. Linux下同时复制多个文件

    方法一 使用cp命令 cp /home/usr/dir/{file1,file2,file3,file4} /home/usr/destination/ 需要注意的是这几个文件之间不要有空格 具有共同 ...

  2. linux下怎么样上传下载文件夹

    Linux下目录复制:本机->远程服务器 scp -r /home/shaoxiaohu/test1 zhidao@192.168.0.1:/home/test2 test1为源目录,test2 ...

  3. linux下,如何把整个文件夹上传到服务器(另一台linux)

    1.Linux下目录复制:本机->远程服务器 scp  -r /home/shaoxiaohu/test1  zhidao@192.168.0.1:/home/test2 #test1为源目录, ...

  4. linux 下C语言编程库文件处理与Makefile编写

    做开发快3年了,在linux下编译安装软件算是家常便饭了.就拿gcc来说,都有不下10次了,可基本每次都会碰到些奇奇怪怪的问题.看来还是像vs.codeblocks这样的ide把人弄蠢了.便下定决心一 ...

  5. Linux下用rm删除的文件的恢复方法

    Linux下用rm删除的文件的恢复方法_Linux教程_Linux公社-Linux系统门户网站https://www.linuxidc.com/Linux/2008-08/14744.htm linu ...

  6. linux下查找指定后缀的文件

    1.linux下查找指定后缀的文件 例如查找当前目录下的所有后缀名时.c或.h的文件 find  .  -type f -regex  ".*\.\(c\|h\)"

  7. 【转】linux下,如何把整个文件夹上传到服务器(另一台linux)

    原文转自:https://zhidao.baidu.com/question/1046040541327493019.html 1.Linux下目录复制:本机->远程服务器 scp  -r /h ...

  8. Linux下自动清除MySQL日志文件

    MySQL运行过程中会生成大量的日志文件,占用不少空间,修改my.cnf文件配置bin-log过期时间,在Linux下自动清除MySQL日志文件 [mysqld] expire-logs-days= ...

  9. Linux下的文件结构,及对应文件夹的作用

    Linux下的文件结构,及对应文件夹的作用 /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基点,比 ...

随机推荐

  1. oracle 查询按月份分组

    如下表table1: 日期(exportDate)               数量(amount) --------------                    ----------- 14- ...

  2. The same month as the adidas NMD Singapore is releasing

    Earlier this December 2017, the inaugural adidas NMD Singapore silhouette released in the first colo ...

  3. 2018-2019 ICPC, NEERC, Northern Eurasia Finals (Unrated, Online Mirror, ICPC Rules, Teams Preferred) Solution

    A. Alice the Fan Solved. 题意: 两个人打网球,要求teamA 的得分与其他队伍拉开尽量大 输出合法的方案 思路: $dp[i][j][k][l] 表示 A 赢i局,其他队伍赢 ...

  4. echarts页面中多图自适应

    $(function (){ //ups部分 var myChart = echarts.init(document.getElementById('result')) var option = { ...

  5. 前端学习笔记之CSS知识汇总

    CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素. 当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染). CSS语法 CSS实例 ...

  6. SQL学习笔记二之MySQL的数据库操作

    阅读目录 一 系统数据库 二 创建数据库 三 数据库相关操作 一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限 ...

  7. 20145219《网络对抗技术》PC平台逆向破解之逆向与Bof基础

    20145219<网络对抗技术>PC平台逆向破解之逆向与Bof基础 实践目标 实践对象:一个名为pwn1的linux可执行文件. pwn1正常执行流程:main调用foo函数,foo函数会 ...

  8. 20145311 《Java程序设计》第七周学习总结

    20145311 <Java程序设计>第七周学习总结 教材学习内容总结 第十二章 Lambda Lambda表达式会使程序更加地简洁,在平行设计的时候,能够进行并行处理. 第十三章 时间与 ...

  9. 反射调用发生错误信息 LoadNeither

    错误信息: Service cannot be started. System.Reflection.TargetInvocationException: Exception has been thr ...

  10. IAsyncResult接口

    #region 程序集 mscorlib.dll, v4.0.0.0 // C:\Program Files (x86)\Reference Assemblies\Microsoft\Framewor ...