当前位置:首页>Linux>004 Linux ls 命令详解:15个最常用参数与实战

004 Linux ls 命令详解:15个最常用参数与实战

  • 2026-10-11 07:16:26
004 Linux ls 命令详解:15个最常用参数与实战

你在终端里输入 ls,屏幕上瞬间弹出一堆文件名,密密麻麻挤在一起。
“哪个是文件?哪个是目录?哪个是刚修改的?这个文件到底有多大?”
新手面对 ls 默认的输出,常常一脸茫然。
其实,ls 是 Linux 里最简单也最容易被低估的命令。掌握它的 15 个常用参数,你就能像专家一样快速浏览、筛选、排序文件——一眼看清目录的真相。


一、ls 命令的作用与基础用法

ls 是 list 的缩写,用于列出目录内容。当你打开终端,默认就在当前目录,输入 ls 即可看到该目录下的所有非隐藏文件/目录。

$ ls
Desktop  Documents  Downloads  Music  Pictures  Videos

💡 提示:ls 的输出颜色通常代表不同文件类型(绿色=可执行,蓝色=目录,白色=普通文件等),但不同发行版配色可能不同。

最基础的两个概念:

  • 不跟参数:列出当前目录的非隐藏项目。
  • 跟目录路径:列出指定目录的内容,例如 ls /etc。

二、15 个最常用的 ls 参数(按使用频率排序)

我们将参数分成四类:查看详情、显示隐藏、人性化信息、排序与筛选。

📌 参数速查表

参数
作用
示例
-l
长格式显示(权限、所有者、大小、时间)
ls -l
-a
显示所有文件(包括以. 开头的隐藏文件)
ls -a
-h
配合-l 以人类可读方式显示大小(KB、MB)
ls -lh
-t
按修改时间排序(最新的在前)
ls -lt
-r
反向排序
ls -lr
-S
按文件大小排序(最大的在前)
ls -lS
-R
递归列出子目录内容
ls -R
-i
显示 inode 号
ls -i
-d
只显示目录本身,不列出目录内容
ls -d */
-F
给不同类型的文件添加标识(/=目录,*=可执行)
ls -F
-1
每行只输出一个文件
ls -1
--color=auto
自动给输出添加颜色(很多系统默认已别名)
ls --color=auto
-m
用逗号分隔文件名
ls -m
-X
按扩展名排序
ls -X
-G
不显示组名(macOS/BSD,Linux 通常用--no-group)
了解即可

注:Linux 下 ls 还支持 --group-directories-first(目录排在文件前),非常实用,但不算“最常用”参数,作为扩展技巧。


三、核心参数详解与实战示例

1. -l —— 查看详细信息(权限、大小、时间)

这是最常用的参数,没有之一(在新一些的Ubuntu系统里,比如Ubuntu26.04已经直接可以用ll)。

$ ls -l
total 48
drwxr-xr-x 2 alice alice 4096 May 15 10:30 Desktop
-rw-r--r-- 1 alice alice  123 May 14 09:22 notes.txt

输出解读(以 drwxr-xr-x 为例):

字段
含义
示例值
第1个字符
文件类型(d=目录,-=普通文件,l=符号链接)
d
第2-10字符
权限(所有者/组/其他人各 3 位)
rwxr-xr-x
第11-12字段?
硬链接数
2
第13字段
所有者
alice
第14字段
所属组
alice
第15字段
大小(字节)
4096
第16-18字段
最后修改时间
May 15 10:30
第19字段
文件名
Desktop

🔍 文件类型识别(第一个字符):

  • -
     普通文件
  • d
     目录
  • l
     符号链接
  • b
     块设备(如硬盘)
  • c
     字符设备(如终端)
  • s
     套接字
  • p
     管道

2. -a —— 显示隐藏文件

Linux 中以点(.)开头的文件默认不显示。-a 会全部展示,包括当前目录 . 和父目录 ..。

$ ls -a
.  ..  .bashrc  .profile  Desktop  Documents

🧹 常用组合:ls -la 或 ls -al(顺序无所谓),查看所有文件的详细信息。

3. -h —— 人类可读的文件大小

配合 -l 使用,把字节自动换算成 KB、MB、GB。

$ ls -lh
total 48K
drwxr-xr-x 2 alice alice 4.0K May 15 10:30 Desktop
-rw-r--r-- 1 alice alice  123 May 14 09:22 notes.txt
-rw-r--r-- 1 alice alice  2.3M May 13 14:11 bigfile.iso

4. -t —— 按时间排序(最新在上)

非常适合查看最近修改过的文件。

$ ls -lt
-rw-r--r-- 1 alice alice 123 May 15 11:00 newfile.txt
-rw-r--r-- 1 alice alice 123 May 14 09:22 notes.txt
drwxr-xr-x 2 alice alice 4096 May 13 20:00 Desktop

结合 -r 反向排序:ls -ltr 让最旧的文件显示在最上面(常用于查看日志目录)。

5. -S —— 按文件大小排序

最大的文件排第一。

$ ls -lS
-rw-r--r-- 1 alice alice 100M May 15 10:00 video.mp4
-rw-r--r-- 1 alice alice 10M May 14 09:00 music.mp3
-rw-r--r-- 1 alice alice 1K May 13 08:00 readme.txt

6. -R —— 递归列出子目录

就像一棵树,把所有嵌套目录的内容全部列出来。

$ ls -R project/
project/:
README  src

project/src:
main.c  utils.h

7. -d —— 只显示目录本身

如果不加 -d,ls project/ 会列出 project 里面的内容。加了 -d,只显示 project/ 这个目录的信息。

$ ls -dl project/
drwxr-xr-x 3 alice alice 4096 May 15 10:00 project/

常用技巧:ls -d */ 列出当前目录下的所有子目录(不包含普通文件)。

8. -F —— 添加类型标识

一眼看出哪些是目录、哪些是可执行文件。

$ ls -F
Desktop/  notes.txt  script.sh*  link@
  • /
     目录
  • *
     可执行文件
  • @
     符号链接
  • |
     FIFO(命名管道)
  • =
     套接字

9. -i —— 显示 inode 号

每个文件都有一个唯一的 inode 编号,常用于处理文件名乱码或特殊字符的文件。

$ ls -i
12345678 Desktop  87654321 notes.txt

10. -1(数字1) —— 每行一个文件

在脚本中处理文件列表时很实用。

$ ls -1
Desktop
Documents
Downloads

四、常用组合技巧(实战)

需求
命令
说明
查看当前目录所有文件(含隐藏)的详细信息
ls -la
最常用组合
查看文件大小,以 MB/GB 显示
ls -lh
按时间排序查看最近修改的文件
ls -lt
查看目录下最大的 5 个文件
ls -lShead -5
只列出目录(不显示普通文件)
ls -d */
递归显示目录树(可用tree 命令更好看)
ls -R
查看文件 inode 号
ls -li
加-i
彩色输出 + 按扩展名排序
ls -X --color=auto

五、文件类型与权限识别(进阶)

通过 ls -l 的第一个字符和后面的权限串,你可以快速判断文件类型和访问权限。

示例:

$ ls -l /dev/sda
brw-rw---- 1 root disk 8, 0 May 15 10:00 /dev/sda
  • b
     → 块设备文件
  • rw-rw----
     → 所属主和组可读写,其他人无权限

判断可执行文件:

  • 普通文件若具有 x 权限(如 -rwxr-xr-x),表示可以直接运行。

六、常见坑与避坑指南

坑点
错误做法
正确做法
❌ 以为ls 会显示隐藏文件
ls
 看不到 .bashrc
用ls -a
❌ 用ls -l 看大小,数字太大难读
不读字节数
加-h:ls -lh
❌ 想按时间排序,但忘了-l 也能排
ls -t
 只有文件名,没有时间信息
用ls -lt 获取详情
❌ 误以为ls 的输出有统一颜色标准
以为绿色一定是可执行
颜色可配置,不同系统可能不同,依赖dircolors
❌ 在脚本中解析ls 的输出
for file in $(ls)
 遇到文件名有空格会出错
用通配符或find 命令代替
❌ 删除文件前想确认 inode,但没加-i
用文件名删除特殊字符文件失败
先用ls -i 获取 inode,然后用 find -inum 删除

七、高级技巧:别名简化

不想每次都敲 ls -la --color=auto?可以把常用组合添加到 ~/.bashrc 或 ~/.zshrc:

alias ll='ls -alF'# 所有文件 + 详细信息 + 类型标识
alias la='ls -A'# 所有文件(不含.和..)
alias l='ls -CF'# 列 + 类型标识
alias ls='ls --color=auto'# 永远彩色输出

保存后执行 source ~/.bashrc 生效。


八、总结

ls 看似简单,但参数组合起来威力巨大。你现在已经学会了:

  • 用 -l 看权限、所有者、大小、时间。
  • 用 -a 揪出隐藏文件。
  • 用 -h 让文件大小“说人话”。
  • 用 -t、-S、-r 排序,快速定位最新或最大的文件。
  • 用 -i、-d、-F 等高级参数应对特殊场景。

把 ls 用熟,你的 Linux 命令行效率至少提升 30%。

如果你觉得本文对你有帮助,欢迎点赞、推荐、转发,关注我,后续会分享更多Linux入门干货!

文 / 零距技术仓
记录每一次真实的折腾 (#^.^#)

🚀 想看到更多实用折腾技巧?
👉 先关注
💬 评论区说说你的经历或想看的内容
👍 点赞表示支持
🔁 顺手分享给也在折腾的人,让大家都少踩坑 😎

最新文章

随机文章