linux 批量复制文件

linux 批量复制文件,第1张

cp dir1/{file1,file2,file3} dir2 ## 可以实现文件的批量复制

cp -r dir1/ dir2/ ### 实现整个文件夹的复制,r参数表示,如果没有文件夹dir2/ 则创建一个,如果没有r参数会报错。

cp命令并不能直接识别正则表达示,如果要复制的文件很多,会写命令写到吐血。

可以用ls查看文件夹内的所有文件,再传递给grep 用正则表示示筛选,筛选后的文件名再传递给cp命令

需要注意的是cp 不能直接接收 grep的数据,需要用到xargs 命令

xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令。

-i 或者是-I,这得看linux支持了,将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替。

ls |grep 'M. 1. _M. 2. |M. [1-2]. _P. 18. '|xargs -i cp {} /u01/zhh/300Zeamays/300SCMS/

拷贝A文件夹到B目录

cp -rv A B

如果你正在B目录下,可以这样:

cp -rv A ./

拷贝A文件下的A1文件

cp -v A/A1 ./

或者

cp -v A/A1 B/

扩展资料:

文件复制命令cp

命令格式:

cp [-adfilprsu] 源文件(source) 目标文件(destination)

cp [option] source1 source2 source3 ...  directory

参数说明:

-a:是指archive的意思,也说是指复制所有的目录

-d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身

-f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制

-i:若目标文件(destination)已存在,在覆盖时会先询问是否真的 *** 作

-l:建立硬连接(hard link)的连接文件,而非复制文件本身

-p:与文件的属性一起复制,而非使用默认属性

-r:递归复制,用于目录的复制 *** 作

-s:复制成符号连接文件(symbolic link),即“快捷方式”文件

-u:若目标文件比源文件旧,更新目标文件

如将/test1目录下的file1复制到/test3目录,并将文件名改为file2,可输入以下命令:

cp /test1/file1 /test3/file2

最常见的拷贝命令,常用的形式有

-p - 保留源文件的所有者、用户组、权限、修改和访问时间,以及一些扩展属性;

-R 或 -r - 递归复制目录,将目录及其下的所有文件和子目录都复制到目标位置;

-d - 保留软链接;

-a - 即归档模式,相当于 -dpR;

-v - 显示rsync过程中详细信息;

-a - 归档模式,表示递归传输并保持文件属性;

-z - 传输时进行压缩提高效率;

-P - 显示文件传输的进度信息;

-e - 指定所要使用的远程shell程序,默认为ssh,无特殊情况不需要指定;

--exclude=PATTERN - 指定排除不需要传输的文件模式;

--exclude-from=FILE - 从文件中读取指定排除不需要传输的文件模式;


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存