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

相关推荐
毒丐36 分钟前
GCC使用说明
linux·c语言·c++
babytiger37 分钟前
linux系统(ubuntu,uos等)连接鸿蒙next(mate60)设备
linux·运维·ubuntu
檀越剑指大厂38 分钟前
【Linux系列】Vim 编辑器中的高效文本编辑技巧:删除操作
linux·编辑器·vim
知本知至1 小时前
ubuntu18升级至ubuntu20
linux·ubuntu·gpu
喵叔哟1 小时前
23. 【.NET 8 实战--孢子记账--从单体到微服务】--记账模块--预算
linux·微服务·.net
猫咪-95272 小时前
mv指令详解
linux·指令
鲁子狄2 小时前
[笔记] Jenkins 安装与配置全攻略:Ubuntu 从零开始搭建持续集成环境
java·linux·运维·笔记·ubuntu·ci/cd·jenkins
蚊子爱喝水3 小时前
Centos7使用yum工具出现 Could not resolve host: mirrorlist.centos.org
linux·运维·centos
☆凡尘清心☆3 小时前
CentOS Stream 9上安装配置NFS
linux·运维·centos
JaneZJW3 小时前
嵌入式岗位面试八股文(篇三 操作系统(下))
linux·stm32·面试·嵌入式·c