linux中ls命令_linux中ls命令的功能

linux中ls命令_linux中ls命令的功能Linux中ls命令的用法详解一.目录结构使用ls命令我们首先要了解Linux下的目录结构Linux系统是由各种文件和目录构成的,就像Windows系统下文件和文件夹的关系,一级一级的向下包含扩展,例如在根目录下有bin,boot,dev,etc,home等目录而在

Linux中ls命令的用法详解
  一.目录结构

  使用ls命令我们首先要了解Linux下的目录结构

  Linux系统是由各种文件和目录构成的,就像Windows系统下文件和文件夹的关系,一级一级的向下包含扩展,例如在根目录下有bin,boot,dev,etc,home等目录而在这些目录下又包含了其他的文件和目录,这样就形成了以根目录”/”为根的树形结构

   

  另:每个目录下都有“.”“..”这样的两个隐藏文件,“.”表示本文件,“..”表示父目录

  二. Linux下的文件类型

  在Linux下一切皆文件 everything is file,包括目录也是文件的一种而这些文件被分为七种类型:

  • -:普通文件  

  • d: 目录文件

  • b: 块设备

  • c: 字符设备

  • l: 符号链接文件  

  • p: 管道文件pipe

  • s: 套接字文件sock

  三.Linux中ls命令及其常用参数

  ls功能: 列出非目录的文件项,然后是每一个目录中的“可显示”文件(可理解为ls命令将本目录向下展开两级)

  ls用法:ls  [参数]  [目录名]

          (如过要显示当前目录的文件可不加目录名)

  ls常用参数

       -a 显示所有文件,包含隐藏文件

       -A 显示所有文件,包含隐藏文件,但不包含.及..

   -l  显示为long format(长格式),列出文件的类型、权限、链接数、owner、group、大 小,时间,名字

       -R   

       -d 不展开目录,只显示目录自身,一般与-l配合使用以显示目录自身的属性信息(只显示当前目录的内容)

       -1 数字1,成列显示内容

       -S 以文件大小排序显示,默认从大到小 -r后,从小到大

       -U 按存放顺序排序显示

       -X 按扩展名的首字母来排序

       -t  按mtime排序(先显示时间最近的)

       -ul  按atime排序(先显示时间最近的)

       -ct  按ctime排序(先显示时间最近的)

            补充:

  关于时间戳:

            atime  访问时间

            mtime 数据修改时间 (写入,修改数据mtime改变,mtime改变ctime必改变)

            ctime  元数据修改时间 (修改权限的时候只有ctime改变)

            可过“stat 文件路径”查看全部时间戳

   

  扩展: 如何通过ls只显示指定格式的文件

   

  首先我们要了解什么是文件名通配符

  Shell提供了一套完整的字符串模式匹配规则,或者称之为元字符,当s h e l l遇到上述字符时,就会把它们当作特殊字符,而不是文件名中的普通字符,这样用户就可以用它们来匹配相应的文件名,我理解这可以称为通配符。

   

  常用通配符:

  * 匹配0或多个任意字符

  ? 匹配任意1个字符

  [  ]  当中括号内为几个确定字符时,表示匹配括号内任意一个字符,当中括号内为一个范围时表示匹配这个范围中的任意一个字符(中括号表示的是一个范围,匹配的是一个字符)

  例:

    [ab46e] 表示是a,b,4,6,e中的任意一个字符

   [a-z] 表示aAbBcC……z(Linux中的默认编码顺序是一个小写字母一个大写字母即aAbBcC…..Z)

           [A-Z] 表示AbBcC……Z

          [a- Z] 表示所有大小写字母

          [^ae] 表示即不是a也不是e的其他任意单一字符

  [:lower:] 表示一个小写字母

  [:upper:] 表示一个大写字母

  [:alpha:] 表示一个大小写字母 等同于[a-Z]

  [:digit:]  表示任意一个数字 等同于[0-9]

  [:alnum:] 表示任意一个字母或数字 等于[a-Z0-9]或[[:digit:][:alpha:]]

  [:blank:]:一个水平空白字符

  [:space:]:一个水平或垂直空白字符(文件名不可能包含回车,故此处使用与[:blank:]:效果相同)

  [:punct:]: 表示一个符号

   

  通过ls命令和通配符查找指定格式的文件:

    格式:ls  [参数]  [目录名][通配符]

   

  以下是一些例子:

  1. 查找/usr/share/man 目录下以m开头且以一个数字加x结尾的文件

  命令:ls  -d  /usr/share/man/m*[0-9]x

  运行结果:

   linux中ls命令_linux中ls命令的功能

  解释:-d 只展开一级目录

        /usr/share/man/  目录路径

    m*[0-9]x  m表示以m开头,[0-9]x表示以数字加x结尾,因为对文件的中间没

  有加以限制所以用*代替中间部分,*表示任意个数的任意字符

   

  2. 查找root下的隐藏文件和目录

        命令: ls   -d  /root/.*

        运行结果:

  linux中ls命令_linux中ls命令的功能

  解释:-d 只展开一级目录

        /root 目录路径

        因为Linux下以“.”开头的文件是隐藏文件,所以用“.”加上“*”来表示隐藏文件

  3. 查找/etc下所有以k开头,以一个小写字母结尾,且中间出现至少一位数字的文件

          命令:ls   -d   /etc/k*[0-9]*[[:lower:]]

          运行结果:

   linux中ls命令_linux中ls命令的功能

  解释:-d 只展开一级目录

        /etc 目录路径

         k表示以k开头,[0-9]表示一个数字,[[:lower:]]表示一个小写字母,因为[:lower:]表示为小写字母,也就是abcdefg…z,所以在[:lower:]外面加

        上[ ]以表示在这写子母中取任意一个,因为只规定了开头和结尾,对中间只要求至少出现一位数字,所以中间用*[0-9]*来表示

   

   

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/91389.html

(0)
上一篇 2024年 5月 31日 下午11:06
下一篇 2024年 5月 31日

相关推荐

关注微信