如何使用Shell写一个显示目录结构的命令?
1、代码
#!/usr/bin/env bash # 本命令用于显示指定路径或者当前路径的文件结构,支持搜索 # tf 显示当前目录的文件结构 # tf 接关键词 搜索当前目录 # tf 目录 关键词 搜索指定目录 # 本命令依赖于 tree 命令 DIR= KEYWORD= # 不传路径 默认为搜索 if [ # -eq 1 ]; then KEYWORD=1 fi # 指定路径搜索 if [ # -eq 2 ]; then DIR=1 KEYWORD=2 fi if [ -n "DIR" ]; then cd "DIR" || exit 1 fi pwd tree -C -f | grep "KEYWORD"
2、使用效果
- 当前路径
tf
- 搜索
tf 关键词 // 比如 tf lib
- 指定搜索某个路径
tf /usr/local/ lib
3、颜色意思
- 蓝色代表目录
- 绿色代表可执行文件
- 红色代表压缩文件
- 浅蓝色代表链接文件
- 灰色代表其他文件
- 红色闪烁代表链接文件有问题
- 黄色代表设备文件
- 白色代表一般性文件,如:文本文件、配置文件、源码文件等
Tags:Shell