linux复制指定目录下的全部文件到另一个目录中
复制指定目录下的全部文件到另一个目录中
文件及目录的复制是常常要用到的。linux下进行复制的为cp。
假定复制源目录为dir1,目标目录为dir2。如何能够将dir1下所有文件复制到dir2下了
假如dir2目录不存在linux 删除目录及文件,则可以直接使用
cp-rdir1dir2
即可。
假如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命令破坏另一个文件linux伊甸园,如用户指定的目标文件名已存在linux c,用cp命令拷贝文件后,这个文件才会被新源文件覆盖,因而linux 删除目录及文件,建议用户在使用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文件;或复制其他项目中特定类型的源文件
本文原创地址://gulass.cn/xyybbjnzwfzm.html编辑:刘遄,审核员:暂无