编写shell脚本,吧/root/目录下的所有目录复制到/tmp/目录下
时间: 2023-09-11 11:05:02 浏览: 97
### 回答1:
可以使用以下脚本实现:
```
#!/bin/bash
# 复制 /root/ 下的所有目录到 /tmp/ 下
cp -r /root/*/ /tmp/
```
注意,使用该脚本需要具有管理员权限。另外,该脚本会将 /root/ 下的所有目录复制到 /tmp/ 下,如果 /tmp/ 目录下已经存在同名目录,则会覆盖原有目录。
### 回答2:
可以使用以下的shell脚本来实现把/root/目录下的所有目录复制到/tmp/目录下:
```shell
#!/bin/bash
# 进入/root/目录
cd /root/
# 获取/root/目录下的所有目录
directories=$(ls -d */)
# 遍历目录列表
for dir in $directories
do
# 将目录复制到/tmp/目录下
cp -r "$dir" /tmp/
done
# 提示复制完成
echo "目录已复制到/tmp/目录下"
```
脚本的过程如下:
1. 进入/root/目录;
2. 使用`ls -d */`命令获取/root/目录下的所有目录,存储在变量`directories`中;
3. 使用for循环遍历目录列表,每次循环将当前目录复制到/tmp/目录下;
4. 复制完成后,通过`echo`命令提示复制完成。
最后,脚本会输出"目录已复制到/tmp/目录下"来表示复制过程已完成。
### 回答3:
编写一个shell脚本来将/root/目录下的所有目录复制到/tmp/目录下,可以按照以下步骤进行操作:
1. 打开一个文本编辑器,创建一个新的文件,并给它一个有意义的名字,比如copy_dirs.sh。
2. 在文件的开头添加一行声明,告诉系统这是一个shell脚本:#!/bin/bash
3. 下一行是要执行的命令,通过使用cp命令复制目录。命令的格式是:cp -r 源目录 目标目录。在我们的情况下,源目录是/root/,目标目录是/tmp/。
4. 接下来,我们需要列出/root/目录下的所有目录。我们可以使用ls命令,加上选项-d和/*/来列出只包含目录的结果。
5. 将这个结果作为复制命令的参数。使用反引号(`)将ls命令的结果嵌入到复制命令中。
6. 最后,保存并关闭文件。
下面是一个示例的copy_dirs.sh脚本:
```bash
#!/bin/bash
cp -r `ls -d /root/*/` /tmp/
```
保存文件后,我们需要为脚本添加执行权限。打开终端,进入脚本所在的目录,并执行以下命令:
```bash
chmod +x copy_dirs.sh
```
现在,我们可以运行脚本了。在终端中执行以下命令:
```bash
./copy_dirs.sh
```
脚本将会复制/root/目录下的所有目录到/tmp/目录下。