写一个Linux shell脚本,查看目录下所有子目录占用空间
时间: 2023-07-20 15:40:21 浏览: 74
可以使用 `du` 命令来查看目录的大小,加上 `-h` 参数可以以易读的方式显示目录大小,加上 `-d` 参数可以指定查看的目录深度。结合 `find` 命令可以查找指定目录下的所有子目录。
下面是一个查看指定目录下所有子目录占用空间的 shell 脚本示例:
```bash
#!/bin/bash
# 指定要查看的目录
dir="/path/to/directory"
# 查找指定目录下的所有子目录,并遍历输出它们的空间占用情况
find "$dir" -type d -print0 | while read -d $'\0' path; do
# 使用 du 命令计算目录大小,并以易读的方式显示
size=$(du -sh "$path" | cut -f1)
echo "$size $path"
done
```
在上面的脚本中,`find` 命令会查找指定目录下的所有子目录,并将它们的路径以 null 字符 (`\0`) 分隔输出。接着使用 `while` 循环读取每个子目录的路径,并使用 `du` 命令计算它们的大小。最后将目录大小和路径输出。
相关问题
写一个linux shell脚本
好的,我来给你写一个简单的 Linux shell 脚本,它的功能是统计某个目录下的文件数量和文件夹数量:
```
#!/bin/bash
# 获取用户输入的目录路径
echo "请输入目录路径:"
read dir_path
# 统计文件夹数量
dir_num=$(ls -l $dir_path | grep "^d" | wc -l)
# 统计文件数量
file_num=$(ls -l $dir_path | grep "^-" | wc -l)
# 输出统计结果
echo "目录 $dir_path 中包含 $dir_num 个文件夹和 $file_num 个文件。"
```
脚本的具体实现过程如下:
1. 首先通过 `echo` 命令提示用户输入目录路径,并通过 `read` 命令获取用户输入的值。
2. 接着使用 `ls -l` 命令列出目录下的所有文件和文件夹,并通过 `grep` 命令筛选出文件夹和普通文件,最后通过 `wc -l` 命令统计数量。
3. 最后使用 `echo` 命令输出统计结果。
注意:在 Linux 系统中,要运行 shell 脚本需要先给脚本添加执行权限,可以使用 `chmod +x 脚本文件名` 命令来添加权限。
在linux下写一个shell脚本
在Linux下编写一个Shell脚本,可以按照以下步骤进行:
1. 打开终端,创建一个新的纯文本文件,例如:test.sh。
2. 在文件的第一行添加Shebang,指定使用哪种Shell解释器,例如:#!/bin/bash。
3. 在文件中添加Shell命令和语法结构,组成一个完整的Shell脚本程序。
4. 保存文件并退出编辑器。
5. 在终端中使用chmod命令将文件设置为可执行权限,例如:chmod +x test.sh。
6. 在终端中执行脚本,例如:./test.sh。
举个例子,如果我们想要编写一个Shell脚本来列出当前目录下所有的文件和文件夹,可以按照以下步骤进行:
1. 打开终端,创建一个新的纯文本文件,例如:list_files.sh。
2. 在文件的第一行添加Shebang,指定使用bash解释器,例如:#!/bin/bash。
3. 在文件中添加命令和语法结构,例如:ls -al。
4. 保存文件并退出编辑器。
5. 在终端中使用chmod命令将文件设置为可执行权限,例如:chmod +x list_files.sh。
6. 在终端中执行脚本,例如:./list_files.sh。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)