zoukankan      html  css  js  c++  java
  • 一天学一个Linux命令:第一天 ls

    文章更新于:2020-03-02
    注:本文参照 man ls 手册,并给出使用样例。

    一、命令之ls

    1、名字及介绍

    ls -列出目录内容

    ls程序主要是列出文件或目录的信息。
    如果不指定参数,也就是只执行ls,则默认列出当前目录的信息,且不递归,不显示以.开头的隐藏文件。

    2、语法格式

    ls [选项]... [文件或目录]...

    3、输出内容示例

    如执行ls -l则会看到类似下图的输出,他们的含义如图。
    图零

    4、参数

    列出关于文件的信息(默认是当前目录),当你没有指定 -cftuvSUV--sort 参数的时候按字母表顺序排列。
    调用参数时,使用长格式和短格式都是合法的。

    短格式 长格式 描述
    -a - -all 列出所有文件,包括以点开头的
    -A - -almost-all 列出所有文件,不包括以点开头的
    - -author -l配合使用,列出每个文件的作者
    -b - -escape 以八进制溢出序列表示不可打印的字符
    - -block-size=SIZE 以指定的单位显示文件大小
    -B - -ignore-backups 不列出以~结尾的备份文件
    -c 配合-lt显示并以ctime排列;
    配合-l显示ctime并亦文件名排列;
    否则,以ctime排列,最新排第一
    -C 按列显示文件(和单独使用ls一个效果)
    - -color[=WHEN] 着色显示结果;WHEN可选neverautoalways(默认)
    -d - -directory 如果是目录,则列出目录自身信息,而不是他们的内容q
    -D - dired 生成为 Emacs设计的dired模式输出结果
    -f 不排序,相当于调用-aU,禁用-ls --color
    -F - -classify 为每个文件添加分类指示符,*/=>@!中的一种
    - -file-type 同上,但不添加*
    - -format=WORD 输出显示格式化,WORD可选verboselongcommashorizontalacrossverticalsingle-columncontext
    - -full-time 等价于 -l --time-style=full-iso
    -g 等价于-l,但是不列出文件的所有者
    - - group-directories-first 在所有文件之前输出目录
    -G - - no-group 等价于-l,但是不列出文件的组名
    -h - -human-readable 配合-l使用,输出像1k,23M,2G这样友好的文件大小单位
    - -si 同上,但使用1000进制,而不是1024进制
    -H - -dereference-command-line 列出符号文件的真正位置
    - -dereference-command-line-symlink-to-dir 列出符号目录的真正位置(存疑)
    - -hide=PATTERN 不列出PATTERN匹配到的文件
    - -indicator-style=WORD 添加指示符,可选none(default)slash(-p)file-type(- -file-type)classify(-F)
    -i - - inode 输出每个文件的索引数字
    -I - -ignore=PATTERN 不列出pattern匹配到的项
    -k - -kibibytes 默认以K 字节的形式表示文件的大小
    -l 使用长格式输出信息
    -L - -dereference 显示符号链接引用的文件的信息,而不是链接自身的信息
    -m 用逗号分割项目
    -n - -numeric-uid-gid 等价于-l,但显示用户id组id
    -N - -literal 显示原始条目名,不做特殊处理(比如控制字符)
    -p - -indcator-style=slash 在目录名后面添加/
    -q - -hide-control-chars 将非图形化字符显示为?
    - -show-control-chars 显示非图形化字符,是什么就显示什么
    -Q - -quote-name 使用双引号括起来项目名
    - -quoting-style=WORD word可选 literal, locale, shell, shell-always, c, escape
    -r - -reverse 如果排序则反向排
    -R - -recursive 递归显示子目录内容
    -s - -size 输出文件已分配的块大小
    -S 以文件大小排列
    - -sort=WORD 根据none(-U)size(-S)time(-t)version(-v)extension(-X)排列项
    - -time=WORD 配合-l使用,展示访问时间 atime-u,状态时间 ctime-c,而不是默认的修改时间 mtime,
    当然也可以指定以时间排序 --sort=time
    - -time-style=STYLE 配合-l使用,展示full-isolong-isoisolocale,或者+FORMAT,…
    -t 以修改时间 mtime 排列,最新的放第一
    -T - -tabsize=COLS 指定tab值来代指默认值 8
    -u 配合 -lt使用,展示并以 atime 排列;配合 -l使用,展示 atime,以文件名排列;否则,以 atime 排列
    -U 不排列,按目录顺序列出条目
    -v 文本中自然的(版本)数字排序
    -w - -widdth=COLS 手动指定屏幕宽度
    -x 以行为单位列出而非以列
    -X 以文件扩展名的字母顺序排列
    -1 按每个一行排列

    SELinux 参数:

    短格式 长格式 描述
    - -lcontext 显示安全内容
    -Z - -context
    - -scontext 仅显示安全信息和文件名
    - -help 显示帮助信息
    - -version 显示版本信息

    二、命令实践

    1、ls -als --all

    注:列出所有文件,包括 ...
    图一

    2、ls -Als --almost-all

    注:列出所有文件,但不包括 ...

    图二

    3、ls --author

    注1:配合 -l 使用列出文件的作者。
    注2:有时候文件的作者和所有者是不一样的。

    图三

    4、ls -bls --escape

    图四

    5、ls --block-size=M

    图五

    6、ls -Bls --ignore-backups

    图六

    7、ls -c

    补充:

    ls -l
    内容更改时间:modification time(mtime) 指文件内容发生改变的时间;
    ls -l --time=ctime
    状态更改时间:status time(ctime) 指文件的权限或属性发生改变的时间;
    ls -l --time=atime
    最近访问时间:access time(atime) 指文件最近被读取的时间;

    图七

    8、ls -C

    图八

    9、ls --color[=WHEN]

    图九

    10、ls -d

    图十

    11、ls -Dls --dired

    图11

    12、ls -f

    图12

    13、ls -Fls --classify

    补充:
    普通文件:没有
    普通可执行文件:*
    目录:/
    符号链接:@
    FIFOs管道文件:|
    套接字文件:=
    doors:>

    图13

    14、ls --full-time

    图14

    15、ls -hls --human-readable

    图15

    16、ls --hide=PATTERN

    图16

    17、ls -l

    图17

    18、ls -t

    补充综合:
    下表中的等价于列中的ctime可用status替换,atime可用accessuse替换。

    命令 显示内容 排列顺序 等价于
    ls -l 显示mtime 以文件名排列
    ls -lt 显示mtime mtime排列
    ls -c 不显示ctime ctime排列 ls --time=ctime
    ls -cl 显示ctime 以文件名排列 ls -l --time=ctime
    ls -clt 显示ctime ctime排列 ls -lt --time=ctime
    ls -u 不显示atime atime排列 ls --time=atime
    ls -ul 显示atime 以文件名排列 ls -l --time=atime
    ls -ult 显示atime atime排列 ls -lt --time=atime

    使用样例
    图18

    19、ls --sort=WORD

    WORD 可选nonetimesizeextensionversion

    图19

    三、Enjoy!

  • 相关阅读:
    【web性能优化】DNS解析与ip
    【web性能优化】雅虎军规
    【web性能优化】优化提纲及图片优化(慕课网笔记)
    【web性能优化】常用缓存方式(慕课网学习笔记)
    【前端】企业微信客户端调试
    【es6】es6使用集锦
    【前端】遇到的各种报错
    【前端】安装wampserver提示丢失MSVCR100.dll的解决方法
    【es6】将2个数组合并为一个数组
    【web】使用ionic搭建移动端项目 icon-radio 标签在ios下全部选中的问题
  • 原文地址:https://www.cnblogs.com/amnotgcs/p/12694364.html
Copyright © 2011-2022 走看看