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

打印 上一主题 下一主题

主题 699|帖子 699|积分 2097


一、ls命令先容

   ls命令是Linux操作体系中的一个常用命令,在Linux中是使用率较高,用于表现目次中的文件和子目次。ls命令的输出信息可以进行彩色加亮表现,以分区不同类型的文件。
  二、ls命令的使用资助

2.1 命令格式

  1. ls [选项] [目录或文件名]
复制代码
2.2 命令选项



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



  • help资助
  1. ls --help
复制代码



  • man资助手册
  1. man help
复制代码

三、ls命令的基本使用

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



  • 列出当前目次下的所有文件和目次
  1. [root@server-01 log]# ls
  2. anaconda           cloudinit-deploy.log  dmesg                         maillog            messages-20230813  sa               spooler-20230806  yum.log
  3. audit              cloud-init.log        dmesg.old                     maillog-20230806   messages-20230820  secure           spooler-20230813  yum.log-20230101
  4. boot.log           cron                  ecs_network_optimization.log  maillog-20230813   messages-20230827  secure-20230806  spooler-20230820
  5. boot.log-20221121  cron-20230806         grubby                        maillog-20230820   mongodb            secure-20230813  spooler-20230827
  6. btmp               cron-20230813         grubby_prune_debug            maillog-20230827   mysqld.log         secure-20230820  tallylog
  7. btmp-20230801      cron-20230820         journal                       messages           ntpstats           secure-20230827  tuned
  8. chrony             cron-20230827         lastlog                       messages-20230806  rhsm               spooler          wtmp
复制代码
3.2 列出指定目次中的所有文件和目次



  • 列出指定目次下的所有文件和目次,ls后面跟目次的相对路径或者绝对路径。
  1. [root@server-01 log]# ls /var/log/
  2. anaconda           cloudinit-deploy.log  dmesg                         maillog            messages-20230813  sa               spooler-20230806  yum.log
  3. audit              cloud-init.log        dmesg.old                     maillog-20230806   messages-20230820  secure           spooler-20230813  yum.log-20230101
  4. boot.log           cron                  ecs_network_optimization.log  maillog-20230813   messages-20230827  secure-20230806  spooler-20230820
  5. boot.log-20221121  cron-20230806         grubby                        maillog-20230820   mongodb            secure-20230813  spooler-20230827
  6. btmp               cron-20230813         grubby_prune_debug            maillog-20230827   mysqld.log         secure-20230820  tallylog
  7. btmp-20230801      cron-20230820         journal                       messages           ntpstats           secure-20230827  tuned
  8. chrony             cron-20230827         lastlog                       messages-20230806  rhsm               spooler          wtmp
  9. [root@server-01 log]#
复制代码
3.3 表现文件的详细信息



  • 以长列表的方式列出文件和目次的详细信息,包括文件权限、文件巨细、创建时间等:
  1. [root@server-01 log]# ls -l boot.log
  2. -rw------- 1 root root 0 Nov 21  2022 boot.log
复制代码
3.4 列出所有文件和目次



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



  • 列出当前目次本身的信息,而不表现其下的文件和目次:
  1. [root@server-01 ~]# ls -d /root
  2. /root
复制代码


  • 表现目次本身的详细信息
  1. [root@server-01 ~]# ls -ld /root
  2. dr-xr-x---. 13 root root 4096 Aug 31 18:53 /root
复制代码
3.6 按照文件名的字母倒序表现



  • 按照文件名的字母倒序表现文件或目次
  1. [root@server-01 test]# ls -r ./
  2. 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
  3. 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选项可以按照文件巨细进行排序:
  1. [root@server-01 test]# ls -Slh /var/log/
  2. total 4.3M
  3. -rw-------  1 root   utmp            2.6M Jul 10 07:48 btmp-20230801
  4. -rw-r--r--. 1 root   root            286K Aug 31 18:21 lastlog
  5. -rw-r--r--  1 root   root            183K Nov 21  2022 cloud-init.log
  6. -rw-------  1 root   root            122K Aug 20 03:10 cron-20230820
  7. -rw-------  1 root   root            122K Aug 27 03:32 cron-20230827
  8. -rw-------  1 root   root            122K Aug 13 03:25 cron-20230813
  9. -rw-------  1 root   root            122K Aug  6 03:12 cron-20230806
  10. -rw-------  1 root   root             87K Aug 27 03:32 messages-20230827
  11. -rw-------  1 root   root             85K Aug 20 03:10 messages-20230820
  12. -rw-------  1 root   root             84K Aug 13 03:25 messages-20230813
  13. -rw-rw-r--. 1 root   utmp             84K Aug 31 18:21 wtmp
  14. -rw-------  1 root   root             84K Aug  6 03:12 messages-20230806
  15. -rw-------  1 root   root             81K Aug 31 19:01 cron
  16. -rw-------  1 root   utmp             65K Aug 31 17:47 btmp
  17. -rw-------  1 root   root             58K Aug 31 19:01 messages
  18. -rw-------  1 root   root             53K Aug 31 18:22 secure
  19. -rw-r--r--  1 root   root             33K Nov 20  2022 dmesg.old
  20. -rw-r--r--  1 root   root             33K Nov 21  2022 dmesg
  21. -rw-------  1 root   root             31K Nov 21  2022 boot.log-20221121
  22. -rw-------  1 root   root             27K Aug 26 13:19 secure-20230827
  23. -rw-r-----  1 mysql  mysql            14K Nov 25  2022 mysqld.log
  24. drwxr-xr-x. 2 root   root            4.0K Jul 11  2019 anaconda
复制代码
3.8 按照文件的修改时间进行排序



  • 按照文件的修改时间进行排序
  1. [root@server-01 test]# ls -t ./
  2. 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
  3. 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号
  1. [root@server-01 test]# ls -i a.txt
  2. 2509796 a.txt
复制代码


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


  • 查询空目次的inode号
  1. [root@server-01 test]# stat a
  2.   File: ‘a’
  3.   Size: 4096              Blocks: 8          IO Block: 4096   directory
  4. Device: fd01h/64769d        Inode: 560335      Links: 2
  5. Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
  6. Access: 2023-08-31 19:07:38.707582291 +0800
  7. Modify: 2023-08-31 19:02:36.406455154 +0800
  8. Change: 2023-08-31 19:02:36.406455154 +0800
  9. Birth: -
复制代码
注意:当你创建一个空文件时,操作体系会主动为该文件分配一个唯一的inode号,用于标识该文件。然而,ls -i命令表现的是文件的inode号和文件名,如果一个文件是空文件,那么文件名是空的,ls -i命令将不会表现该文件的inode号。
3.10 表现文件巨细



  • 列出当前目次下所有文件和目次的详细信息,并以人类可读的方式表现文件巨细
  1. [root@server-01 test]# ls -lh /var/log
  2. total 4.3M
  3. drwxr-xr-x. 2 root   root            4.0K Jul 11  2019 anaconda
  4. drwx------. 2 root   root            4.0K Aug 17 13:01 audit
  5. -rw-------  1 root   root               0 Nov 21  2022 boot.log
  6. -rw-------  1 root   root             31K Nov 21  2022 boot.log-20221121
  7. -rw-------  1 root   utmp             65K Aug 31 17:47 btmp
  8. -rw-------  1 root   utmp            2.6M Jul 10 07:48 btmp-20230801
  9. drwxr-xr-x. 2 chrony chrony          4.0K Apr 13  2018 chrony
  10. -rw-r--r--  1 root   root               0 Jul 11  2019 cloudinit-deploy.log
  11. -rw-r--r--  1 root   root            183K Nov 21  2022 cloud-init.log
  12. -rw-------  1 root   root             81K Aug 31 19:10 cron
  13. -rw-------  1 root   root            122K Aug  6 03:12 cron-20230806
  14. -rw-------  1 root   root            122K Aug 13 03:25 cron-20230813
  15. -rw-------  1 root   root            122K Aug 20 03:10 cron-20230820
  16. -rw-------  1 root   root            122K Aug 27 03:32 cron-20230827
  17. -rw-r--r--  1 root   root             33K Nov 21  2022 dmesg
  18. -rw-r--r--  1 root   root             33K Nov 20  2022 dmesg.old
  19. -rw-r--r--  1 root   root             343 Nov 21  2022 ecs_network_optimization.log
  20. -rw-------  1 root   root               0 Jul 11  2019 grubby
  21. -rw-r--r--. 1 root   root               0 Jul 11  2019 grubby_prune_debug
  22. drwxr-sr-x+ 3 root   systemd-journal 4.0K Jul 11  2019 journal
  23. -rw-r--r--. 1 root   root            286K Aug 31 18:21 lastlog
  24. -rw-------  1 root   root               0 Aug 27 03:32 maillog
  25. -rw-------  1 root   root               0 Jul 30 03:24 maillog-20230806
  26. -rw-------  1 root   root               0 Aug  6 03:12 maillog-20230813
  27. -rw-------  1 root   root               0 Aug 13 03:25 maillog-20230820
  28. -rw-------  1 root   root               0 Aug 20 03:10 maillog-20230827
  29. -rw-------  1 root   root             58K Aug 31 19:10 messages
  30. -rw-------  1 root   root             84K Aug  6 03:12 messages-20230806
  31. -rw-------  1 root   root             84K Aug 13 03:25 messages-20230813
  32. -rw-------  1 root   root             85K Aug 20 03:10 messages-20230820
  33. -rw-------  1 root   root             87K Aug 27 03:32 messages-20230827
  34. drwxr-xr-x  2 mongod mongod          4.0K Nov 24  2022 mongodb
  35. -rw-r-----  1 mysql  mysql            14K Nov 25  2022 mysqld.log
  36. drwxr-xr-x  2 ntp    ntp             4.0K Apr 13  2018 ntpstats
  37. drwxr-xr-x. 2 root   root            4.0K Jul 11  2019 rhsm
  38. drwxr-xr-x  2 root   root            4.0K Aug 31 00:00 sa
  39. -rw-------  1 root   root             53K Aug 31 18:22 secure
  40. -rw-------  1 root   root             219 Jul 31 01:28 secure-20230806
  41. -rw-------  1 root   root            2.5K Aug 10 04:44 secure-20230813
  42. -rw-------  1 root   root            1.3K Aug 19 18:17 secure-20230820
  43. -rw-------  1 root   root             27K Aug 26 13:19 secure-20230827
  44. -rw-------  1 root   root               0 Aug 27 03:32 spooler
  45. -rw-------  1 root   root               0 Jul 30 03:24 spooler-20230806
  46. -rw-------  1 root   root               0 Aug  6 03:12 spooler-20230813
  47. -rw-------  1 root   root               0 Aug 13 03:25 spooler-20230820
  48. -rw-------  1 root   root               0 Aug 20 03:10 spooler-20230827
  49. -rw-------. 1 root   root               0 Jul 11  2019 tallylog
  50. drwxr-xr-x. 2 root   root            4.0K Jul 11  2019 tuned
  51. -rw-rw-r--. 1 root   utmp             84K Aug 31 18:21 wtmp
  52. -rw-------  1 root   root            2.3K Jan 26  2023 yum.log
  53. -rw-------  1 root   root            3.3K Dec  2  2022 yum.log-20230101
复制代码
四、总结

   ls 是 Linux 中使用频繁的命令,紧张用于展示当前或指定目次下的文件及子目次;它可以通过附加选项来增强功能,比方 -l 用于提供详细的列表视图,而 -a 则用来表现包括隐藏文件在内的所有文件;别的,ls 支持颜色高亮表现,资助用户直观地区分不同类型的文件;颜色设置可通过环境变量 LS_COLORS 自界说,增加文件管理的服从;ls 还能处理多个目次参数,并与其他命令联合使用,增强了实在用性和灵活性。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

我可以不吃啊

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表