Linux下同时复制多个文件

方法一

  1. 使用cp命令
cp /home/usr/dir/{file1,file2,file3,file4} /home/usr/destination/

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

  1. 具有共同前缀
cp /home/usr/dir/file{1..4} ./

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

方法二

  1. 使用python脚本 shutil库
import os,sys,shutil
### copies a list of files from source. handles duplicates.
def rename(file_name, dst, num=1):
    #splits file name to add number distinction
    (file_prefix, exstension) = os.path.splitext(file_name)
    renamed = "%s(%d)%s" % (file_prefix,num,exstension)

    #checks if renamed file exists. Renames file if it does exist.
    if os.path.exists(dst + renamed):
        return rename(file_name, dst, num + 1)
    else:
        return renamed

def copy_files(src,dst,file_list):
    for files in file_list:
        src_file_path = src + files
        dst_file_path = dst + files
        if os.path.exists(dst_file_path):
            new_file_name =  rename(files, dst)
            dst_file_path = dst + new_file_name

        print "Copying: " + dst_file_path
        try:
            # 复制操作主要就是这句
            shutil.copyfile(src_file_path,dst_file_path)
        except IOError:
            print src_file_path + " does not exist"
            raw_input("Please, press enter to continue.")

def read_file(file_name):
    f = open(file_name)
    #reads each line of file (f), strips out extra whitespace and 
    #returns list with each line of the file being an element of the list
    content = [x.strip() for x in f.readlines()]
    f.close()
    return content

src = sys.argv[1]
dst = sys.argv[2]
file_with_list = sys.argv[3]

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

### 回答1: 要在Linux复制多个文件,可以使用cp命令。例如,要将文件file1、file2和file3复制到目录/destination中,可以使用以下命令: cp file1 file2 file3 /destination 如果要将多个文件复制到另一个目录中,可以使用通配符。例如,要将所有以.txt结尾的文件复制到目录/destination中,可以使用以下命令: cp *.txt /destination ### 回答2: 要复制多个文件,可以使用下面的命令:cp 1. 打开终端,进入要复制文件所在的目录。 2. 输入以下命令:cp 文件1 文件2 ... 目标目录 其中,"文件1"、"文件2"是要复制文件的名称,可以是多个文件,用空格分隔。 "目标目录"是你想将这些文件复制到的目录的路径。 例如,要将文件A、文件B和文件C复制到/home/user/documents目录下的命令为: cp 文件A 文件B 文件C /home/user/documents 这样,文件A、文件B和文件C就会被复制到/home/user/documents目录下。 另外,如果你希望将所有文件复制到同一个目标目录下,你也可以先创建一个目标目录,然后使用通配符*来表示所有文件。 例如,要将当前目录下的所有文件复制到/home/user/documents目录下的命令为: cp * /home/user/documents 这样,当前目录下的所有文件都会被复制到/home/user/documents目录下。 复制文件过程中,可以显示复制过程的信息。如果你希望在复制文件时显示详细信息,可以使用-v选项。 例如,使用-v选项复制文件A和文件B到/home/user/documents目录的命令为: cp -v 文件A 文件B /home/user/documents 这样,你将会看到每个文件复制时的详细信息。 在复制文件时,如果目标目录已经存在同名的文件,会询问是否覆盖。如果想要自动覆盖同名文件,可以使用-f选项。 例如,使用-f选项复制文件A到/home/user/documents目录,并自动覆盖同名文件的命令为: cp -f 文件A /home/user/documents ### 回答3: 在Linux中,复制多个文件可以使用cp命令。cp命令用于将文件或目录复制到指定的目的地。 要复制多个文件,可以将所有的文件名列在cp命令之后,然后指定目的地。例如,要将文件1.txt、文件2.txt和文件3.txt复制到目录/目标目录中,可以使用以下命令: cp 文件1.txt 文件2.txt 文件3.txt /目标目录 另外,如果多个文件位于同一个目录中,可以使用通配符来复制所有符合条件的文件。通配符*代表零个或多个字符,可以匹配任何文件名。例如,要复制目录中所有以.txt结尾的文件,可以使用以下命令: cp *.txt /目标目录 这样,所有以.txt结尾的文件都将被复制到/目标目录中。 如果要将多个文件复制到同一目的地,并且保持原来的文件名,可以在目标目录后添加斜杠(/)。例如,要将文件1.txt、文件2.txt和文件3.txt复制到目录/目标目录,并保持原文件名,可以使用以下命令: cp 文件1.txt 文件2.txt 文件3.txt /目标目录/ 使用cp命令复制多个文件时,需要确保目标目录存在且有足够的权限来写入文件。如果目标目录不存在,可以使用mkdir命令创建目录。如果没有足够的权限,可以使用chmod命令修改权限。 总之,使用cp命令可以简便地复制多个文件到指定的目标目录,可以逐个列出文件名,也可以使用通配符来匹配多个文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值