linux 获取指定目录最大深度(层数)

简介:

脚本名:du_folder2.sh

脚本内容:

#!/bin/sh

if [ -z "$1"  ];then

    echo "no argument";

exit 255

fi

 

 

depth_foler()

{

this_dir=`pwd`

source_folder="$1"

source_folder=`echo $source_folder |sed 's#/$##g'`

test_folder="$2"

cd $test_folder

count=0

while [ ! `pwd` = $source_folder ]

do

count=`expr $count + 1`

 

cd ..

done

cd $this_dir

return $count

}

 

 

#echo $?

target_folder="$1"

depth_max=1

for i in `find "$target_folder" -type d` ;do

if [ -d $i -a ! $i = $target_folder ];then

depth_foler "$target_folder" "$i"

retval=$?

if [ $depth_max -lt $retval ];then

                        depth_max=$retval

                fi

# echo "$i --depth: $retval"

fi

done

echo "max depth:$depth_max"



测试:
执行du_folder2.sh  ./
结果是指定目录 ./ 的深度
实例:
[root@localhost du_study2]# ./du_folder2.sh  /home/whuang/du_study2 
max depth:2
[root@localhost du_study2]# du
4 ./ccc
4 ./test/abc
8 ./test
36 .
[root@localhost du_study2]# 

说明:使用du 命令可以验证上面脚本的正确性。
相关文章
|
2月前
|
Linux 数据安全/隐私保护 Windows
Linux共享Windows目录
Linux共享Windows目录
|
8天前
|
Linux
深入理解Linux中的cp命令:文件与目录的复制利器
深入理解Linux中的cp命令:文件与目录的复制利器
|
1月前
|
Linux 应用服务中间件 nginx
|
8天前
|
Linux Shell Python
9-7|salt代码在linux机子那个目录
9-7|salt代码在linux机子那个目录
|
8天前
|
数据可视化 Ubuntu Linux
8-14|如何查看linux目录下文件大小
8-14|如何查看linux目录下文件大小
|
2月前
|
Linux
linux如何去掉目录背景颜色
linux如何去掉目录背景颜色
44 1
|
2月前
|
存储 安全 Linux
在Linux中,日志文件通常存储在哪些目录?
在Linux中,日志文件通常存储在哪些目录?
|
2月前
|
JSON Linux 网络安全
【Azure 应用服务】如何从App Service for Linux 的环境中下载Container中非Home目录下的文件呢?
【Azure 应用服务】如何从App Service for Linux 的环境中下载Container中非Home目录下的文件呢?
|
2月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
2月前
|
Linux
Linux文件与目录的日常操作:轻松上手指南
在Linux系统中,高效管理文件和目录是必不可少的技能。本文介绍了基础且实用的命令,如`ls`用于查看文件和目录,`cd`用于切换目录路径,以及如何利用`mkdir`、`touch`创建新目录和文件。此外,还涵盖了`rm`删除、`mv`移动或重命名、`cp`复制文件或目录等操作。掌握这些命令能显著提升你在Linux环境下的工作效率。通过实践这些基本指令,你将更好地驾驭Linux系统,为进一步学习高级技巧打下坚实的基础。
49 1
下一篇
无影云桌面