Linux脚本——复制特定文件到特定文件夹
来源:互联网 发布:子域名 需要备案吗 编辑:程序博客网 时间:2024/04/28 05:00
1、复制指定目录下的全部文件到另一个目录中
直接 cp -r复制 该目录文件 即可。
linux下进行复制的命令为cp。 假设复制源目录 为 sour ,目标目录为。即cp -r sour dir。
怎样才能将sour下所有文件复制到dir下呢?
- 如果dir目录不存在,则可以直接使用 cp -r sour dir 即可。
- 如果dir目录已存在(空或有其他文件都行),则需要使用 cp -r sour/. dir 如果这时使用cp -r sour dir,则也会将sour目录复制到dir中,明显不符合要求。
2、复制指定文件到指定文件夹(保留目录结构)
首先建立一个用于测试的目录,用'tree'命令查看其结构如下所示:
可见,目录中主要包含用于测试的*.txt文件和用于充当炮灰的*.tes文件
目标是保持当前的目录结构,只把txt文件复制出来
情形一:当不需要的文件类型较为单一时,可以通过完全复制然后删除指定类型的文件完成
Step1 使用命令 cp -r test/ test2 将测试目录test下所有内容完全复制到test2,此时树形结构如下图
Step2 组合使用find及xargs,将*.tes文件删除
find test2/ -name '*.tes' | xargs rm -rf, 即将find产生的输出(test2目录下的所有tes文件转换成命令行参数),传给rm作为参数,从而完全删除这些类型文件
实际效果如图所示
适用场景举例:把项目文件备份,要去除其中的.svn文件,可以采用这种方式
情形二:需要的文件为单一类型,带目录结构复制
这种情况下可以先使用tar命令将指定类型的文件打包(需要组合使用find和xargs),然后解包
Step1 建立目录test3
mkdir test3
Step2 将指定类型文件带目录结构打包
find test/ -name '*.txt' | xargs tar -cvf test3.tgz
Step3 解包到目录test3(必须建立新目录解压至此)
tar -zxvf test3.tgz -C test3
运行结果如图所示:
适用场景:较为普遍,例如可以复制某个Web项目的所有html/jsp/php文件;或复制其他项目中特定类型的源文件
cp命令:
cp -r sour dir(此时若没有dir目录文件。即在工作路径下建立dir目录文件)
注意:sour和dir都是目录文件,加-r选项做递归处理时,复制sour目录及其子目录下的所有文件到dir目录里边。如 sour指该目录和该目录下文件和该目录下子目录的文件。
即cp -r sour dir和cp -r sour/. dir有区别
cp -r sour/. dir和cp -r sour/. dir/.没区别
find命令:
find dir1 dir2 -name "*.tes" -o -name "*.txt" "*.txt" 在dir1和dir2目录及子目录下搜索所有名称为*.tes和*.txt的文件
find dir -type f -name "text" 在dir目录及其子目录下搜索所有名称为text的普通文件
find dir -type f ! -name "text" 加否定参数(f:普通文件; d:目录文件; )
xargs命令:
结合find命令构建单行命令,即是将find的搜索结果先转换为命令行参数,再传递给别的命令作为参数。
tar命令:
tar(选项)(参数)
-c 建立新的备份文件
-t 列出备份文件内容
-x 从备份文件中还原文件
-v 显示指令操作过程
-f<文件列表> 指定备份文件列表
-A 增加文件到已存在的备份文件中
-C<目录> 解压到特定目录
打包/压缩:
tar (选项)(-c 文件名 -f 需要打包/压缩的文件列表)
查看打包/压缩文件:
tar -ztvf
解包/压缩:
tar -zxvf log.tar.gz -C ./tar_dir
参考及转载自:http://www.cnblogs.com/dpf-learn/p/6143145.html
阅读全文
0 0
- Linux脚本——复制特定文件到特定文件夹
- 批处理实现搜索制定盘下指定文件复制到特定文件夹
- 批量删除特定文件夹下特定文件
- 拷贝特定文件格式的文件到某文件夹
- python实现将某类文件复制到特定的目录下
- linux对于特定文件夹删除
- Linux查找文件夹下包括特定字符的文件
- linux统计某一文件夹下,特定文件前缀的命令
- Matlab读取特定文件夹下特定后缀名文件
- log4j写日志到特定文件夹
- Unzip 文件到Linux或UNIX的特定目录
- JS复制特定内容到粘贴板
- 如何用cmd命令递归文件夹中的所有特定文件,拷贝到另一个文件夹中
- XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件
- C++读取文件夹中特定后缀的文件—dirent—vector
- C# 删除文件夹中特定前缀文件
- .Net扫描文件夹下特定类型文件
- 部署中排除特定文件或文件夹
- ionic单选框redio
- shell脚本简介
- RecyclerView直播聊天界面判断最后一条消息位置
- Lock实现之AbstractQueuedSynchronizer——AQS
- ajax 知识
- Linux脚本——复制特定文件到特定文件夹
- java enum(枚举)的使用和总结
- Vijos P1332 最大的括号
- hdu 3652 B-number(数位dp)
- SAP HANA Cloud Platform
- 1003. Emergency (25)
- Nginx安装的前期准备工作
- C语言操作符总结
- Java