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

相关推荐
青草地溪水旁4 分钟前
Linux 高性能 I/O 事件通知机制的核心系统调用—— `epoll_ctl`
linux·c语言·c++
不会c嘎嘎4 分钟前
Linux -- 基于TCP服务器实现一个简单的电商网站
linux·服务器·tcp/ip
程序leo源5 分钟前
Linux_基础指令(二)
android·linux·运维·服务器·青少年编程
君宝1 小时前
Linux ALSA架构:PCM_OPEN流程 (二)
java·linux·c++
葵花日记1 小时前
LINUX--编译器gcc/g++
linux·运维·服务器
csdn_aspnet2 小时前
Linux Node.js 安装及环境配置详细教程
linux·node.js
PAQQ2 小时前
解决 ubuntu 重启串口号变化
linux·运维·ubuntu
dyxal3 小时前
linux系统安装wps
linux·运维·wps
大家的笔记本3 小时前
jetson orin super nano(arm linux系统)上读取大恒图像工业相机(型号MER-050-560U3C)教程
linux·arm开发·相机
九章云极AladdinEdu3 小时前
深度学习优化器进化史:从SGD到AdamW的原理与选择
linux·服务器·开发语言·网络·人工智能·深度学习·gpu算力