设为首页收藏本站
查看: 3628|回复: 1

[脚本语言] 3.5 文件和目录列表

[复制链接]
  • TA的每日心情
    无聊
    5 天前
  • 签到天数: 909 天

    [LV.10]以坛为家III

    发表于 2022-8-12 20:04:48 | 显示全部楼层 |阅读模式
    本帖最后由 冷月nuanyang 于 2022-8-15 23:02 编辑

    3.5 文件和目录列表
            要想知道系统中有哪些文件,可以使用命令(ls)。
    3.5.1 基本列表功能
            ls命令最基本的形式会显示当前目录下的文件和目录
           
            注意,ls命令输出的列表是按字母排序的(按列排序而不是按行排序)。如果用户用的是支持彩色的终端仿真器。ls命令还可以用不同的颜色来区分不同类型的文件。LS_COLORS环境变量控制着这个功能。不同的Linux发行版根据各自终端仿真器的能力设置这个环境变量。
            如果没有安装彩色终端仿真器,可用带-F参数的ls命令区分文件和目录。如
           
            -F参数在目录命后加了正斜线(/),以方便用户在输出中分辨它们。类似地,它会在可执行文件的后面加个星号,以方便用户找出可在系统上运行的文件。
            基本的ls命令在某种意义上有点容易让人误解。它显示了当前目录下的文件和目录,但并没有将全部显示出来。Linux经常采用隐藏文件来保存配置信息。在Linux上,隐藏文件通常是文件名以点号开始的文件。这些文件并没有默认的ls命令输出中显示出来,因此称其为隐藏文件。
            要把隐藏文件和普通文件及目录一起显示出来,就得用到-a参数,如
           
            所有以点号开头的隐藏文件现在都显示出来了。
            -R参数是ls命令可用的另一个参数,叫做递归选项。它列出了当前目录下包含的子目录中的文件,如果目录很多,这个输出就会很长。如:
           
            注意,首先-R参数显示了当前用户目录下的内容,也就是只之前例子中root目录下的那些文件,另外,它还显示除了root目录下所有子目录及其内容。
    3.5.2 显示长列表
            在基本的输出列表中,ls命令并未输出太多每个文件的相关信息。要显示附加信息,另一个常用的参数是-l。-l参数会产生长列表格式的输出,包含了目录中每个文件的更多相关信息
           
            这种长列表格式的输出在每一行中列出了单个文件或目录。除了文件名,输出中还有其他有用信息。输出的第一行显示了在目录中包含的总块数。再次之后,每一行都包含了关于文件(或目录)的如下信息:
            ①文件类型,如目录(d)、文件(-)
            ②文件的权限
            ③文件的硬链接总数
            ④文件属主的用户名
            ⑤文件属组的组名
            ⑥文件的大小(以字节为单位)
            ⑦文件的上次修改时间
            ⑧文件名或目录名
            -l参数是一个强大的工具。有了它,几乎可用看到系统上任何文件或目录的大部分信息。
            在进行文件管理时,ls命令的很多参数都能派上用场。如果在shell提示符中输入man ls,就能看到可用来修改ls命令输出的参数有好几页
    3.5.3 过滤输出列表
            由前面的例子可知,默认情况下,ls命令输出目录下的所有非隐藏文件。有时这个输出会显得过多,当你只需要查看单个少数文件信息时更是如此
            幸而ls命令还支持在命令行中定义过滤器。它会用过滤器来决定应该在输出中显示那些文件或目录
            这个过滤器就是一个进行简单文本匹配的字符串。可以在要用的命令行参数之后添加这个过滤器:
           
            当用户指定特定文件的名称作为过滤器时,ls命令只会显示该文件的信息。有时你可能不知道要找的那个文件的确切名称。ls命令能够识别标准通配符,并在过滤器中用它们进行模式匹配
            ①问号(?)代表一个字符
            ②星号(*)代表零个或多个字符
            问号可用于过滤器字符串中替代任意位置的单个字符如:
           
            在过滤器中使用星号和问号被称为文件扩展匹配(file globbing),指的时使用通配符进行模式匹配的过程。通配符正式的名称叫做元字符通配符(metacharacter wildcards)。除了星号和问号之外,还有更多的元字符通配符可用于文件扩展匹配。可以使用中括号。
           
            在这个例子中,使用了中括号已经在特定位置上可能出现的两种字符:s或i。中括号表示一个字符位置并给处多个可能的选择。可以像上面的例子那样将待选的字符列出来,页可以指定字符范围。如
           
            另外,可以使用感叹号(!)将不需要的内容排除在外,如
           
            在进行文件搜索时,文件扩展匹配是一个功能强大的特性,它也可以用于ls以外的其他shell命令。

    ————————————————————————————————————————————————————————————


    3.6 处理文件
    https://www.chncert.cn/forum.php ... amp;fromuid=1016784

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
  • TA的每日心情
    开心
    2023-9-4 15:59
  • 签到天数: 445 天

    [LV.9]以坛为家II

    发表于 2022-8-13 02:14:18 | 显示全部楼层
    ls -l果然强大,可以做到类似find命令的过滤文件的效果,试想一下ls可以不可配合什么命令或者shell批处理达到find  grep等类似的效果
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    红盟社区--红客联盟 

    Processed in 0.058315 second(s), 22 queries.

    站点统计| 举报| Archiver| 手机版| 黑屋 |   

    备案号:冀ICP备20006029号-1 Powered by HUC © 2001-2021 Comsenz Inc.

    手机扫我进入移动触屏客户端

    关注我们可获取更多热点资讯

    Honor accompaniments. theme macfee

    快速回复 返回顶部 返回列表