ll
是 ls -l
的常用别名(通常在 ~/.bashrc
中定义),用于显示文件和目录的详细信息。以下是其输出的完整解析:
典型 ll
命令输出示例
-rw-r--r-- 1 user group 1.2K Mar 15 10:30 file.txt
drwxr-xr-x 2 user group 4.0K Mar 14 09:15 directory/
lrwxrwxrwx 1 user group 15 Mar 13 08:00 symlink -> target_file
字段解析(从左到右)
字段 | 说明 |
---|---|
文件类型和权限 | 共10个字符,例如 -rwxr-xr-x |
硬链接数 | 数字,表示该inode的硬链接总数 |
所有者 | 文件所属用户 |
所属组 | 文件所属用户组 |
大小 | 文件大小(默认字节,目录显示4.0K) |
最后修改时间 | 最后修改的日期和时间 |
名称 | 文件名(目录带/ ,符号链接显示-> 目标路径 ) |
文件类型和权限详解
第1个字符:文件类型
符号 | 类型 | 说明 |
---|---|---|
- |
普通文件 | 如文本、二进制文件 |
d |
目录 | |
l |
符号链接 | 显示为 name -> target |
b |
块设备文件 | 如硬盘 /dev/sda |
c |
字符设备文件 | 如终端 /dev/tty |
s |
套接字文件 | |
p |
管道文件 |
后9个字符:权限(3组)
- 用户权限 (2-4位):文件所有者的权限
- 组权限 (5-7位):所属用户组的权限
- 其他用户权限 (8-10位):其他用户的权限
符号 | 权限 | 对文件的影响 | 对目录的影响 |
---|---|---|---|
r |
读 | 可查看内容 | 可列出目录内容(如用ls ) |
w |
写 | 可修改内容 | 可创建/删除目录内文件 |
x |
执行 | 可作为程序执行 | 可进入目录(如cd ) |
- |
无 | 无对应权限 |
特殊权限位(出现在x位置):
s
(SUID/SGID):出现在用户/组执行位,设置后程序以所有者权限运行t
(粘滞位):出现在其他用户执行位,限制目录内文件删除(如/tmp
)
关键示例解析
普通文件:
-rw-r----- 1 alice developers 8.5K Jun 12 14:30 report.pdf
- 用户
alice
可读写,组developers
可读,其他用户无权限 - 大小8.5KB
- 用户
目录:
drwxr-xr-x 3 root root 4.0K Apr 1 09:00 /var/log/
- 所有用户可进入和列出内容,但只有root可修改
- 硬链接数3(包含自身
.
、父目录..
和子目录数)
符号链接:
lrwxrwxrwx 1 root root 20 May 10 11:00 /usr/bin/python -> python3.8
- 所有用户有完全权限(实际权限由目标文件决定)
- 指向
python3.8
实用技巧
查看隐藏文件:
ll -a # 显示包括`.`开头的隐藏文件
按时间排序:
ll -t # 最新修改的文件在前 ll -tr # 反向排序(最旧在前)
显示inode号:
ll -i # 第一列显示inode号,可用来识别硬链接
人类可读大小:
ll -h # 显示KB/MB/GB单位
递归显示目录内容:
ll -R # 递归列出子目录内容
与其他命令结合
# 统计当前目录文件数
ll | grep "^-" | wc -l
# 查找最近修改的5个文件
ll -t | head -n 5
# 检查符号链接是否有效
ll /path/to/link | awk '{print $NF}'
掌握ll
输出的含义,可以快速诊断文件权限问题、识别文件类型和发现异常文件。