志在指尖
用双手敲打未来

linux cp(cp命令复制文件到另一个目录)

linuxcp

cp指令用来仿制文件或者目录,是Linux系统中最常用的指令之一。
一般情况下,shell会设置一个别号,在指令行下仿制文件时,假如方针文件已经存在,就会问询是否掩盖,不论你是否运用-i参数。
但是假如是在shell脚本中履行cp时,没有-i参数时不会问询是否掩盖。这说明指令行和shell脚本的履行方法有些不同。
1.指令格式:
用法:
cp[选项]…[-T]源意图
或:cp[选项]…源…目录
或:cp[选项]…-t目录源…
2.指令功用:
将源文件仿制至方针文件,或将多个源文件仿制至方针目录。
3.指令参数:
-a,–archive等于-dR–preserve=all
–backup[=CONTROL为每个已存在的方针文件创建备份
-b相似–backup但不接受参数
–copy-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等
-R,-r,–recursive仿制目录及目录内的所有项目python

linuxcp命令复制文件到另一个目录

linux仿制指定目录下的悉数文件到另一个目录中
仿制指定目录下的悉数文件到另一个目录中
文件及目录的仿制是常常要用到的。linux下进行仿制的指令为cp。
假设仿制源目录为dir1,方针目录为dir2。怎样才能将dir1下一切文件仿制到dir2下了
假如dir2目录不存在,则能够直接运用
cp-rdir1dir2
例:cp-r/data01/sinopec/pos/./data01/sinopec/pos-pc/
即可。
假如dir2目录已存在,则需求运用
cp-rdir1/.dir2
假如这时运用cp-rdir1dir2,则也会将dir1目录仿制到dir2中,显着不符合要求。
ps:dir1、dir2改成对应的目录路径即可。
cp-r/home/www/xxx/statics/./home/www/statics
假如存在文件需求先删去
rm-rf/home/www/statics/*
否则会一个个文件提示你承认,运用cp-rf也相同提示
————————————–
linux下cp整个文件夹的文件到另一个文件夹
cp-riA/B/*A1/B1/回车
若仿制过程中询问是否掩盖,输入y按回车,若不想看到提示直接掩盖运用-rf
另外若AA1不在同一目录下,最好填绝对路径,就是/xxx/xxx/A/B/*/xxx/A1/B1/
实例:
cp-ri/home/server/tomcat/*/home/server/test/
cp:target`/home/server/test/’isnotadirectory
需求先创立方针文件夹
mkdir/home/server/test
————————————–
copy指令的功用是将给出的文件或目录仿制到另一文件或目录中,同MSDOS下的copy指令相同,功用非常强壮。
语法:cp[选项]源文件或目录方针文件或目录
说明:该指令把指定的源文件仿制到方针文件或把多个源文件仿制到方针目录中。
该指令的各选项含义如下:
-a该选项通常在仿制目录时运用。它保存链接、文件属性,并递归地仿制目录,其效果等于dpR选项的组合。
-d仿制时保存链接。
-f删去现已存在的方针文件而不提示。
-i和f选项相反,在掩盖方针文件之前将给出提示要求用户承认。答复y时方针文件将被掩盖,是交互式仿制。
-p此时cp除仿制源文件的内容外,还将把其修正时间和访问权限也仿制到新文件中。
-r若给出的源文件是一目录文件,此时cp将递归仿制该目录下一切的子目录和文件。此时方针文件有必要为一个目录名。
-l不作仿制,只是链接文件。
需求说明的是,为避免用户在不经意的情况下用cp指令损坏另一个文件,如用户指定的方针文件名已存在,用cp指令仿制文件后,这个文件就会被新源文件掩盖,因而,建议用户在运用cp指令仿制文件时,最好运用i选项。
例1
仿制指定目录下的悉数文件到另一个目录中
文件及目录的仿制是常常要用到的。linux下进行仿制的指令为cp。
假设仿制源目录为dir1,方针目录为dir2。怎样才能将dir1下一切文件仿制到dir2下了
假如dir2目录不存在,则能够直接运用
cp-rdir1dir2
即可。
假如dir2目录已存在,则需求运用
cp-rdir1/.dir2
假如这时运用cp-rdir1dir2,则也会将dir1目录仿制到dir2中,显着不符合要求。
ps:dir1、dir2改成对应的目录路径即可。
例2
仿制指定文件到指定文件夹
首要建立一个用于测验的目录,用’tree’指令查看
可见,目录中主要包括用于测验的*.txt文件和用于充任炮灰的*。tes文件
方针是坚持当时的目录结构,只把txt文件仿制出来
办法一:当不需求的文件类型较为单一时,能够经过彻底仿制然后删去指定类型的文件完成
Step1运用指令cp-rtest/test2将测验目录test下一切内容彻底仿制到test2
Step2组合运用find及xargs,将*.tes文件删去
xargs是给指令传递参数的一个过滤器,能够将前一个指令发生的输出作为后一个指令的参数
指令findtest2/-name’*.tes’|xargsrm-rf,即将find发生的输出(test2目录下的一切tes文件),作为rm的参数,从而彻底删去
适用场景举例:把项目文件备份,要去除其间的.svn文件,能够采用这种办法
办法二:需求的文件为单一类型,带目录结构仿制
这种情况下能够运用tar指令将指定类型的文件打包,然后解包,相同需求组合运用find和xargs
Step1建立目录test3
mkdirtest3
Step2将指定类型文件带目录结构打包
findtest/-name’*.txt’|xargstarczftest3.tgz
Step3解包到目录test3
tarzxvftest3.tgz-Ctest3
适用场景:较为遍及,例如能够仿制某个Web项目的一切html/jsp/php文件;或仿制其他项目中特定类型的源文件

未经允许不得转载:IT技术网站 » linux cp(cp命令复制文件到另一个目录)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载