
拷贝A文件夹到B目录
cp -rv A B
如果你正在B目录下,可以这样:
cp -rv A ./
拷贝A文件下的A1文件
cp -v A/A1 ./
或者
cp -v A/A1 B/
扩展资料:命令格式:
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
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/
cp文件时候可以不用加参数,但是cp文件夹的时候必须加-R或-r。解决方法如下:
1、首先将文件复制到另一个目录中:cp 文件名 目录名。复制a.txt至test目录中,则执行 cp a.txt /test 即可。
2、这里复制1234.txt文件到新文件2345.txt,copy 1234.txt 2345.txt,这里可以看到两个文件大小相同,时间戳不同。
3、复制1234.txt文件到新文件3456.txt并保持时间戳相同。
4、如果复制后的新文件名已存在,给1234.txt写了点内容后,再次复制为2345.txt,会发现原2345.txt文件会被覆盖,并不会有提醒直接就执行成功了。
5、为避免不知道有没有同名文件被覆盖可以添加-i选项,可以看到当新文件名已存在当前目录的时候会有覆盖确认提醒。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)