如何使用Shell写一个显示目录结构的命令?

我们需要知道如何打开终端界面并进入到指定文件夹内。我们需要使用ls命令来列出当前文件夹的所有内容。ls -l此时屏幕上会显示每个子项的权限、创建日期、大小等详细信息。

按需定制可以根据自己的需求进行定制,网站制作、网站设计构思过程中功能建设理应排到主要部位公司网站制作、网站设计的运用实际效果公司网站制作网站建立与制做的实际意义

最近在学习Linux系统管理,发现使用Shell脚本可以大大提高工作效率。其中一个很基础但却实用的功能就是展示目录结构。如果你也想学习这个技能,那么请继续阅读下去。

首先,我们需要知道如何打开终端界面并进入到指定文件夹内。假设我们要进入名为“my_folder”的文件夹,则在终端中输入以下命令:

```

cd my_folder

接着,我们需要使用ls命令来列出当前文件夹的所有内容。该命令会将所有子文件和子文件夹列出来:

ls

如果希望更详细地了解每个子项的信息,可以加上-l参数:

ls -l

此时屏幕上会显示每个子项的权限、创建日期、大小等详细信息。

现在让我们开始编写自己的目录结构展示脚本吧!首先,在任意位置新建一个空白文本文档,并将其重命名为“showdir.sh”(注意后缀必须是“.sh”,否则无法运行)。然后右键单击该文件并选择“属性”,切换到“权限”选项卡,并勾选“允许执行此文件作为程序”。

接着,在showdir.sh文件中输入以下代码:

#!/bin/bash

echo "The directory structure is:"

echo ""

ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'

这段代码的作用是递归地列出当前目录及其子目录下所有文件和文件夹,并将它们按照树形结构展示出来。其中:

- echo命令用于输出一行文字,告诉用户我们要展示的是目录结构;

- ls命令加上-R选项表示递归地列出当前目录及其子目录下所有内容;

- grep命令过滤掉不需要展示的内容(即非文件夹名称),只保留以“:”结尾的行;

- sed命令对每个匹配到的行进行替换操作:首先去掉末尾多余的冒号符号;然后将路径分隔符“/”替换成连字符“-”,并在前面添加空格;最后将第一个连字符改为竖线。

完成以上步骤后,保存并关闭showdir.sh文件。现在打开终端界面,进入到你想要展示的目标文件夹内,并运行以下命令:

./showdir.sh

稍等片刻,你就可以看到该目录下所有子项呈树形结构排列的结果了。

文章标题:如何使用Shell写一个显示目录结构的命令?
文章来源:http://www.36103.cn/qtweb/news18/21868.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联