linux系统中,查找指定文件夹下文件夹名含有1、2、3的压缩文件夹并复制到指定文件夹中的完整命令
时间: 2023-06-19 21:03:38 浏览: 181
可以使用以下命令:
```
find /path/to/folder -type d \( -name "*1*" -o -name "*2*" -o -name "*3*" \) -exec tar -czvf {}.tar.gz {} \; -exec cp {}.tar.gz /path/to/destination \; -delete
```
其中,`/path/to/folder` 是指定的文件夹路径,`*1*`、`*2*`、`*3*` 是通配符,匹配文件夹名包含 1、2、3 的文件夹,`-exec` 参数是在 `find` 命令查找到的每个目录上执行的命令,`-delete` 参数表示删除原始目录。
该命令将在 `/path/to/folder` 中查找文件夹名中包含 1、2、3 的目录,并将它们压缩成 `.tar.gz` 文件,然后将这些文件复制到指定文件夹 `/path/to/destination` 中,并删除原始目录。
相关问题
liunx中利用.zst命令解压缩某个文件夹下所有的.zst文件,并将解压后的文件放入指定路径的文件夹中
在Linux中,你可以使用`zstd`命令行工具来解压缩`.zst`文件。假设你想在一个名为`source_folder`的文件夹下查找所有`.zst`文件并解压它们到`destination_folder`中,可以按照以下步骤操作:
1. 首先,你需要确认`zstd`已经安装在你的系统上。如果没有,可以通过包管理器如`apt-get`(对于Debian系)或`yum`(对于RHEL系)来安装:
```sh
sudo apt-get install zstd # 对于Debian系
sudo yum install zstd # 对于RHEL系
```
2. 使用`find`命令找到`source_folder`下的所有`.zst`文件:
```sh
find source_folder -name "*.zst"
```
3. 然后,对每个找到的`.zst`文件,使用`zstd`的`decompress`选项来解压并指定目标目录`destination_folder`:
```sh
for file in $(find source_folder -name "*.zst"); do
destination=$(dirname "$file")/$(basename "$file" .zst) # 获取解压后文件名
zstd -d "$file" -o "$destination"
done
```
4. 上述脚本会逐个解压文件,并将结果放在对应解压前的文件夹内。
注意:执行以上命令时请确保有足够的权限访问源文件和目标目录,如果需要,可能需要添加`sudo`。
Linux文件夹操作命令
答案:
Linux文件夹操作命令有很多,以下是一些常用的命令:
1. 创建文件夹:`mkdir`
2. 删除文件夹:`rmdir`(只能删除空文件夹)或`rm -r`(删除文件夹及其内容)
3. 切换目录:`cd`
4. 列出目录内容:`ls`
5. 查看文件内容:`cat`、`more`、`less`、`tail`等
6. 复制文件或文件夹:`cp`
7. 移动文件或文件夹:`mv`
8. 重命名文件或文件夹:`mv`或`rename`
9. 查找文件:`find`
10. 压缩/解压缩文件:`tar`、`gzip`、`gunzip`等
相关问题:
阅读全文