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/
B. Linux系统怎么复制文件夹下的全部文件到另外文件夹
使用cp命令x0dx0acp -r ./当前目录/* ./需要复制的目录x0dx0a-r 代表递归循环 x0dx0a*代表目录下所有内容x0dx0ax0dx0a比如你要负责 a文件夹下的文件到b文件夹,a和b在同一目录x0dx0a你可以cd ax0dx0acp -r ./* ../b
C. linux怎么复制文件到多个文件夹下
可以使用图形界面(桌面环境)实现。
1、打开一个文件夹,按下
ctrl
+
a
组合键选中全部文件和文件夹,然后在选中的文件或文件夹上点击右键,在弹出的菜单中点击“复制”。
2、打开目标文件夹,在空白处右键,在弹出的菜单中点击粘贴,即可将前述所有文件或文件夹粘贴到目标文件夹中。
如果是在服务器上,没有桌面图形环境,可以使用命令行来实现。比如,需要将根目录中
picture
文件夹中的所有文件或文件夹,复制到
music
文件夹中,可以使用如下命令:
cp -r /picture/* /music/命令参数
-r
的作用是递归复制
picture
文件夹中的所有文件和该文件夹中子文件夹中的文件。
D. linux下怎么把一个文件复制到多个文件夹里
find ./ -maxdepth 1 -type d -exec cp -r 文件名 {} \;
把文件名换成你要复制的文件就行。
./ 是说把文件复制到当前目录下,你要复制到其他目录就自己换。
-maxdepth 1 是说仅找一层子目录,二级三级。。的子目录不搜索。
cp 命令仅仅把最后一个参数作为目标,其余参数作为要复制的文件。所以楼上说的其实是将所有的文件都复制到 /home/c 下,不符合你的要求的。
E. linux下怎么把一个文件复制到多个文件夹里
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命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。
F. linux上的cp命令,如何复制多个文件
最后一个:
cp /tmp/*.* /tmp/z123/ 注意这里/tmp/有别的文件么
有的时候,你可以先find找出文件,然后对专他们操作。属
你咋没试试 cp /tmp/shiyan /tmp/xuexi /tmp/z123/
G. linux下怎样将一个文件夹中的多个文件同时拷贝到另一个文件夹
操作方法:
linux下进行复制的命令为cp。假设复制源目录 为 dir1 ,目标目录为dir2。怎样才能将dir1下所有文件复制到dir2下了。
如果dir2目录不存在,则可以直接使用 cp -r dir1 dir2即可。
如果dir2目录已存在,则需要使用:cp -r dir1/. dir2。
如果这时使用cp -r dir1 dir2,则也会将dir1目录复制到dir2中,明显不符合要求。ps:dir1、dir2改成对应的目录路径即可。
cp -r /home/www/xxx/statics/. /home/www/statics如果存在文件需要先删除,rm -rf /home/www/statics/*否则会一个个文件提示你确认,使用cp -rf 也一样提示。
H. Linux系统怎么复制文件夹下的全部文件到另外文件夹
1、用cp命令可以复制全部文件。
1)、复制的时候记得使用通配符*,*表示所有文件。
2)、复制的时候记得-R参数,即递归复制,可以将源文件夹下的子文件夹中的文件一并复制。
2、示例:将当前用户home目录下的doc文件夹下的所有文件复制到Downloads目录中。
3、cp命令使用详解:
1)、用法:cp [选项]... [-T] 源文件 目标文件
或:cp [选项]... 源文件... 目录
或:cp [选项]... -t 目录 源文件...
将源文件复制至目标文件,或将多个源文件复制至目标目录。
2)、长选项必须使用的参数对于短选项时也是必需使用的。
-a, --archive 等于-dR --preserve=all
--backup[=CONTROL 为每个已存在的目标文件创建备份
-b 类似--backup 但不接受参数
---contents 在递归处理是复制特殊文件内容
-d 等于--no-dereference --preserve=links
-f, --force 如果目标文件无法打开则将其移除并重试(当 -n 选项
存在时则不需再选此项)
-i, --interactive 覆盖前询问(使前面的 -n 选项失效)
-H 跟随源文件中的命令行符号链接
-l, --link 链接文件而不复制
-L, --dereference 总是跟随符号链接
-n, --no-clobber 不要覆盖已存在的文件(使前面的 -i 选项失效)
-P, --no-dereference 不跟随源文件中的符号链接
-p 等于--preserve=模式,所有权,时间戳
--preserve[=属性列表 保持指定的属性(默认:模式,所有权,时间戳),如果
可能保持附加属性:环境、链接、xattr 等
-c same as --preserve=context
--sno-preserve=属性列表 不保留指定的文件属性
--parents 复制前在目标目录创建来源文件路径中的所有目录
-R, -r, --recursive 递归复制目录及其子目录内的所有内容
--reflink[=WHEN] 控制克隆/CoW 副本。请查看下面的内如。
--remove-destination 尝试打开目标文件前先删除已存在的目的地
文件 (相对于 --force 选项)
--sparse=WHEN 控制创建稀疏文件的方式
--strip-trailing-slashes 删除参数中所有源文件/目录末端的斜杠
-s, --symbolic-link 只创建符号链接而不复制文件
-S, --suffix=后缀 自行指定备份文件的后缀
-t, --target-directory=目录 将所有参数指定的源文件/目录
复制至目标目录
-T, --no-target-directory 将目标目录视作普通文件
-u, --update only when the SOURCE file is newer
than the destination file or when the
destination file is missing
-v, --verbose explain what is being done
-x, --one-file-system stay on this file system
-Z, --context=CONTEXT set security context of to CONTEXT
--help 显示此帮助信息并退出
--version 显示版本信息并退出
3)、默认情况下,源文件的稀疏性仅仅通过简单的方法判断,对应的目标文件目标文件也
被为稀疏。这是因为默认情况下使用了--sparse=auto 参数。如果明确使用
--sparse=always 参数则不论源文件是否包含足够长的0 序列也将目标文件创文
建为稀疏件。
使用--sparse=never 参数禁止创建稀疏文件。
4)、当指定了--reflink[=always] 参数时执行轻量化的复制,即只在数据块被修改的
情况下才复制。如果复制失败或者同时指定了--reflink=auto,则返回标准复制模式。
5)、备份文件的后缀为"~",除非以--suffix 选项或是SIMPLE_BACKUP_SUFFIX
环境变量指定。版本控制的方式可通过--backup 选项或VERSION_CONTROL 环境
变量来选择。以下是可用的变量值:
none, off 不进行备份(即使使用了--backup 选项)
numbered, t 备份文件加上数字进行排序
existing, nil 若有数字的备份文件已经存在则使用数字,否则使用普通方式备份
simple, never 永远使用普通方式备份
6)、有一个特别情况:如果同时指定--force 和--backup 选项,而源文件和目标文件
是同一个已存在的一般文件的话,cp 会将源文件备份。
I. linux下怎么把一个文件复制到多个文件夹里
把一个文件复制到多个文件夹里只需要直接在路径上添加不同目录即可。
举例:
在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.txt;done
其中${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 5;do 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个
J. linux cp命令,如何复制多个目录下文件到 对应多个目录下面
1、打开SecureCRT,选择要登录的系统IP地址, 点击连接。