Linux ls查看目录文件命令集锦

Posted ShenLiang2025

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux ls查看目录文件命令集锦相关的知识,希望对你有一定的参考价值。

                           Linux Shell ls查看目录汇总

声明与简介

本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理。本文主要介绍Linux的命令ls的使用。

ls命令用于查看当前操作系统下的目录、文件信息。

 

LS常见命令集锦

查看指定目录的信息

#查看指定目录,默认是当前目录
ls /data/mysql/
ls
ls .

以区分目录、文件形式查看

#以区分目录、文件方式
ls –F /data/mysql

: 1 这里文件以后缀 “/”显示,可执行文件以”*”

        2 这里的F约等价于字母Format

以长信息展示目录

#以长信息,详细信息方式展示
ls -l

 

主要展示以下信息:

  1. 文件类型,D代表目录(Directory)、-代表文件、c代表字符块(character device)、b代表块设备(block device)。
  2. 文件类型,比如截图里的anaconda-ks.cfg的文件权限是rw-即可读可写不可执行。文件的权限有读、写、执行三种,文件权限对应面向三类用户(自己、所在组、其它组)。权限有时也以数字形式表现,其中R对应4,W对应2,X对照1,针对某类用户其权限是三类的总和,所以anaconda-ks.cfg的权限是600
  3. 文件硬链接数
  4.  文件所属用户名
  5. 文件所属组名
  6. 文件最新的修改时间
  7. 文件或目录名

 

缩略方式查看所有文件(含隐藏文件)

隐藏文件多数为配置文件,以.开头,比如这里的.bash_profile、.bashrc环境变量配置文件;.kettle是KETTLE的配置文件。

# 显示所有文件(含隐藏)
ls –a /root

递归式遍历文件

#递归式查看文件和目录
ls –F –R
#也可以写成 ls –FR

这里的R参数是以递归式查看指定文件信息,即如果有的文件夹有子文件(夹)则会遍历完全。

这里的参数R等价于recurcive

模糊匹配

#模糊匹配方式查看文件、目录
ls -l sh.t?t
ls -l sh*

这里?是一个字符模糊匹配,*则是可以匹配多个字符。

中括号匹配

情景1:中括号多固定字符匹配,比如如下命令会匹配到txt和tgt。

#多字符组合匹配
ls -l sh.t[gx]t

情景2:中括号多固定字符匹配,比如如下命令会匹配到txt和tgt。

#以正则表达式方式匹配
ls -l sh.t[a-zA-Z]t

情景3:反向匹配,比如不含字符“g”的文件,则可以

#反向匹配
ls -l sh.t[!g]t

合并目录、文件名

#这里合并时以逗号作为分隔符。
ls -m .
#shelldir, sh.Tgt, sh.txt

引号包裹文件名

#以引号包裹方式展示
ls -Q .
#"shelldir"  "sh.Tgt"  "sh.txt"

查看目录时仅显示用户及组ID

ls -n .
#总用量 8
#drwxr-xr-x 2 0 0 23 5月  14 16:19 shelldir
#-rw-r--r-- 1 0 0  7 5月  14 16:26 sh.Tgt
#-rw-r--r-- 1 0 0 12 5月  14 16:16 sh.txt

注:这里的0即是root的用户和组ID。可通过如下命令验证:

#查看root的用户信息
cat /etc/passwd | grep root
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

指定时间格式显示文件信息

#指定以年月日时分秒方式展示
ls -l --time-style='+%Y/%m/%d %H:%M:%S' .

#总用量 8
#drwxr-xr-x 2 root root 23 2021/05/14 16:19:31 shelldir
#-rw-r--r-- 1 root root  7 2021/05/14 16:26:32 sh.Tgt
#-rw-r--r-- 1 root root 12 2021/05/14 16:16:55 sh.txt

 

其它几种内置时间格式参数为full-iso、long-iso、iso、locale,以下以full-iso为例。

其中full-iso格式为年-月-日 时-分-秒.毫秒 时区。比如2021-05-14 16:19:31.574107937 +0800

Long-iso格式为年-月-日 时-分,比如2021-05-14 16:19

Iso格式为月-日 时-分,比如05-14 16:19

locale格式为依赖于系统的语言环境,当前为中文(zh_CN.utf8),所以显示效果为:5月  14 16:19。

[root@host_128 shellscrips]# ls -l --time-style=full-iso .

总用量 8

drwxr-xr-x 2 root root 23 2021-05-14 16:19:31.574107937 +0800 shelldir

-rw-r--r-- 1 root root  7 2021-05-14 16:26:32.840134427 +0800 sh.Tgt

-rw-r--r-- 1 root root 12 2021-05-14 16:16:55.545098126 +0800 sh.txt

这里显示的是时间格式里含了时区信息,当前CentOS系统是东八区(+0800)。

以文件大小显示

#以文件大小排序,这里以文件大的排在前。
ls -S -l .

通过时间类型查看

这里有三个参数mtime:modification time,即文件内容修改时。

ctime: status change time 即文件的状态(权限和属性)变化时

atime : access time 文件被访问时,比如cat、more、ls等时

注:针对atime的说明:

这里特别注意,不是每次访问时该时间都会更新,而是文件状态或内容修改后最近的一次时间。

案例说明:

1 先修改文件sh.txt,查看通过修改时间查看

2 再修改文件的读写权限,然后通过状态时间查看

3 通过cat访问文件,然后通过访问时间查看

4 再次cat访问文件,然后通过访问时间查看

详细见下文:

ll

总用量 8

drwxr-xr-x 2 root root 23 5月  14 16:19 shelldir

-rw-r--r-- 1 root root 60 5月  14 21:34 sh.Tgt

-rw-r--r-- 1 root root 24 5月  14 21:48 sh.txt

[root@host_128 shellscrips]# echo "new content" >> sh.txt

[root@host_128 shellscrips]# ls -l sh.txt

-rw-r--r-- 1 root root 36 5月  14 22:19 sh.txt

[root@host_128 shellscrips]# chmod 744 sh.txt

[root@host_128 shellscrips]# ls -l --time=ctime sh.txt

-rwxr--r-- 1 root root 36 5月  14 22:20 sh.txt

[root@host_128 shellscrips]# cat sh.txt

say nothing

modify now!

new content

[root@host_128 shellscrips]# ls -l --time=atime sh.txt

-rwxr--r-- 1 root root 36 5月  14 22:20 sh.txt

[root@host_128 shellscrips]# date

2021年 05月 14日 星期五 22:21:05 CST

[root@host_128 shellscrips]# cat sh.txt

say nothing

modify now!

new content

[root@host_128 shellscrips]# ls -l --time=atime sh.txt

-rwxr--r-- 1 root root 36 5月  14 22:20 sh.txt

以列的形式展示目录信息

#这里的C等价于column,ls默认即以列形式展示。
ls –C .

以单独行展示

#每个结果1行,注意这里的参数是1
ls -1 .

shelldir
sh.Tgt
sh.txt

以访问时间展示

#以访问时间格式展示
ls -u -lt .

总用量 8

-rwxr--r-- 1 root root 36 5月  14 22:20 sh.txt

-rw-r--r-- 1 root root 60 5月  14 21:35 sh.Tgt

drwxr-xr-x 2 root root 23 5月  14 16:22 shelldir

[root@host_128 shellscrips]# ls -lt .

总用量 8

-rwxr--r-- 1 root root 36 5月  14 22:19 sh.txt

-rw-r--r-- 1 root root 60 5月  14 21:34 sh.Tgt

drwxr-xr-x 2 root root 23 5月  14 16:19 shelldir

[root@host_128 shellscrips]# stat sh.txt

  文件:sh.txt

  大小:36          块:8          IO 块:4096   普通文件

设备:fd00h/64768d  Inode:68385119    硬链接:1

权限:(0744/-rwxr--r--)  Uid:(    0/    root)   Gid:(    0/    root)

最近访问:2021-05-14 22:20:41.599276005 +0800

最近更改:2021-05-14 22:19:53.233272963 +0800

最近改动:2021-05-14 22:20:24.664274940 +0800

创建时间:-

以可方便读方式展示

#以可方便读方式展示
ls -h -s .

总用量 8.0K

   0 shelldir  4.0K sh.Tgt  4.0K sh.txt

以k为单位显示

#以k为存储单位方式展示文件信息
ls -sk .

总用量 8

0 shelldir  4 sh.Tgt  4 sh.txt

 

按照指定类型排序

[root@host_128 shellscrips]# ls --sort=version .

sh.Tgt  sh.txt  shelldir

[root@host_128 shellscrips]# ls --sort=time .

sh.txt  sh.Tgt  shelldir

[root@host_128 shellscrips]# ls --sort=extension .

shelldir  sh.Tgt  sh.txt

[root@host_128 shellscrips]# ls --sort=size .

sh.Tgt  sh.txt  shelldir

类型可以是version(针对文件是版本号的如1.2.4,等同于-v)、time(等同于-t 修改时间)、extension、size(等同于-S)。

 

以上是关于Linux ls查看目录文件命令集锦的主要内容,如果未能解决你的问题,请参考以下文章

linux 命令集锦

❤『面试知识集锦100篇』2.linux篇丨shell基础命令全集,我奶奶的速查手册!!❤

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

必看,Linux系统及资源命令集锦!

Linux 150命令之 文件和目录操作命令 ls

linux每日命令:ls命令