带目录结构复制单一文件类型

2023年 7月 16日 82.1k 0

需求

取出/data/www/目录下的所有php文件,并且保持目录结构。

解决方法:

这种情况下可以使用find命令获取出指定目录php结尾的文件,然后使用tar命令将php文件以及,目录结构打包。

find /data/www/ -name '*.php' | xargs tar zcf php.tgz

使用示例

创建一个测试目录/data/www/包含php及jsp,html结尾的web文件

[root@node1 ~]# cat create.sh 
#!/bin/bash
for i in {1..3};do
  mkdir /data/www/test$i/ -p
  touch /data/www/test$i/$i.php
  touch /data/www/test$i/$i.jsp
  touch /data/www/test$i/$i.html
done

[root@node1 ~]# sh create.sh 
[root@node1 ~]# tree /data/www/
/data/www/
├── test1
│   ├── 1.html
│   ├── 1.jsp
│   └── 1.php
├── test2
│   ├── 2.html
│   ├── 2.jsp
│   └── 2.php
└── test3
    ├── 3.html
    ├── 3.jsp
    └── 3.php

使用find命令过滤/data/www/下的php文件,并且使用tar命令将目录结构和php文件打包。

[root@node1 ~]# find /data/www/ -name '*.php' | xargs tar zcf php.tgz

将打包后的php文件解压到/tmp目录下就可以看到/data/www/目录下的php文件即目录结构已经完整取出来了。

[root@node1 ~]# tar xf php.tgz -C /tmp/
[root@node1 ~]# tree /tmp/data/www/
/tmp/data/www/
├── test1
│   └── 1.php
├── test2
│   └── 2.php
└── test3
    └── 3.php

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论