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 和其选项,可以快速查看和管理系统中的文件和目录,提高效率。

相关推荐
Kira Skyler4 小时前
kprobe函数入口时的汇编跳板执行流程与栈帧机制
linux·汇编
桌面运维家4 小时前
VHD/VHDX 数据守护:BAT位图校验与修复
linux·服务器·网络
pupudawang4 小时前
Linux下安装Nginx服务及systemctl方式管理nginx详情
linux·运维·nginx
零K沁雪4 小时前
Linux 内核遍历宏介绍
linux·内核
淼淼爱喝水5 小时前
openEuler 下 Ansible 基础命令详解与实操演示2
linux·运维·windows
拾贰_C5 小时前
【Ubuntu | install | 安装软件】 Ubuntu软件安装多种方式以及卸载
linux·运维·ubuntu
·醉挽清风·5 小时前
学习笔记—Linux—信号阻塞&信号捕捉
linux·笔记·学习
杨云龙UP6 小时前
Linux生产环境下Oracle RMAN 备份、核查、清理与验证常用命令整理_20260330
linux·运维·服务器·数据库·oracle
A.A呐6 小时前
【Linux第二十二章】https
linux·https
齐齐大魔王7 小时前
linux-线程编程
java·linux·服务器