via: https://wangchujiang.com/linux-command/c/ls.html
## Reference ```shell $ ls -l drwxr-xr-x 6 root root 4096 Oct 20 2017 apt -rw-r--r-- 1 root root 211 Oct 20 2017 hosts ``` - 1 字段 - **文件类型**(1) - `-` -> 普通文件 - `d` -> 目录 - `l` -> 链接 - **模式 / 权限位** (access permission bits)(2-10) - 3 个值/组, 每组 `rwx` 表示 "读(read), 写(write), 执行(execute)" - 三个组 - 文件**所有者**拥有的权限 - 文件所关联的**用户组**成员拥有的权限 - **其他人**拥有的权限 - 任何被移除的权限会被替换为 `-` ,因此你可以将不同的值,及其代表的相关权限进行组合 - `-rw-r–r--` - 普通文件 - 所属用户可读可写不能执行 - 对于所属的组,仅仅可读 - 对于其他用户,也是仅仅可读 - 利用 [[chmod]] 修改一个文件的权限 - 如果想改变权限,可以使用命令 `chmod 711 hosts` - 利用 [[umask]] 修改一个文件权限的默认值 - 2 字段 - **硬链接**(hard link)**数目**, via [[os/file-system]] - 3 字段 - **所属用户** - Change -> [[chown]] - 4 字段 - **所属组** - Change -> [[chgrp]] - 5 字段 - 文件的大小 - 6 字段 - **文件被修改的日期** - 7 字段 - **文件名** - id: 62515057-455a-4083-bfc4-b439da391075 ```shell ls -al |grep "^-" | wc -l # 查询当前目录下的文件个数 ls -F |grep "*" # 查询当前目录下的可执行文件 ls -F |grep "@" # 查询当前目录下的符号链接文件 ls -al |grep "^-" # 查询当前目录下的文件 ls -al |grep "^d" # 查询当前目录下的文件夹 ls -F |grep "/" # 查询当前目录下的文件夹 ls -F |grep "/$" # 查询当前目录下的文件夹 ``` - 在每个文件名后附上一个字符以说明该文件的类型 - / 表明是一个目录 - @ 表明是到其它文件的符号链接 - = 表示套接字 (sockets) - | 表示 FIFOs