在有些Linux上自带了tree命令来一树状结构显示一个目录,但是在有些linux上没有自带这个程序,所以这里用python写了一个小程序来实现这个功能,代码如下:

#!/usr/bin/python import os, sys, string class XXTree: def __init__(self): pass def printHelp(self, cmd): print 'Please use the following cmd:' print ' ' + cmd + ' dir' print 'e.g.' print ' ' + cmd + ' /home/fkong/tmp' def getTree(self, dir): list = self.getList(dir, 0) treelist = [] for i in range(0, len(list)): fullpath = list[i] parpath = os.path.dirname(list[i]) filename = os.path.basename(list[i]) if(fullpath == dir): treelist.append(fullpath) continue path = fullpath.replace(dir, "") names = path.split("/") name = "`---" + names[len(names) - 1] for j in range(1, len(names) - 1): name = " " + name treelist.append(name) pos = name.index("`") j = i - 1 while j > 0: name = treelist[j] if(name[pos] == '`' or name[pos] == ' '): name = name[0: pos] + "|" + name[pos + 1: len(name)] treelist[j] = name else: break j = j - 1 for i in range(0, len(treelist)): print treelist[i] def getList(self, dir, layer): list = [] if layer == 0: list.append(dir) files = os.listdir(dir) for file in files: file = os.path.join(dir, file) if os.path.isdir(file): list.append(file) list += self.getList(file, layer + 1) else : list.append(file) return list if len(sys.argv) != 2: t = XXTree() t.printHelp(sys.argv[0]) else: t = XXTree() dir = sys.argv[1] t.getTree(dir)

运行效果如下:

$ ./xxtree.py  /home/fkong/workspace/jutility/.svn

/home/fkong/workspace/jutility/.svn

|---format

|---props

|---entries

|---prop-base

|---text-base

|---tmp

|   |---prop-base

|   |---props

|   `---text-base

`---all-wcprops

转载于:https://www.cnblogs.com/wdpp/archive/2009/02/23/2386389.html

Linux用树形结构显示目录结构相关推荐

  1. Qt中树形结构显示目录结构

    第一种,直接用QTreeWidget,这种情况用到QDir类,用递归实现,代码如下 void LoadFiles(QString path, QTreeWidget *treewidget, QTre ...

  2. linux 如何以树形结构显示文件目录结构

    linux 如何以树形结构显示文件目录结构 1.linux 如何显示文件信息 一般可用 ls 命令来查看文件的信息: ls [OPTION]- [FILE]- 如: ls 显示所有文件 ls -1 显 ...

  3. Linux tree命令以树形结构显示文件目录结构

    我用的是阿里云服务器,CentOS7,默认没有tree这个命令,需要安装,用下面的命令就可以安装: sudo yum install tree 怎么样使用tree这个命令 其实有个非常简单的办法,就是 ...

  4. Linux之文档与目录结构 目录的相关操作 Linux的文件系统

    Linux之文档与目录结构 Linux文件系统结构 Linux目录结构的组织形式和Windows有很大的不同.首先Linux没有"盘(C盘.D盘.E盘)"的概念.已经建立文件系统的 ...

  5. 运维 03 Linux之文档与目录结构

    Linux之文档与目录结构 Linux文件系统结构 Linux目录结构的组织形式和Windows有很大的不同.首先Linux没有"盘(C盘.D盘.E盘)"的概念.已经建立文件系统的 ...

  6. 嵌入式Linux系统编程学习之一目录结构

    嵌入式Linux系统编程学习之一目录结构 文章目录 嵌入式Linux系统编程学习之一目录结构 前言 一.Linux目录结构 前言 Linux目录结构 一.Linux目录结构 /bin:存放Linux的 ...

  7. Linux操作系统内核源码目录结构详解

    Linux内核源码目录结构 代码目录结构 在阅读源码之前,还应知道Linux内核源码的整体分布情况.现代的操作系统一般由进程管理.内存管理.文件系统.驱动程序和网络等组成.Linux内核源码的各个目录 ...

  8. word文档中显示目录结构、插入目录

    要使word中左侧显示目录结构,选择菜单栏"视图"--"文档结构图". 如果没有找到"文档结构图",可以自定义添加后重新上述操作. 要插入目 ...

  9. linux文件系统目录结构采用的是,在Linux中,文件系统的目录结构采用的是()。...

    在Linux中,文件系统的目录结构采用的是(). 更多相关问题 徒长枝属于以下哪种一年生枝条类别中的一种() 以下对得房率描述正确的是() 用拉伸试验的方法,可测定金属材料的(). 以下对得房率描述正 ...

最新文章

  1. “一不小心”成为大佬:Rob Knight 的传奇故事
  2. 【转】GLSL资料收集
  3. poj_2349 Kruskal 最小生成树
  4. c语言中判断一个字符串是否包含另一个字符串
  5. 【nodejs】让nodejs像后端mvc框架(asp.net mvc)一样处理请求--参数自动映射篇(6/8)...
  6. 知识图谱组队学习Task02——项目介绍
  7. net 进阶学习 WebApi (2)
  8. AC日记——幸运号码 51nod 1043
  9. M70仿真系统软件下载和使用
  10. 互联网大佬的枕边美女
  11. Mac下输入法总是默认中文,怎么设置成英文的?
  12. 运放噪声频率曲线-运放噪声计算-运算放大器
  13. Mac 编译安装zlib
  14. java中dom是什么_程序员总说的DOM到底是什么?
  15. BAT机器学习面试1000道
  16. 操作系统(期中考试时备考的题目)
  17. 【算法提高—蓝桥杯】阮小二买彩票
  18. 云之讯短信验证码配置方法
  19. 读了冯唐老师的成事心法
  20. javaScript封装的各种写法

热门文章

  1. testflight测试软件怎么,TestFlight使用步骤
  2. 医学专业考计算机三级,2020年9月中国医科大学计算机等级考试报名通知
  3. C语言需要什么程序翻译,c语言怎么翻译? 程序怎么运行?
  4. linux centos7.9中安装docker的3种方式-图解
  5. matlab读取数据 溢出,matlab读取400多兆的wav数据,内存溢出,如何解决
  6. oracle rac单节点恢复,如何Oracle_RAC恢复一个节点总结
  7. Hierarchical line matching based on Line–Junction–Line structure
  8. pytorch学习笔记(十一):pytorch实现多层感知机
  9. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——B题 小宝的幸运数组
  10. MATLAB——判断两个矩阵的元素是否完全相同