编写shell脚本test01.sh实现如下功能:将“/root/tmp”目录及其子目录夹下存放的文件名中包含字符‘t’的文件以相同的名字拷贝到 当前目录中的mytest01目录中。
时间: 2024-03-26 13:39:58 浏览: 16
好的,以下是实现该功能的shell脚本test01.sh的代码:
```bash
#!/bin/bash
# 创建目标目录
mkdir mytest01
# 查找包含字符't'的文件并拷贝到目标目录
find /root/tmp -type f -name '*t*' -exec cp {} ./mytest01 \;
echo "拷贝完成!"
```
解释一下上述代码:
- 第1行声明使用bash解释器。
- 第4行创建名为mytest01的目录,用于存放拷贝后的文件。
- 第7行使用find命令查找/root/tmp目录及其子目录下的所有文件,并过滤出文件名中包含字符't'的文件。
- 第8行使用-exec选项将找到的文件逐个拷贝到当前目录下的mytest01目录中。
- 第10行输出拷贝完成的提示信息。
注意事项:
- 脚本执行前,确保/root/tmp目录存在且包含需要拷贝的文件。
- 若当前目录下已存在名为mytest01的目录,执行脚本时会提示是否覆盖该目录,根据需要选择相应操作即可。
- 上述代码中的拷贝命令cp采用的是默认的覆盖方式,如果需要保留原文件,请使用cp -n命令。
相关问题
1.编写shell脚本test01.sh实现如下功能:将“/root/tmp”目录及其子目录夹下存放的文件名中包含字符‘t’的文件以相同的名字拷贝到 当前目录中的mytest01目录中。
好的,我会为你编写该Shell脚本。以下是代码:
```bash
#!/bin/bash
# 创建mytest01目录
mkdir mytest01
# 查找/root/tmp目录及其子目录下包含字符't'的文件,并拷贝至mytest01目录中
find /root/tmp -name "*t*" -exec cp {} ./mytest01 \;
```
解释一下该脚本的执行步骤:
1. 创建名为mytest01的目录;
2. 使用`find`命令查找/root/tmp目录及其子目录下包含字符't'的文件;
3. 对于每一个找到的文件,使用`-exec`选项执行`cp`命令将其拷贝至mytest01目录中。
注意事项:
- 该脚本需要在root用户下执行,因为/root/tmp目录只有root用户才有读取权限;
- 执行该脚本前,请确保当前目录没有名为mytest01的子目录,否则会覆盖该目录中的文件。
1.编写shell脚本test0sh实现如下功能:将“/root/tmp”目录及其子目录夹下存放的文件名中包含字符‘t’的文件以相同的名字拷贝到 当前目录中的mytest01目录中。
可以使用以下脚本实现:
```bash
#!/bin/bash
# 新建mytest01目录
mkdir mytest01
# 查找/root/tmp及其子目录下包含字符't'的文件,复制到mytest01目录中
find /root/tmp -type f -name "*t*" -exec cp {} ./mytest01/ \;
```
解释一下脚本的具体步骤:
1. 首先使用`mkdir`命令创建一个名为`mytest01`的目录,如果该目录已经存在则不会出错;
2. 使用`find`命令查找`/root/tmp`及其子目录下所有包含字符`t`的文件;
- `-type f`表示只查找文件,不包括目录;
- `-name "*t*"`表示文件名包含字符`t`;
- `-exec cp {} ./mytest01/ \;`表示将查找到的文件复制到当前目录下的`mytest01`目录中。
注意,以上脚本中的路径`/root/tmp`和目录名`mytest01`均可根据实际情况进行修改。