ls指令详讲

ls 是 Linux/Unix 系统中一个非常常用的命令,用于列出指定目录中的文件和子目录。它可以提供文件的名称、权限、大小、修改时间等信息。以下是对 ls 指令的详解,包括常见选项和使用示例。


基本语法

复制代码
ls [选项] [目录/文件...]

如果不指定目录,ls 会默认列出当前工作目录下的文件和目录。


常用选项详解

1. 基本选项

  • ls:列出当前目录下的文件和目录(默认不显示隐藏文件)。

  • ls -a :显示所有文件和目录,包括隐藏文件(隐藏文件以.开头)。

    复制代码
    ls -a

    输出:

    复制代码
    .  ..  .hidden_file  file1  file2
  • ls -l:以长格式显示文件和目录信息(权限、拥有者、大小、修改时间等)。

    复制代码
    ls -l

    输出示例:

    复制代码
    -rw-r--r-- 1 user group  12345 Jan  5 15:20 file1
    drwxr-xr-x 2 user group   4096 Jan  5 15:10 dir1

    长格式信息字段解释:

    • 第一列:文件类型与权限。
      • -:普通文件
      • d:目录
      • l:符号链接
      • c:字符设备
      • b:块设备
    • 第二列:硬链接数。
    • 第三列:文件所有者。
    • 第四列:所属用户组。
    • 第五列:文件大小(以字节为单位)。
    • 第六列:最后修改时间。
    • 第七列:文件/目录名称。
  • ls -h :结合 -l 使用,以人类可读的形式显示文件大小(如 KB、MB)。

    复制代码
    ls -lh

    输出示例:

    复制代码
    -rw-r--r-- 1 user group  12K Jan  5 15:20 file1
    drwxr-xr-x 2 user group 4.0K Jan  5 15:10 dir1
  • ls -d:仅显示目录本身,而不是其内容。

    复制代码
    ls -d */

    输出示例:

    复制代码
    dir1/  dir2/
  • ls -r:以逆序显示(按名称排序的逆序)。

    复制代码
    ls -r

    输出示例:

    复制代码
    file2  file1  dir1
  • ls -t:按修改时间排序(最近修改的文件排在最前)。

    复制代码
    ls -lt
  • ls -S:按文件大小排序(从大到小)。

    复制代码
    ls -lS
  • ls -R:递归显示目录内容(包括子目录的内容)。

    复制代码
    ls -R

2. 组合选项

选项可以组合使用,例如:

  • ls -alh:显示所有文件(包括隐藏文件),以长格式显示,并以人类可读的文件大小。

    复制代码
    ls -alh

    输出示例:

    复制代码
    drwxr-xr-x 2 user group 4.0K Jan  5 15:10 .
    drwxr-xr-x 3 user group 4.0K Jan  5 14:00 ..
    -rw-r--r-- 1 user group  12K Jan  5 15:20 file1
    -rw-r--r-- 1 user group  8.0K Jan  5 15:10 file2
  • ls -ltr:按时间排序,以逆序显示。

    复制代码
    ls -ltr

文件类型表示

在长格式输出中(ls -l),文件类型由第一列第一个字符标识:

  • -:普通文件
  • d:目录
  • l:符号链接
  • c:字符设备文件
  • b:块设备文件
  • s:套接字文件
  • p:管道文件

高级选项

  • --color=auto:为输出内容添加颜色,以区分文件、目录、链接等(很多系统默认开启)。

    复制代码
    ls --color=auto
  • --sort:按指定方式排序(替代默认的字母顺序)。

    • --sort=size:按大小排序。
    • --sort=time:按修改时间排序。
    • --sort=extension:按文件扩展名排序。
  • --full-time:显示完整的时间戳(包括秒和年份)。

    复制代码
    ls --full-time
  • -i:显示文件的 inode 编号。

    复制代码
    ls -i

    输出示例:

    复制代码
    123456 file1
    123457 file2

常见用法示例

  1. 列出当前目录的所有文件和子目录

    复制代码
    ls -al
  2. 列出指定目录的内容

    复制代码
    ls /path/to/directory
  3. 按文件大小排序

    复制代码
    ls -lS
  4. 按最近修改时间排序并显示详细信息

    复制代码
    ls -lt
  5. 递归列出目录内容

    复制代码
    ls -R
  6. 显示目录中的隐藏文件

    复制代码
    ls -a
  7. 查看文件的 inode 编号

    复制代码
    ls -i

常用别名

在许多 Linux 系统中,ls 的一些选项已经通过别名简化。例如:

  • alias ll='ls -alF':ll 显示详细信息并标识文件类型。
  • alias la='ls -A':la 显示几乎所有文件(除去 . 和 ..)。
  • alias l='ls -CF':l 显示文件和目录。

可以在 ~/.bashrc 或 ~/.zshrc 文件中设置自己的 ls 别名。


通过熟练使用 ls 和其选项,可以快速查看和管理系统中的文件和目录,提高效率。

相关推荐
mounter625几秒前
从硬件互连到操作系统变革:CXL 技术演进与 Linux 内核工程挑战
linux·运维·服务器
xh didida1 小时前
Linux -- 基础IO
linux·服务器·开发语言·c++
zly35002 小时前
centos7 mount设备挂载 /dev/sda1/硬盘挂载
linux·运维·服务器
工业一体机老司机2 小时前
工业一体机选购后的系统部署:Ubuntu下Docker容器化运行与GPIO配置
linux·ubuntu·docker·人机交互
哎呦,帅小伙哦3 小时前
进程监控工具——htop
linux·运维·服务器
夏虫不可与之言冰4 小时前
Windows WSL2 (Ubuntu) 搭建 ESP‑IDF 6.1 开发环境全过程演示
linux·windows·ubuntu·esp32·乐鑫科技·乐鑫eim·乐鑫代理商
春涧草茶5 小时前
慢就是快12-12手动抛出异常
java·linux·前端
KING-WU5126 小时前
Linux 工具之Make 与 Makefile
java·linux·服务器
Lsetea6 小时前
OpenSSL报certificate is not yet valid:error 9与notBefore时间排查
linux·运维·https·ssl证书·openssl
魔法阵维护师6 小时前
Linux 命令行入门踩坑记录:从 VMware 装系统到文件管理
linux·运维·服务器