Win10以树形结构显示文件目录结构

前言

  本文其实可以算是标题党,Windows本身并不能以树形结构显示文件目录结构,一般需要借助第三方工具(后面去网上搜索了一下,发现 Windows 居然也有一个 tree 命令 o(╯□╰)o),Windows 虽然能用命令行显示树形结构文件目录,但不像 Linux 那样可以输入一些参数控制其输出。Win10 有个特殊的功能,就是可以使用 Ubuntu 的 bash,只需要开启这个有趣的功能,就可以将 Win10 当 Ubuntu 使用,从而像 Linux 那样只输入相关命令即可显示树形结构文件目录。

*注:值得注意的是 Win10 中的 bash 目前不支持中文输入,只能切换到英文输入才能正常输入。

准备篇

首先需要在 Win10 下开启 bash 功能。具体开启方法为:

  1. 打开 Win图标 ==》 设置 ==》 更新和安全 ==》 针对开发人员(左侧),选中开发人员模式
  2. 打开 Win图标 ==》 设置 ==》 应用 ==》 应用和功能(左侧) ==》 程序和功能(最下面的相关设置中) ==》 启用或关闭Windows功能(左侧),选中适用于Linux的Windows子系统(Beta)后点击确定。
  3. 重启计算机。打开 bash,打开 bash 的方法很多,这里列出三种:1、直接在微软小娜中输入关键字"bash"搜索 Bash on Ubuntu on Windows;2、Win键+R,输入 bash,点击确定即可打开 bash;3、Win键+R,输入 cmd,在 cmd 中输入 bash,回车即可打开 bash。打开 bash 后将会提示你是否下载安装 Ubuntu on Windows,输入 y 继续,稍等片刻即可完成下载安装。

设置篇

  安装完成后系统将会提示你设置用户名和密码。(如果这一步设置成功可以直接跳过设置篇直接看使用篇)。不知道怎的,Shaun 这一步没有完成,每次系统都是直接以 root 用户登录,而且没有密码,为了安全考虑,也幸好登录时是 root 用户,可以自由对系统修改。所以 Shaun 需要对 root 密码进行修改,并创建新的用户。具体过程需执行以下命令:

root 用户下,修改用户密码:

1
passwd 用户名 (修改密码)

  由于 Shaun 需要修改 root 密码,所以该用户名即为 root,执行之后需要输入新密码(在 *nix 哲学中,密码是不会显示在输入屏幕中的,所以如果在输入密码时发现屏幕没有任何变化是没关系的,只管输入即可 ↖(^ω^)↗),两次输入完成后会显示密码更新成功。

接下来需要创建新的普通用户,在 root 用户下执行:

1
adduser xxx # 这样的命令会在home目录下添加一个帐号

或者

1
useradd xxx #仅仅是添加用户,不会在home目录添加帐号

  推荐使用前者,这样可以很明确已经成功创建新用户,而且如果用户需要存放一些文件也更安全和方便。

  在 *nix 中,绝对不推荐直接使用root用户对系统执行各种命令,毕竟其权限太大,一旦误操作将造成无法挽回的后果。有些命令普通用户可能没有权限执行,这时需要提高其权限,普通用户临时获取 root 权限的方法为:在需要执行的命令前添加sudo,像上文中如果普通用户需要创建新用户 xxx 则需要执行sudo adduser xxx,执行以上命令后同样需要输入新用户的密码。

使用篇

  先切换至普通用户,执行su xxx切换用户,即可发现 shell 提示符由#变为$,前面的用户名由root变为xxx;执行cd ~切换至用户目录。由于 Ubuntu 系统中本身没有 tree 这个命令,需要执行以下命令安装 tree 命令工具:

1
sudo apt install tree

  直接输入tree命令,系统将会自动以树形结构列出当前目录中所有文件及文件夹;执行tree -L N 命令,以树形结构查看当前 N 级的目录和文件,eg:以树形结构查看当前目录二级文件结构,则执行tree -L 2。若想将输出的2级文件结构保存至上一层文件的tree.txt文件中,可执行tree -L 2 > ../tree.txt,进入上一层目录cd ..,打开 tree.txt 即可发现该目录的文件结构。

后记

  遇事还是需要多查证一下啊,想当然果然是会出问题的,文章开头差点就犯错误了 ~\(≧▽≦)/~。本文其实是在写 Win10+VS2013+CMake-gui编译和配置OpenCV-3.2.0 时,为了方便显示输出文件结构而查找的相关资料。

参考资料

[1]linux tree命令以树形结构显示文件目录结构http://jingyan.baidu.com/tag?tagName=linux

[2] win tree命令 tree导出目录 tree显示树形结构http://jingyan.baidu.com/tag?tagName=%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F

[3] win10下linux系统的安装(开启)和使用

[4] Ubuntu建立和删除用户

[5] linux修改root密码和linux忘记root密码后找回密码的方法