Linux下有这样一个命令,可以把当前目录下的所有文件和子文件以tree的方式显示出来,看下效果
- [www.linuxidc.com@localhost test]$ tree
- .
- |-- A
- |-- B
- |-- C
- `-- test2
- |-- D
- |-- E
- `-- F
- 3 directories, 4 files
- [crazybaby@localhost test]$
自己用递归方式用C实现了下,效果如下:
- [www.linuxidc.com@localhost test]$ ./a.out
- ./test
- A
- a.out
- B
- C
- +test2
- F
- +D
- +E
- [crazybaby@localhost test]$
这里+号表示directory.
下面是源码:
- #include <iostream>
- #include <sys/stat.h>
- #include <dirent.h>
- #include <vector>
- using namespace std;
- int showConsoleDir(char* path, int cntFloor) {
- DIR* dir;
- DIR* dir_child;
- struct dirent* dir_ent;
- if ((dir = opendir(path))==NULL) { //open current directory
- cout<<"open dir failed!"<<endl;
- return -1;
- }
- while ((dir_ent = readdir(dir))!=NULL) {
- if ((dir_ent->d_name[0] == '.') || (strcmp(dir_ent->d_name, "..") ==0)){ //if . or .. directory continue
- continue;
- }
- char tName[10000];
- memset(tName, 0, 10000);
- snprintf(tName,sizeof(tName),"%s/%s",path,dir_ent->d_name);
- if ((dir_child = opendir(tName))!=NULL){ //if have a directory
- int t = cntFloor;
- while (t--) {
- cout<<" ";
- }
- cout<<"+"<<dir_ent->d_name<<endl;
- showConsoleDir(tName, cntFloor+1);
- }
- else
- {
- int t = cntFloor;
- while (t--) {
- cout<<" ";
- }
- cout<<dir_ent->d_name<<endl;
- }
- }
- }
- int main(int argc, char* argv[]){
- int cntFloor=1;
- showConsoleDir("./", cntFloor);
- }
相关推荐
tree命令是以图形化的树结构打印文件和目录的主角。通常linux发行版本中并没有包括这个命令。你需要用包管理器自行安装。 实例: 1. tree 打印当前目录下所有文件 2. tree –p ${dir} 打印dir目录下所有文件,以及...
在Linux操作系统中,`tree`命令是一个非常实用的工具,它能够以树状结构显示出文件系统目录的层次,使得用户可以清晰地了解到目录及其子目录中的文件分布情况。这个工具对于管理和理解复杂的文件结构尤其有帮助。...
根据提供的文件信息,我们可以整理出一系列与Linux操作系统及其shell命令相关的知识点。以下是对这些知识点的详细解释: ### Linux的常用Shell命令 #### 文件操作 **1. 复制文件** - `cp mapred-site.xml....
一定要vi crontab.sh来写 ... 您可能感兴趣的文章:一天一个shell命令 linux文本操作系列-tree命令详解Linux shell 之 提取文件名和目录名的一些方法总结Linux shell常用的73条命令总结Linux下使用shell脚本自动执行脚本
学习 Linux 的第一步:当然是从 Linux 命令 入手: 查看 Linux 命令帮助信息 - 关键词:help, whatis, info, which, whereis, man Linux 文件目录管理 - 关键词:cd, ls, pwd, mkdir, rmdir, tree, touch, ln, ...
Linux 文件目录管理 - 关键词:cd, ls, pwd, mkdir, rmdir, tree, touch, ln, rename, stat, file, chmod, chown, locate, find, cp, mv, rm Linux 文件内容查看命令 - 关键词:cat, head, tail, more, less, sed, ...
41. tree命令:显示目录树结构。 42. useradd命令:添加新用户。 43. usermod命令:修改用户信息。 44. userdel命令:删除用户。 45. groupadd命令:添加新用户组。 46. passwd命令:修改用户密码。 47. chown命令:...
`ls` 是Linux中最常用的命令之一,通过添加不同的选项可以实现更丰富的功能,如 `-l` 显示详细信息、`-a` 显示隐藏文件等。 2. **cd** - **功能说明**:从当前工作目录切换到指定的工作目录。这是日常操作中必不可...
Linux 系统中有很多实用的命令,掌握这些命令可以帮助我们更好地使用 Linux 系统。以下是 Linux 常规操作命令大全,涵盖了文件操作、磁盘操作、系统操作等多方面的知识点。 文件操作命令: * cat:显示文件内容和...
Linux中最常用的shell是bash(Bourne Again SHell),它提供了丰富的功能,包括命令补全、历史记录和主键盘快捷键。命令补全功能可以自动完成你正在输入的文件名或命令,历史记录则允许你查看并重复使用以前输入过的...
Linux命令行提供了管道(|)和重定向(>、>>、<、)的功能,允许用户将命令输出作为另一个命令输入,或将输出重定向到文件中,从而实现更复杂的命令组合和数据处理。 Linux文件系统和命令是其操作系统的基础,掌握...
linux shell命令通常可以通过-h或--help来打印帮助说明,或者通过man命令来查看帮助,有时候我们也会给自己的程序写简单的帮助说明,其实帮助说明格式是有规律可循的 帮助示例 下面是git reset命令的帮助说明,通过...
此命令用于查看Shell内置命令的帮助信息。例如: ``` help mkdir ``` #### 二、文件与目录操作 这部分命令是日常工作中使用频率最高的。 - **ls** - 列出目录内容。 - **tree** - 以树状结构显示目录结构。 - **pwd...
Linux 系统运维中,掌握基本命令是非常重要的。本文总结了 150 个 Linux 系统运维必备命令,涵盖查询及帮助命令、文件和目录操作命令、查看文件及内容处理命令等多个方面。 查询及帮助命令 * `man` 命令用于查看...
对linux命令tree的简单实现,遍历指定文件夹下的所有文件
Linux命令操作是Linux系统管理的基础,它涉及到对系统的日常维护、文件管理、用户管理等多个方面。下面我们将详细探讨这些知识点。...在实践中不断练习和熟悉这些命令,将极大地提升你的Linux操作技能。
在IT行业中,Linux Shell命令、Jenkins和Git是开发者日常工作中不可或缺的工具。下面将详细介绍这些领域的常用命令和概念。 **Linux Shell命令** Shell是Linux操作系统中的一个命令行解释器,它提供了用户与操作...
Linux命令速查手册是一本针对Linux操作系统中常用命令的快捷查询工具书。手册主要为Linux用户提供快速查阅和了解各种Linux命令的方法。它按照不同的功能模块进行分类,每个类别下都有若干具体的命令进行详细介绍,...
### Red Hat Linux命令大全解析 #### 一、系统管理与控制 - **login**: 用户登录命令,用于切换或建立新的用户会话。 - **logout** 和 **exit**: 用于退出当前用户会话,返回到登录界面或上一个shell。 - **...