Linux教程

linux ls 命令超级详解

本文主要是介绍linux ls 命令超级详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

命令功能

查看目标文件(包括目录)中所有文件信息,包括权限信息等。

命令格式

ls [选项] [目标文件]

选项参数

  • -a ,--all:查看目录下的所有文件,包括以 . 开头的隐含文件。
  • -A,--almost-all: 同-a,但不列出...的目录。
  • --author:同-l一起使用,可以查看文件的作者。
  • -b,--escape:打印C格式的不可以显示字符。
  • -B,--ingore-backups:忽略带有备份文件,比如打开word文件这种会产生一个临时文件
  • --block-size=SIZE:打印出以SIZE为单位的文件大小,比如--block-size=M表示以M为单位打印文件大小。
  • -c
    • -lt一起使用,则按ctime进行排序,并显示ctime
    • -l 一起使用,则按文件名称排序,并显示ctime
  • -C:表示按列显示文件,也就说文件顺序,先从向下再向右,正常顺序是从左往右按行来显示,而-C是从上到下按列来显示。
  • --color[=WHEN]:是否使用色彩分辨文件。WHEN 可以是neverautoalways其中之一,默认是always
  • -d,--directory:以目录形式显示目标文件,而不显示它的内容,比如它下面的文件。
  • -D,--dired:生成适合Emacsdired模式使用的结果。
  • -f:不对文件排序,对-aU生效,对-ls --color无效。
  • -F--classify:对文件显示进行标记,标记格式:
    • /标记目录文件
    • *标记可执行文件
    • @标记链接文件
    • =标记网络socket文件
    • |标记FIFO的队列管道
    • %标记一类占位符形态的特殊文件,whiteout文件
  • --file-type:同-F但是它不标记可执行文件。
  • --full-time:相当于-l --time-style=full-iso可以修改显示时间格式。
  • -g:同-l,但是不显示文件所有者。
  • -G,--no-group:不显示用户组信息。
  • -h,--human-readable:以容易理解的格式显示文件大小,比如1K1M1G等。
  • --si:同-h,但是文件大小进制不是1024,而是1000
  • -H,–dereference-command-line :显示命令列中的符号链接指示的真正目的地,一般是链接,一般同-l一起使用。
  • --dereference-command-line-symlink-to-dir:同-H,但是它是指向目录的。
  • --hide=PATTERN:隐藏符合PATTERN正则表达式的文件。
  • --indicator-style=WORD:指定在每个项目名称后加上指示符号,none (默认),slash-p操作), file-type--file-type操作),classify-F操作)。
  • -i, --inode:显示文件的索引号,也就是node号。
  • -I, --ignore=PATTERN:忽略符合PATTERN的文件。
  • -k, --kibibytes=1K:以k字节形式显示文件大小。
  • -l:将文件的详细信息显示出来,像权限,所有者,文件大小,时间等。
  • -L, --dereference:当显示符号链接的信息时,会显示符号链接所指示的对象而并非符号链接本身的信息。
  • -m:所有文件以逗号分隔,并把每行填满。
  • -n, --numeric-uid-gid:同-l,但是会把用户名和用户组名显示为ID
  • -N, --literal:显示文件的原生名称。
  • -o:同-l,但是不显示用户组信息。
  • -p, --indicator-style=slash:目录显示会在后面多一个/
  • -q, --hide-control-chars:使用?来代替不可显示字符。
  • --show-control-chars:对不可显示字符按照原来方式显示。
  • -Q, --quote-name:将文件名用引号引起来。
  • --quoting-style=WORD:使用指定的类型来引用文件名,可以选有的literallocaleshellshell-alwayscescapeclocale等。
  • -r, --reverse:翻转文件,一般在排序时使用,逆序显示。
  • -R, --recursive:递归的方式打印文件,也就是说会递归的把目录以及目录的子目录等全部显示出来。
  • -s,--size:以块的数量显示文件大小。
  • -S:的按照文件大小排序。
  • --sort=WORD:按照指定属性进行排序,可以选有的:none (-U)(默认)、 size (-S)(文件大小)、 time (-t)(最后一次修改时间)、 version (-v)(版本)、 extension (-X)(扩展名)等。
  • --time=WORD:可以指定不同的时间类型。
  • --time-style=STYLE:显示的时间格式的调整。
  • -t:按照最后一次修改时间进行排序。
  • -T, --tabsize=COLS:修改tab的大小。
  • -u
    • -lt一起使用,则显示访问时间而且依访问时间排序
    • -l一起使用,则显示访问时间但根据名称排序
    • 单独使用,则根据访问时间排序
  • -U: 不进行排序,依文件系统原有的次序列出文件。
  • -v:按照版本进行排序。
  • -w, --width=COLS:使用屏幕宽度而不是使用当前值显示。
  • -x:按行方式显示文件而不是按照列方式。
  • -X:按照扩展名进行排序。
  • -1:一行一个文件名。
  • --help:显示帮助。
  • --version:显示版本信息。

命令显示字段含义

image

从上面可以看到主要有7列:

  • 第一列共10位
    • 第1位表示文档类型,d表示目录,-表示文件,l表示链接文件,d表示可随机存取的设备,如U盘等,c表示一次性读取设备,如鼠标、键盘等。
    • 后9位,依次对应三种身份所拥有的权限,身份顺序为:ownergroupothers,权限顺序为:readablewritableexcutable。如:-r-xr-x---的含义为当前文档是一个文件,拥有者可读、可执行,同一个群组下的用户,可读、可写,其他人没有任何权限。
  • 第二列表示链接数,表示有多少个文件链接到inode号码。
  • 第三列表示文件拥有者。
  • 第四列表示文件所属群组。
  • 第五列表示文档容量大小,单位字节。
  • 第六列表示文档最后修改时间,注意不是文档的创建时间。比如第一个是4月2日17:22。
  • 第七列表示文档名称。以点.开头的是隐藏文档。

常用命令

  • 列出/opt目录下的所有文件和目录详细信息,包括隐藏文件:

    ls -la /opt
    
  • 列出/opt目录下所有文件和目录的详细信息:

    ls -lR /opt
    
  • 只列出/opt目录下的所有目录详细信息:

    ls -l /opt | grep "^d"
    
  • 只列出/opt目录下的所有目录:

    ls -F /opt | grep /$
    
  • 列出/opt目录下的目录后添加/,可执行文件后添加*,链接文件后添加@等:

    ls -F /opt
    
  • 指定文件时间输出格式:

     ls -tl --time-style=full-iso
     ls -ctl --time-style=long-iso
    
  • 只列出/opt目录下的所有文件的绝对路径:

    ls | sed "s:^:`pwd`/:" 
    find /opt | xargs ls -d
    
这篇关于linux ls 命令超级详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!