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
主要展示以下信息:
- 文件类型,D代表目录(Directory)、-代表文件、c代表字符块(character device)、b代表块设备(block device)。
- 文件类型,比如截图里的anaconda-ks.cfg的文件权限是rw-即可读可写不可执行。文件的权限有读、写、执行三种,文件权限对应面向三类用户(自己、所在组、其它组)。权限有时也以数字形式表现,其中R对应4,W对应2,X对照1,针对某类用户其权限是三类的总和,所以anaconda-ks.cfg的权限是600
- 文件硬链接数
- 文件所属用户名
- 文件所属组名
- 文件最新的修改时间
- 文件或目录名
缩略方式查看所有文件(含隐藏文件)
隐藏文件多数为配置文件,以.开头,比如这里的.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查看目录文件命令集锦的主要内容,如果未能解决你的问题,请参考以下文章
❤『面试知识集锦100篇』2.linux篇丨shell基础命令全集,我奶奶的速查手册!!❤
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段