linux复制指定目录下的全部文件到另一个目录中
2016-08-15 20:03
351 查看
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 -r dir1 dir2
即可。
如果dir2目录已存在,则需要使用
cp -r dir1/. dir2
如果这时使用cp -r dir1 dir2,则也会将dir1目录复制到dir2中,明显不符合要求。
ps:dir1、dir2改成对应的目录路径即可。
例2
复制指定文件到指定文件夹
首先建立一个用于测试的目录,用’tree’命令查看其结构如下所示:
可见,目录中主要包含用于测试的.txt文件和用于充当炮灰的。tes文件
目标是保持当前的目录结构,只把txt文件复制出来
方法一:
当不需要的文件类型较为单一时,可以通过完全复制然后删除指定类型的文件完成
Step1 使用命令 cp -r test/ test2 将测试目录test下所有内容完全复制到test2,此时树形结构如下图
Step2 组合使用find及xargs,将*.tes文件删除
xargs是给命令传递参数的一个过滤器,可以将前一个命令产生的输出作为后一个命令的参数
命令find test2/ -name ‘*.tes’ |xargs rm -rf, 即将find产生的输出(test2目录下的所有tes文件),作为rm的参数,从而完全删除
实际效果如图所示
相关文章推荐
- linux复制指定目录下的全部文件到另一个目录中,linux cp 文件夹
- linux复制指定目录下的全部文件到另一个目录中,linux cp 文件夹
- linux复制指定目录下的全部文件到另一个目录中,linux cp 文件夹
- linux复制指定目录下的全部文件到另一个目录中
- Ubuntu复制指定目录下的全部文件到另一个目录中
- linux命令复制指定文件或者指定目录下的全部文件到另一个目录中
- C#将文件从指定的目录复制到另一个目录
- Linux下用find查找并复制指定文件到指定目录下
- Linux复制指定目录及子目录下特定类型的文件
- C#将文件从指定的目录复制到另一个目录
- Linux下将一个目录下指定的所有文件中的字符串A全部替换为B
- pscp.exe 复制文件到linux 主机指定目录
- Linux下用find查找并复制指定文件到指定目录下
- 复制目录下的全部文件到另一个目录
- Linux复制指定目录及子目录下特定类型的文件
- java复制文件夹下全部的文件到指定目录
- linux下复制目录下所有文件,包括隐藏文件到指定目录
- Linux下c语言实现将一个目录下的所有文件和目录复制到另一个目录下
- Linux中复制文件或目录的命令
- Linux C :遍历输出指定目录下的所有文件