Linux:ll命令详解

[复制链接]
发表于 2026-10-3 16:14:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

一、ll 到底是什么

先说一个容易搞错的事实:ll 不是 Linux 的基本命令,它只是 ls -l 的一个别名。

有些发行版(比如 Ubuntu 的部分场景)默认并不带 ll,直接敲会提示命令找不到,得写全 ls -l。想长期省事,就自己配一个别名。

怎么配

打开 ~/.bashrc,找到被注释掉的那行:

#alias ll='ls -l'

把前面的 # 去掉:

alias ll='ls -l'

改完必须关掉当前终端重开才能生效(也可以用 source ~/.bashrc 临时生效一下)。

注意:上面改的只是当前普通用户。切到 root 后如果又提示找不到,是因为你只改了个人用户的设置——对 root 也做同样的操作即可,比如编辑 /root/.bashrc。

由此还能举一反三:任何命令都能通过修改 ~/.bashrc 加别名,比如 alias ll='ls -lh'(顺手带人读单位)、alias ll='ls -alh'(连隐藏文件一起看)。 aliases 段一般放在 .bashrc 靠后的位置,改之前 `grep alias ~/.bashrc` 看一眼已有的,免得覆盖。

二、ll 输出的每一列怎么看

看一条典型输出:

drwxr-xr-x 2 root root 48 2023-11-20 16:34 test/

这条输出其实有七到九列,从前往后拆开讲。

第 1 列:文件属性(10 个字符)

第一个字符表示文件类型:

  • -:普通文件
  • d:目录(directory 的缩写)
  • l:符号链接(软链接)
  • b:块设备文件(如磁盘 /dev/sda)
  • c:字符设备文件(如终端 /dev/tty)
  • 其他还有 p 命名管道、s 本地套接字

后面 9 个字符分 3 组,每组 3 位,依次是 owner / group / others 的读、写、执行权限。以 -rwxr-xr-x 为例:

rwx (Owner)  r-x (Group)  r-x (Other)

意思是:属主可读可写可执行、属组可读不可写可执行、其他人可读不可写可执行。

另外要留意一点:某些程序在"执行"这一位上显示的不是 x 而是 s,这就是 SUID/SGID 位(setuid/setgid)——执行该程序的人会临时获得与属主(通常是 root)相同的权限,常见于 passwd 这类系统管理程序。看到 s 别以为是坏了。

第 2 列:硬链接数

普通文件自然是 1;目录这一列是该目录下的子条目数(含 . 和 ..)。这一列是判断有没有硬链接、目录里东西多不多的直观指标。

第 3 列:属主

文件或目录的拥有者。你待在自己 Home 里看,这一列基本都是你自己的账号名。

第 4 列:属组

所属的用户组。一个用户可以属于多个组,不过大部分人只属于一个;只有管理员想给特殊权限时才会额外加组。

第 5 列:文件大小

默认单位是字节(byte)。空目录通常显示 1024(目录本身占一个块)。想换成直观单位可以加 -h:

1G = 1024M = 1024*1024 KB = 1024*1024*1024 B

第 6 列:最后修改时间

格式是"月 日 时:分",例如 Nov 20 16:34。想看精确到秒的完整时间用 ls -l --time-style=full-iso,或者直接用 stat 文件名 看 atime/mtime/ctime。

第 7 列(及以后):文件名

还想看隐藏文件(以 . 开头的)就加 -a。

三、补充说明:后面那些看不见的列

新一点的发行版(RHEL/CentOS 7+ 等)在 ls -l 输出里还会多几个你可能没注意的标记:

  • SELinux 上下文:文件名后面跟一个 . 或空格再带一串 unconfined_ubject_r:admin_home_t:s0,那是 SELinux 的 context,关掉 SELinux 或者用 ls -Z 才常见。
  • ACL 标记:权限位末尾出现 +,表示这个文件还配了访问控制列表(setfacl),权限不止 UGO 那九位。用 getfacl 文件名 看。

四、ll 显示的大小是什么单位

ll 默认显示的是字节(B)。文件一大,屏幕上就是一串长数字,不好读。加 -h(human-readable)就行:

ls -alh
# 或者用自己的别名
alias ll='ls -alh'

-h 之后会用 G、M、K 来显示,比如 4.0K、512M、2.1G。-a 显示隐藏文件,-l 长格式,-h 人类可读——三个单字母组合起来是最高频的用法。

五、ls 常用参数速查

参数作用
-l长格式,显示权限、属主、大小、时间
-a显示包括 . 和 .. 在内的隐藏文件
-h文件大小用 K/M/G 显示(通常配 -l 用)
-t按修改时间排序,最新的在前
-r倒序(配合 -t 看最旧的)
-S按文件大小排序,大的在前(找大文件必备)
-R递归列出子目录
-i显示 inode 号
-F给不同类型加标记:目录加 /、可执行加 *、链接加 @
-k大小按 KB 显示

六、几个实战组合

ls -lrt          # 按时间倒序,看最近被改过的文件(最旧在最前)
ls -lhS          # 按大小排序,找当前目录最大的几个文件
ls -la ~         # 看 Home 下所有文件(含隐藏),排查 .ssh/.bashrc 有没有
ls -l -d /etc/nginx   # 只显示目录本身而不是里面的内容(-d 看属性用)
ls -l --time-style=long-iso   # 时间显示成 2023-11-20 16:34

找"哪个目录最占地方"时,ls -lhS 只能看一层,真要排全盘得用 du -sh * 或 ncdu,那是后话了。

小结

ll 就是 ls -l 的别名,在 ~/.bashrc 里把 #alias ll='ls -l' 的 # 去掉即可,root 要单独配一份。

输出七列的含义:①权限 10 字符(类型 + owner/group/others 的 rwx,s 是 SUID/SGID)②硬链接数 ③属主 ④属组 ⑤大小(默认字节)⑥最后修改时间 ⑦文件名。实际使用记住三连击 ls -alh:长格式 + 含隐藏 + 人读单位,再加一个 -S 按大小排,日常排障基本够用。

(本文由 qidao123.com企服评测-应用市场 编辑提示整理:示例基于 GNU coreutils 的 ls,适用于 Ubuntu / Debian / CentOS / openEuler 等主流发行版。)

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表