linux下怎么把一个文件复制到多个文件夹里?

linux下怎么把一个文件复制到多个文件夹里?,第1张

cp命令将文件复制到目录文件夹

如果需要复制一个文件到多个文件夹下,可以使用多条cp语句,或者使用shell脚本。

它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。

cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

用法示例:

复制hello.txt到abcdef目录下$cphello.txtab$cphello.txtcd$cphello.txtef脚本方式:复制abc.txt到abcdef目录下dirs=("ab""cd""ef")fordirin${dirs[@]}docpabc.txt$(dir)donecp命令说明cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。

使用cp命令\x0d\x0acp -r ./当前目录/* ./需要复制的目录\x0d\x0a-r 代表递归循环 \x0d\x0a*代表目录下所有内容\x0d\x0a\x0d\x0a比如你要负责 a文件夹下的文件到b文件夹,a和b在同一目录\x0d\x0a你可以cd a\x0d\x0acp -r ./* ../b

把一个文件复制到多个文件夹里只需要直接在路径上添加不同目录即可。

举例:

在root目录下1.txt文件,复制到/home/abc /home/bcd /home/cde这三个目录中

命令如下如下:

cp /rooot/1.txt /home/abc /home/bcd /home/cde

简单说下linux下批量复制并重命名的另种方法。

for循环:

命令行打入(F为变量名,可任意)

for F in *.txt do cp $F

${F%.txt}_1.txtdone

其中${F%.txt}_1.txt的意思是把F中得.txt去掉后加上_1.txt

想要每步骤都显示出来,在cp后面加上-vf

如果这么写,就是批量改后缀,把txt改成ini后缀

for F in *.txt do mv $F ${F%.txt}.ini done

想要每步骤都显示出来,在mv后面加上-vf

扩展思维,一般排序都是首字符,所以想在文件名前面添加字符kk可以这么写

for F in *.txt do cp -vf $F (kk可为任意字符)kk$F done

linux下批量复制文件到多个文件夹

mkdir建以1,2,3,4,5个文件夹名

把所有ini后缀的文件拷贝到12345文件夹得集合F中,命令如下

for F in 1 2 3 4 5 do cp *.ini $F done

想要每步骤都显示出来,在cp后面加上-vf

for F in 1 2 3 4 5do cp -vf *.ini $F done

注意事项,所有命令如果遇到重名,会把以前得文件替换掉,慎重!慎重!

批量复制文件并改成有顺序的文件名

写shell脚本

i=0

F=a

while [ $i -le 10 ]

do

cp -vf 00.ts $F$i.ts

let i+=1

done

其中00.ts为源文件,批量复制10个


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/6268963.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-19
下一篇2023-03-19

发表评论

登录后才能评论

评论列表(0条)

    保存