tree命令

 

#!/bin/sh

find ./ -name "*" -o -name ".*" 2>/dev/null |sed -e 's/^/.//' |sed -n '2,$p' | while read line

do

  a=`echo $line |awk -F// '{print NF}'`

  a=$((a-2))

  i=1

  case $a in

  0) echo $line |sed -e 's////|---/' ;;

  *) while [ ! $i -gt $a ]; do

       line=`echo $line |sed -e 's///[^//]*/|   /'`

       i=$((i+1))

     done

     echo $line |sed -e 's////|---/' -e 's/  */   /g';;

  esac

done

 

 

 

#! /bin/sh

case $# in

0) curpath=$PWD ;;

1) cd $1 2>/dev/null && curpath=$PWD || exit 9 ;;

*) echo "usage $0 [path]" ; exit 1 ;;

esac

 

case $(uname) in

HP-UX) ECHO="echo " ;;

*) ECHO="echo -e " ;;

esac

 

echo $curpath

pre=$(echo $curpath |awk -F/ '{print NF}')

find $curpath -name "*" -o -name ".*" 2>/dev/null |sed -n '2,$p' |while read line; do

i=2

num=$(echo $line |awk -F/ '{print NF}')

num=$((num-pre+1))

while [ $i -lt $num ] ; do

$ECHO "|     /c"

num=$((num-1))

done

$ECHO "|-----"${line##*/}

done

 

 

### Tree 命令的用法及相关信息 `tree` 是一个在命令行中用于递归列出目录结构的工具,通常用于显示文件系统中的目录树。它最初是为 DOS 和 Windows 环境开发的,后来也被移植到 Unix 和 Linux 系统中。以下是 `tree` 命令的一些关键用法和选项[^3]: #### 1. 基本语法 ```bash tree [选项] [目录] ``` #### 2. 常见选项 - `-d`: 仅显示目录,不显示普通文件。 - `-L level`: 限制递归深度为指定的层数。 - `-f`: 显示每个文件或目录的完整路径。 - `-a`: 显示所有文件,包括隐藏文件。 - `-P pattern`: 仅显示与指定模式匹配的文件。 - `-I pattern`: 排除与指定模式匹配的文件。 - `-h`: 以人类可读的格式显示文件大小(如 KB、MB)。 #### 3. 示例 以下是一些常见的使用示例: - 显示当前目录下的所有文件和子目录: ```bash tree ``` - 仅显示目录结构,不包含普通文件: ```bash tree -d ``` - 限制递归深度为 2 层: ```bash tree -L 2 ``` - 显示完整路径名: ```bash tree -f ``` - 包含隐藏文件: ```bash tree -a ``` - 排除特定类型的文件(例如 `.git` 文件夹): ```bash tree -I ".git" ``` #### 4. 安装方法 在某些 Linux 发行版中,`tree` 命令可能默认未安装。可以通过以下命令安装: - 在 Debian/Ubuntu 系统中: ```bash sudo apt-get install tree ``` - 在 CentOS/Fedora 系统中: ```bash sudo yum install tree ``` #### 5. 输出格式 `tree` 命令的输出通常是一个可视化的目录树,便于用户快速理解文件系统的结构。例如: ```plaintext . ├── dir1 │ ├── file1.txt │ └── file2.txt └── dir2 └── file3.txt ``` 此输出表示当前目录下有两个子目录 `dir1` 和 `dir2`,其中 `dir1` 包含两个文件,而 `dir2` 包含一个文件[^3]。 ### 注意事项 在某些情况下,`tree` 命令可能无法满足复杂的文件系统分析需求。此时可以考虑结合其他工具(如 `find` 或 `ls`)来实现更灵活的功能[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值