文章目录
  1. 1. 基本用法
  2. 2. 相关概念
    1. 2.1. 通配符规则
  3. 3. 常用功能
  4. 4. 具体案例
  5. 5. 参考资料

基本用法

ls [-ABCFGHLOPRSTUW@abcdefghiklmnopqrstuwx1] [file ...]

ls 后面可以跟0~N个参数,最后可以跟0~N个文件名。

文件名支持通配符,可以进行简单的文件名搜索。如果匹配到目录的话,会将目录中的子项目一同打印出来。

相关概念

通配符规则

* (星号通配符)

匹配0~N个任意字符。

?(问号通配符)

匹配1个任意unicode字符。

[char] (方括号通配符)

匹配1个方括号内任意的一个字符。

括号中的字母可以使用POSIX 字符集(POSIX Character Classes),包含以下几种。我只列出了认为比较常用的,详见http://man7.org/linux/man-pages/man7/glob.7.html

表达式 解释
[a-z] 小写a到z
[A-Z] 大写a到z
[0-9] 数字0到9
[:alnum:] Alphanumeric字符,表示拉丁文和阿拉伯数字[4]
[:alpha:] Alphabetic characters,拉丁文
[:digit:] 数字
[:upper:] 大写的拉丁文
[:lower:] 小写的拉丁文
[:blank:] ASCII 空格或制表符
[:space:] ASCII 空格

使用方法

[[:alpha:]]*,匹配以字母开头的字符串。

[!char](方括号通配符)

通过在第一位加!表示匹配不包含方括号之内的字符

常用功能

-A - 列出目录下除了...以外的所有文件。
-a - 列出目录下所有文件,包括目录以.开头的文件。
-d - 仅打印出目录名字,不去打印内部的文件。
-l - 打印长格式,包含
-G - 彩色输出。
-p - 如果为目录,在显示名称后面打印一个’/‘
-r - 根据目前输出默认的排序逆序。
-O - 打印出File Flag

长格式

I            II  III      IV       V  VI           VII
drwxr-xr-x   9   zhengyi  group   306 May 24 08:24 .
drwxr-xr-x  42   zhengyi  group  1428 May 23 23:20 ..
-rw-r--r--@  1   zhengyi  group  6148 May 24 08:24 .DS_Store
-rwxr-xr-x   1   zhengyi  group  2723 May 24 08:20 build.sh
-rw-r--r--   1   zhengyi  group   883 May 24 08:19 db.json
-rw-r--r--   1   zhengyi  group  2281 May 24 08:20 gen.py
drwxr-xr-x   2   zhengyi  group    68 May 24 08:18 lib
drwxr-xr-x   7   zhengyi  group   238 May 24 08:25 src
drwxr-xr-x   4   zhengyi  group   136 May 24 08:18 tests

I:文件权限信息,详见下图。如果有@符号,表示这个文件有一些拓展属性,可以通过添加-@参数查阅,也可以使用xattr工具来查看具体信息[1]
II:链接计数(link count),包括hard linkssymbolic links,还有目录引用。当前目录的.会引用自己,同时它的所有的子目录都会持有一个..指向当前目录。这就导致了目录的链接计数往往比较大。
III:owner name
IV:owner group
V:文件大小,单位为字节
VI:最后修改日期
VII:文件名

Access right in the first column
[2]

具体案例

设置默认的别名(alias)

个人喜好将输出搞的彩色一点,比较明显能看出文件的类别

alias ls='ls -G'

列出文件夹下所有的子文件夹

ls -d */

按照最后修改时间排序

ls -l -t -T (新修改的在前)
ls -l -t -T -r(老修改的在前)

根据文件大小排序

ls -l -S (从大到小)

参考资料

  1. “ls” on Mac and extended file attributes
  2. permission gif
  3. Wildcard - 1
  4. Wildcard - 2
  5. Alphanumeric - Wikipedia

阅读更多

Mac/Linux 命令学习
文章目录
  1. 1. 基本用法
  2. 2. 相关概念
    1. 2.1. 通配符规则
  3. 3. 常用功能
  4. 4. 具体案例
  5. 5. 参考资料