[Linux]将一个文件复制到多个文件夹下

一、简介

本文介绍了在linux下如何使用cp命令将一个文件复制到多个文件夹多个文件复制到一个文件夹多个文件复制到多个文件夹下。

二、代码

假设初始时test/文件夹的结构如下:

文件夹结构

1. 将一个文件复制到多个文件夹

a.命令示例

file1复制到目录des_dir1/des_dir2/des_dir3/下:

echo ./des_dir1/ ./des_dir2/ ./des_dir3/ | xargs -n 1 cp ./file1

该命令等效于以下命令:

cp ./file1 ./des_dir1/
cp ./file1 ./des_dir2/
cp ./file1 ./des_dir3/

运行后test/文件夹结构如下:

文件夹结构

b.命令解释

  1. echo ./des_dir1/ ./des_dir2/ ./des_dir3/
    

    echo命令将des_dir1des_dir2des_dir3给输出流(标准输出)

  2. |
    

    | 管道符,将echo命令的输出给下一个命令,即给xargs

  3. xargs -n 1
    

    xargs命令将接收到的输入(echo的输出即xargs的输入),作为参数输出给下一个命令,即cp命令。xargs默认将输出的参数添加到下个命令的最后-n 1指定了xargs每次传给命令cp一个参数。

  4. cp ./file1
    

    cp命令将文件./file1复制到xargs给的参数路径下,即./des_dir1/./des_dir2/./des_dir3/下。

2. 将多个文件复制到一个文件夹

a.命令示例

file1file2file3复制到目录des_dir1/下:

cp -t ./des_dir1/ ./file1 ./file2 ./file3

该命令等效于以下命令:

cp ./file1 ./des_dir1/
cp ./file2 ./des_dir1/
cp ./file2 ./des_dir1/

运行后test/文件夹结构如下:
在这里插入图片描述

b.命令解释

cp -t path/to/target_directory path/to/file_or_directory1 path/to/file_or_directory2 ...

cp命令的-t参数指定目的路径,将目的路径后的文件复制到目的路径处。

3. 将多个文件复制到多个文件夹

a.命令示例

file1, file2file3分别复制到目录des_dir1/des_dir2/des_dir3/下:

echo ./des_dir1 ./des_dir2 ./des_dir3/ | xargs -n 1 cp ./file1 ./file2 ./file3

该命令等效于以下命令:

cp ./file1 ./file2 ./file3 ./des_dir1/
cp ./file1 ./file2 ./file3 ./des_dir2/
cp ./file1 ./file2 ./file3 ./des_dir3/

运行后test/文件夹结构如下:
在这里插入图片描述

b.命令解释

  1. echo ./des_dir1/ ./des_dir2/ ./des_dir3/
    

    echo命令将des_dir1des_dir2des_dir3给输出流(标准输出)

  2. |
    

    | 管道符,将echo命令的输出给下一个命令,即给xargs

  3. xargs -n 1
    

    xargs命令将接收到的输入(echo的输出即xargs的输入),作为参数输出给下一个命令,即cp命令。xargs默认将输出的参数添加到下个命令的最后-n 1指定了xargs每次传给命令cp一个参数。

  4. cp ./file1 ./file2 ./file3 
    

    cp命令将文件./file1./file2./file3复制到xargs给的参数路径下,即./des_dir1/./des_dir2/./des_dir3/下。

三、参考

[1]. xargs命令
[2]. ChatGPT

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值