Linux系统之ls命令的基本使用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Linux系统之ls命令的基本使用

在这里插入图片描述

一、ls命令介绍

  • ls命令是Linux操作系统中的一个常用命令,在Linux中是使用率较高,用于显示目录中的文件和子目录。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。

二、ls命令的使用帮助

2.1 命令格式

ls [选项] [目录或文件名]

2.2 命令选项

  • 下面是ls命令的常用选项
- `-a`:列出所有文件和目录,包括以.开头的隐藏文件和目录;
- `-l`:以长列表的方式列出文件和目录的详细信息,包括文件权限、文件大小、创建时间等;
- `-h`:配合-l选项使用,以人类可读的格式显示文件大小,如1.2K、3.4M等;
- `-r`:倒序显示文件和目录;
- `-t`:按照文件或目录的修改时间排序;
- `-S`:按照文件或目录的大小排序;
- `-i`:显示文件或目录的inode号;
- `-d`:显示目录本身的信息,而不是目录下的文件和目录。

2.3 使用帮助

  • help帮助
ls --help

在这里插入图片描述

  • man帮助手册
man help

在这里插入图片描述

三、ls命令的基本使用

3.1 列出当前目录中的所有文件和目录

  • 列出当前目录下的所有文件和目录
[root@server-01 log]# ls
anaconda           cloudinit-deploy.log  dmesg                         maillog            messages-20230813  sa               spooler-20230806  yum.log
audit              cloud-init.log        dmesg.old                     maillog-20230806   messages-20230820  secure           spooler-20230813  yum.log-20230101
boot.log           cron                  ecs_network_optimization.log  maillog-20230813   messages-20230827  secure-20230806  spooler-20230820
boot.log-20221121  cron-20230806         grubby                        maillog-20230820   mongodb            secure-20230813  spooler-20230827
btmp               cron-20230813         grubby_prune_debug            maillog-20230827   mysqld.log         secure-20230820  tallylog
btmp-20230801      cron-20230820         journal                       messages           ntpstats           secure-20230827  tuned
chrony             cron-20230827         lastlog                       messages-20230806  rhsm               spooler          wtmp

3.2 列出指定目录中的所有文件和目录

  • 列出指定目录下的所有文件和目录,ls后面跟目录的相对路径或者绝对路径。
[root@server-01 log]# ls /var/log/
anaconda           cloudinit-deploy.log  dmesg                         maillog            messages-20230813  sa               spooler-20230806  yum.log
audit              cloud-init.log        dmesg.old                     maillog-20230806   messages-20230820  secure           spooler-20230813  yum.log-20230101
boot.log           cron                  ecs_network_optimization.log  maillog-20230813   messages-20230827  secure-20230806  spooler-20230820
boot.log-20221121  cron-20230806         grubby                        maillog-20230820   mongodb            secure-20230813  spooler-20230827
btmp               cron-20230813         grubby_prune_debug            maillog-20230827   mysqld.log         secure-20230820  tallylog
btmp-20230801      cron-20230820         journal                       messages           ntpstats           secure-20230827  tuned
chrony             cron-20230827         lastlog                       messages-20230806  rhsm               spooler          wtmp
[root@server-01 log]#

3.3 显示文件的详细信息

  • 以长列表的方式列出文件和目录的详细信息,包括文件权限、文件大小、创建时间等:
[root@server-01 log]# ls -l boot.log
-rw------- 1 root root 0 Nov 21  2022 boot.log

3.4 列出所有文件和目录

  • 列出所有文件和目录,包括以.开头的隐藏文件和目录:
[root@server-01 ~]# ls -a
-   addon-local-path-provisioner.yaml  .bash_profile  .cshrc    imgurl      .mongorc.js     p     .pydistutils.cfg  .tcshrc   web
.   .bash_history                      .bashrc        .dbshell  install.py  .mysql_history  .pip  .ssh              .viminfo  贪吃蛇.sh
..  .bash_logout                       .cache         .docker   .links      NodeBB          .pki  ta1.sh            .vimrc

3.5 显示目录本身,

  • 列出当前目录本身的信息,而不显示其下的文件和目录:
[root@server-01 ~]# ls -d /root
/root
  • 显示目录本身的详细信息
[root@server-01 ~]# ls -ld /root
dr-xr-x---. 13 root root 4096 Aug 31 18:53 /root

3.6 按照文件名的字母倒序显示

  • 按照文件名的字母倒序显示文件或目录
[root@server-01 test]# ls -r ./
z.txt  x.txt  v.txt  t.txt     s.txt  q.txt  o.txt  m.txt  k.txt  i.txt  g.txt  file05  file03  file01  d.txt  b.txt
y.txt  w.txt  u.txt  test.txt  r.txt  p.txt  n.txt  l.txt  j.txt  h.txt  f.txt  file04  file02  e.txt   c.txt  a.txt

3.7 按照文件大小进行排序

  • 使用-S选项可以按照文件大小进行排序:
[root@server-01 test]# ls -Slh /var/log/
total 4.3M
-rw-------  1 root   utmp            2.6M Jul 10 07:48 btmp-20230801
-rw-r--r--. 1 root   root            286K Aug 31 18:21 lastlog
-rw-r--r--  1 root   root            183K Nov 21  2022 cloud-init.log
-rw-------  1 root   root            122K Aug 20 03:10 cron-20230820
-rw-------  1 root   root            122K Aug 27 03:32 cron-20230827
-rw-------  1 root   root            122K Aug 13 03:25 cron-20230813
-rw-------  1 root   root            122K Aug  6 03:12 cron-20230806
-rw-------  1 root   root             87K Aug 27 03:32 messages-20230827
-rw-------  1 root   root             85K Aug 20 03:10 messages-20230820
-rw-------  1 root   root             84K Aug 13 03:25 messages-20230813
-rw-rw-r--. 1 root   utmp             84K Aug 31 18:21 wtmp
-rw-------  1 root   root             84K Aug  6 03:12 messages-20230806
-rw-------  1 root   root             81K Aug 31 19:01 cron
-rw-------  1 root   utmp             65K Aug 31 17:47 btmp
-rw-------  1 root   root             58K Aug 31 19:01 messages
-rw-------  1 root   root             53K Aug 31 18:22 secure
-rw-r--r--  1 root   root             33K Nov 20  2022 dmesg.old
-rw-r--r--  1 root   root             33K Nov 21  2022 dmesg
-rw-------  1 root   root             31K Nov 21  2022 boot.log-20221121
-rw-------  1 root   root             27K Aug 26 13:19 secure-20230827
-rw-r-----  1 mysql  mysql            14K Nov 25  2022 mysqld.log
drwxr-xr-x. 2 root   root            4.0K Jul 11  2019 anaconda

3.8 按照文件的修改时间进行排序

  • 按照文件的修改时间进行排序
[root@server-01 test]# ls -t ./
b  a.txt  c.txt  e.txt  g.txt  i.txt  k.txt  m.txt  o.txt  q.txt  s.txt  u.txt  w.txt  y.txt  test.txt  file02  file04
a  b.txt  d.txt  f.txt  h.txt  j.txt  l.txt  n.txt  p.txt  r.txt  t.txt  v.txt  x.txt  z.txt  file01    file03  file05

3.9 查询文件或目录的inode号

  • 查询文件inode号
[root@server-01 test]# ls -i a.txt
2509796 a.txt
  • 查询目录的inode号

    [root@server-01 test]# ls -i /var/
    131423 adm    131487 crash  131426 empty  131428 gopher    131087 lib    131420 lock  131433 mail  131435 opt       131419 run    131074 tmp
    131424 cache  131425 db     131427 games  131443 kerberos  131432 local  131422 log   131434 nis   131436 preserve  131437 spool  131440 yp
    
  • 查询空目录的inode号

[root@server-01 test]# stat a
  File: ‘a’
  Size: 4096          Blocks: 8          IO Block: 4096   directory
Device: fd01h/64769d    Inode: 560335      Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2023-08-31 19:07:38.707582291 +0800
Modify: 2023-08-31 19:02:36.406455154 +0800
Change: 2023-08-31 19:02:36.406455154 +0800
 Birth: -

注意:当你创建一个空文件时,操作系统会自动为该文件分配一个唯一的inode号,用于标识该文件。然而,ls -i命令显示的是文件的inode号和文件名,如果一个文件是空文件,那么文件名是空的,ls -i命令将不会显示该文件的inode号。

3.10 显示文件大小

  • 列出当前目录下所有文件和目录的详细信息,并以人类可读的方式显示文件大小
[root@server-01 test]# ls -lh /var/log
total 4.3M
drwxr-xr-x. 2 root   root            4.0K Jul 11  2019 anaconda
drwx------. 2 root   root            4.0K Aug 17 13:01 audit
-rw-------  1 root   root               0 Nov 21  2022 boot.log
-rw-------  1 root   root             31K Nov 21  2022 boot.log-20221121
-rw-------  1 root   utmp             65K Aug 31 17:47 btmp
-rw-------  1 root   utmp            2.6M Jul 10 07:48 btmp-20230801
drwxr-xr-x. 2 chrony chrony          4.0K Apr 13  2018 chrony
-rw-r--r--  1 root   root               0 Jul 11  2019 cloudinit-deploy.log
-rw-r--r--  1 root   root            183K Nov 21  2022 cloud-init.log
-rw-------  1 root   root             81K Aug 31 19:10 cron
-rw-------  1 root   root            122K Aug  6 03:12 cron-20230806
-rw-------  1 root   root            122K Aug 13 03:25 cron-20230813
-rw-------  1 root   root            122K Aug 20 03:10 cron-20230820
-rw-------  1 root   root            122K Aug 27 03:32 cron-20230827
-rw-r--r--  1 root   root             33K Nov 21  2022 dmesg
-rw-r--r--  1 root   root             33K Nov 20  2022 dmesg.old
-rw-r--r--  1 root   root             343 Nov 21  2022 ecs_network_optimization.log
-rw-------  1 root   root               0 Jul 11  2019 grubby
-rw-r--r--. 1 root   root               0 Jul 11  2019 grubby_prune_debug
drwxr-sr-x+ 3 root   systemd-journal 4.0K Jul 11  2019 journal
-rw-r--r--. 1 root   root            286K Aug 31 18:21 lastlog
-rw-------  1 root   root               0 Aug 27 03:32 maillog
-rw-------  1 root   root               0 Jul 30 03:24 maillog-20230806
-rw-------  1 root   root               0 Aug  6 03:12 maillog-20230813
-rw-------  1 root   root               0 Aug 13 03:25 maillog-20230820
-rw-------  1 root   root               0 Aug 20 03:10 maillog-20230827
-rw-------  1 root   root             58K Aug 31 19:10 messages
-rw-------  1 root   root             84K Aug  6 03:12 messages-20230806
-rw-------  1 root   root             84K Aug 13 03:25 messages-20230813
-rw-------  1 root   root             85K Aug 20 03:10 messages-20230820
-rw-------  1 root   root             87K Aug 27 03:32 messages-20230827
drwxr-xr-x  2 mongod mongod          4.0K Nov 24  2022 mongodb
-rw-r-----  1 mysql  mysql            14K Nov 25  2022 mysqld.log
drwxr-xr-x  2 ntp    ntp             4.0K Apr 13  2018 ntpstats
drwxr-xr-x. 2 root   root            4.0K Jul 11  2019 rhsm
drwxr-xr-x  2 root   root            4.0K Aug 31 00:00 sa
-rw-------  1 root   root             53K Aug 31 18:22 secure
-rw-------  1 root   root             219 Jul 31 01:28 secure-20230806
-rw-------  1 root   root            2.5K Aug 10 04:44 secure-20230813
-rw-------  1 root   root            1.3K Aug 19 18:17 secure-20230820
-rw-------  1 root   root             27K Aug 26 13:19 secure-20230827
-rw-------  1 root   root               0 Aug 27 03:32 spooler
-rw-------  1 root   root               0 Jul 30 03:24 spooler-20230806
-rw-------  1 root   root               0 Aug  6 03:12 spooler-20230813
-rw-------  1 root   root               0 Aug 13 03:25 spooler-20230820
-rw-------  1 root   root               0 Aug 20 03:10 spooler-20230827
-rw-------. 1 root   root               0 Jul 11  2019 tallylog
drwxr-xr-x. 2 root   root            4.0K Jul 11  2019 tuned
-rw-rw-r--. 1 root   utmp             84K Aug 31 18:21 wtmp
-rw-------  1 root   root            2.3K Jan 26  2023 yum.log
-rw-------  1 root   root            3.3K Dec  2  2022 yum.log-20230101
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
IDE Linux 开发工具
Linux 系统上安装
在Linux和Mac上安装Lua 5.3.0只需下载源码,解压,编译和安装。Windows用户可选择SciTE IDE或通过LuaForWindows在Github或Google Code下载安装。创建 HelloWorld.lua,使用`lua HelloWorld.lua`运行显示"Hello World!"。另可参考LuaDist官方推荐方式安装。
|
1天前
|
安全 网络协议 Linux
linux必学的60个命令
Linux是一个功能强大的操作系统,提供了许多常用的命令行工具,用于管理文件、目录、进程、网络和系统配置等。以下是Linux必学的60个命令的概览,但请注意,这里可能无法列出所有命令的完整语法和选项,仅作为参考
190 2
|
1天前
|
Linux Go
linux ls -la文件信息含义
linux ls -la文件信息含义
6 1
|
1天前
|
监控 JavaScript 网络协议
Linux系统之安装uptime-kuma服务器监控面板
【5月更文挑战第12天】Linux系统之安装uptime-kuma服务器监控面板
10 0
|
1天前
|
Ubuntu Java Linux
【JavaEE】Linux基本使用(上)
【JavaEE】Linux基本使用
7 0
|
1天前
|
Linux 程序员 计算机视觉
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
14 0
|
1天前
|
Linux
Linux的find命令使用
【5月更文挑战第11天】Linux的find命令使用
13 3
|
1天前
|
Linux Perl
Linux系统的文本处理
Linux系统的文本处理
|
1天前
|
Linux API
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
|
1天前
|
监控 Linux 数据处理