ls: 显示目下的内容及相关属性信息
ls: 显示目下的内容及相关属性信息
【功能说明】
ls 命令可以理解为英文单词 “list” 的缩写,其功能是列出目录的内容及其内容属性信息(list directory contents)。该命令有点类似于DOS系统下的dir命令,有趣的是,Linux下其实也有dir命令,但是我们更习惯于使用ls命令。
【语法格式】
1 ls [option] [file]
2 ls 【选项】 【文件或者目录】
提示说明:
1) ls命令以及后面的选项和文件,每个元素之间都要至少要有一个空格。
2) 命令后面的选项和目录文件可以省略,表示查看当前路径的文件信息
【命令参数说明】
| 参数选项 | 解释说明 | 
| -l | 使用长格式列出文件及目录信息 | 
| -a | 显示目录下的所有文件,包括以 “.” 字符开始的隐藏文件 | 
| -t | 根据最后的修改时间(mtime)排序,默认是以文件名排序 | 
| -r | 依相反次序排序 | 
| -F | 在条目后加文件类型的指示符号(*、/、=、@、|,其中的一个) | 
| -P | 只在目录后面加上 “/” | 
| -i | 显示文件或目录的inode节点信息 | 
| -d | 当遇到目录时,列出目录本身而非目录内的文件,并且不跟随符号链接 | 
| -h | 以人类可读的信息显示文件或目录大小,如1kb、1M、1G等显示格式 | 
| -S | 根据文件大小排序 | 
| -R | 递归列出所有子目录 | 
| -x | 逐行列出项目而不是逐栏列出 | 
| -X | 根据扩展名排序 | 
| -c | 根据状态改变时间(ctime)排序 | 
| -u | 根据最后访问时间(atime)排序 | 
| --color={never,always,auto} | 不同的文件类型显示不同的颜色参数,never表示不显示,always表示总是显示,auto表示自动显示 | 
| --full-time | 以完整的时间格式输出 | 
| --time-style={full-iso,long-ios,ios,locale} | 以不同的时间格式输出,long-iso效果最好 | 
| --time={atime,ctime} | 按不同的时间属性输出,atime表示按访问时间,ctime表示按改变权限属性时间,如果不加此参数则默认认为最后的修改时间。 | 
【使用范例】
在开始范例讲解之前,需要先做一些准备,顺便整合一下前面使用的命令。
1 [root@test-1 ansible]# mkdir -p /test
2 [root@test-1 ansible]# cd /test/
3 [root@test-1 test]# touch file{1..5}.txt
4 [root@test-1 test]# mkdir -p dir{1..5}
5 [root@test-1 test]# tree
6 .
7 ├── dir1
8 ├── dir2
9 ├── dir3
10 ├── dir4
11 ├── dir5
12 ├── file1.txt
13 ├── file2.txt
14 ├── file3.txt
15 ├── file4.txt
16 └── file5.txt
17
18 5 directories, 5 files
1.基础范例
1.1 案例1:直接指向ls命令,不带任何参数。
1 [root@test-1 test]# ls
2 dir1 dir2 dir3 dir4 dir5 file1.txt file2.txt file3.txt file4.txt file5.txt
1.2 案例2:使用-a参数显示所有文件,特别是隐藏文件。
1 [root@test-1 test]# touch .file6.txt #在创建一个隐藏文件,在linux系统中“.”(点号)开头的文件就是隐藏文件
2 [root@test-1 test]# ls
3 dir1 dir2 dir3 dir4 dir5 file1.txt file2.txt file3.txt file4.txt file5.txt
4 [root@test-1 test]# ls -a
5 . .. dir1 dir2 dir3 dir4 dir5 file1.txt file2.txt file3.txt file4.txt file5.txt .file6.txt
6 #提示:
7 #加了-a参数,就会把以“.”(点号)开头的内容显示出来了,这里显示的第一个点号,表示当前目录,即test目录本身,而两个点号则表示当前目录的上级目录,此处就代表根目录了。有关一个点、两个点的知识,在后面的ln命令中会有详细讲解
8 [root@test-1 test]# ls -A #列出所有文件,包括隐藏文件,但不包括 “.” 与 “..”这两个目录
9 dir1 dir2 dir3 dir4 dir5 file1.txt file2.txt file3.txt file4.txt file5.txt .file6.txt
1.3 案例3:使用-l参数显示详细信息
[root@test-1 test]# ls -l #此处的时间属性列默认显示的是文件的最后一次修改时间
total 0
drwxr-xr-x 2 root root 6 Sep 21 07:06 dir1
drwxr-xr-x 2 root root 6 Sep 21 07:06 dir2
drwxr-xr-x 2 root root 6 Sep 21 07:06 dir3
drwxr-xr-x 2 root root 6 Sep 21 07:06 dir4
drwxr-xr-x 2 root root 6 Sep 21 07:06 dir5
-rw-r--r-- 1 root root 0 Sep 21 07:06 file1.txt
-rw-r--r-- 1 root root 0 Sep 21 07:06 file2.txt
-rw-r--r-- 1 root root 0 Sep 21 07:06 file3.txt
-rw-r--r-- 1 root root 0 Sep 21 07:06 file4.txt
-rw-r--r-- 1 root root 0 Sep 21 07:06 file5.txt
#提示:
#说明:这个-l参数是最常用的参数了,意思是用长格式列出目录下的文件类型、权限、连接数、属主、属组及创建修改时间的信息。这里每个列的属性含义都需要熟练掌握,后文会详细说明这些属性信息
可能有人已经注意到了,创建或修改时间的格式没有年份的信息,那么如何显示时间全部信息呢,请看案例4
1.4 案例4:显示完整时间属性的参数 --time-style=long-iso
1 [root@test-1 test]# ls -l --time-style=long-iso #以long-iso方式显示时间
2 total 0
3 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir1
4 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir2
5 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir3
6 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir4
7 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir5
8 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file1.txt
9 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file2.txt
10 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file3.txt
11 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file4.txt
12 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file5.txt
13
14 #提示:这样的时间格式看起来是不是总让人感到心情舒畅呢,关于--time-style的其他可选参数,请大家自行测试
对于上面的命令,说明如下:
1)--time-style 可选的参数值有如下几个,如full-iso、long-iso、iso、locale。默认值是locale
2)在生产场景中经常会遇到同一个目录下的文件及目录时间的显示不一致的问题,所以需要使用 ls -l --time-style=long-iso 来调整,如果觉得参数太多不好记,则可以设置一个别名管理,见后文的alias命令
3)值得一提的是,执行ls -l等命令时,默认显示的是文件最后一次的修改时间(如果是新文件那么就是创建时间了)
4)ls --full-time用于显示完整时间,等同于ls -l --time-style=full-iso
既然ls -l输出结果的时间属性列为修改时间,那么能否改成其他的时间,例如:显示最后一次文件访问时间,这当然也是可以的,具体请参考案例5
1.5 案例5:执行ls命令,带显示内容的访问时间属性的参数
1 [root@test-1 test]# stat file1.txt #显示文件的属性及状态信息,
2 File: ‘file1.txt’
3 Size: 0 Blocks: 0 IO Block: 4096 regular empty file
4 Device: fd00h/64768d Inode: 100825163 Links: 1
5 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
6 Access: 2019-09-21 07:06:01.923683869 -0400 #这里就是文件的访问时间,是我们现在需要关注的
7 Modify: 2019-09-21 07:06:01.923683869 -0400
8 Change: 2019-09-21 07:06:01.923683869 -0400
9 Birth: -
10 [root@test-1 test]# date #查看当前系统时间
11 Sat Sep 21 07:51:47 EDT 2019
12 [root@test-1 test]# cat file1.txt #查看文件内容即表示访问了文件,
13 [root@test-1 test]# stat file1.txt #重新查看文件的访问时间
14 File: ‘file1.txt’
15 Size: 0 Blocks: 0 IO Block: 4096 regular empty file
16 Device: fd00h/64768d Inode: 100825163 Links: 1
17 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
18 Access: 2019-09-21 07:52:12.945530547 -0400 #可以发现file1.txt的访问时间已经发生了变化
19 Modify: 2019-09-21 07:06:01.923683869 -0400
20 Change: 2019-09-21 07:06:01.923683869 -0400
21 Birth: -
22 [root@test-1 test]# ls -l --time-style=long-iso --time=atime #增加--time=atime参数,显示访问时间
23 total 0
24 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir1
25 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir2
26 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir3
27 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir4
28 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir5
29 -rw-r--r-- 1 root root 0 2019-09-21 07:52 file1.txt #文件的时间列确实发生了改变,是前面的访问的时间无疑
30 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file2.txt
31 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file3.txt
32 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file4.txt
33 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file5.txt
34 [root@test-1 test]# ls -l --time-style=long-iso
35 total 0
36 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir1
37 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir2
38 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir3
39 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir4
40 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir5
41 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file1.txt #这里是文件的默认修改时间列
42 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file2.txt
43 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file3.txt
44 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file4.txt
45 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file5.txt
提示:通过上面实践,可以得出结论了,--time=atime显示的确实是访问时间,而非默认的修改时间。
对于上的命令,需要说明如下两点
1)与之相关命令还有ls -l --time-style=long-iso --time=ctime,用于显示文件改变的时间
2)有关文件时间列及mtime、atime、ctime的知识,touch命令时已经写出来了
1.6 案例6:执行ls 命令,带 -F参数(这一点和tree命令有点类似)
1 [root@test-1 test]# ls -F # -F 我们可以清晰的看到所有的目录的结尾都被加上了斜线 "/"
2 dir1/ dir2/ dir3/ dir4/ dir5/ file1.txt file2.txt file3.txt file4.txt file5.txt
3 [root@test-1 test]# ls -F |grep / #过滤目录
4 dir1/
5 dir2/
6 dir3/
7 dir4/
8 dir5/
9 [root@test-1 test]# ls -F |grep -v / #排除所有目录,过滤出文件
10 file1.txt
11 file2.txt
12 file3.txt
13 file4.txt
14 file5.txt
ls: 显示目下的内容及相关属性信息的更多相关文章
- ls 显示目录下的内容和文件相关属性信息
		
1.命令功能 ls命令是“list directory contents”,显示当前目录下的内容和文件属性. 2.语法格式 ls [option] file ls 选项 文件名 3.选项说明 ...
 - Salesforce LWC学习(三十四)  如何更改标准组件的相关属性信息
		
本篇参考: https://www.cnblogs.com/zero-zyq/p/14548676.html https://www.lightningdesignsystem.com/platfor ...
 - Activity Intent Flags及Task相关属性
		
转自http://www.cnblogs.com/lwbqqyumidi/p/3775479.html 今天我们来讲一下Activity的task相关内容. 上次我们讲到Activity的四种启动模式 ...
 - css中的字体及文本相关属性
		
css中的字体及文本相关属性 1.字体相关属性 字体主要可以设置color.font-family.font-size.font-size-adjust.font-stretch.font-style ...
 - Android总结篇系列:Activity Intent Flags及Task相关属性
		
同上文一样,本文主要引用自网上现有博文,并加上一些自己的理解,在此感谢原作者. 原文地址: http://blog.csdn.net/liuhe688/article/details/6761337 ...
 - IOS开发UI基础UITextView相关属性
		
UITextView相关属性 • text: 设置textView中文本_textView.text = @"Now is the time for all good develope ...
 - IOS开发UI基础UITextFidle相关属性
		
UITextFidle相关属性 • enablesReturnKeyAutomatically默认为No,如果设置为Yes,文本框中没有输入任何字符的话,右下角的返回按钮是disabled的. ...
 - UILabel的相关属性设置
		
在iOS编程中UILabel是一个常用的控件,下面分享一下UILabel的相关属性设置的方法. 很多学习iOS6编程都是从storyboard开始,用到UILabel时是将控件拖到storyboard ...
 - 【转】Android总结篇系列:Activity Intent Flags及Task相关属性
		
[转]Android总结篇系列:Activity Intent Flags及Task相关属性 同上文一样,本文主要引用自网上现有博文,并加上一些自己的理解,在此感谢原作者. 原文地址: http:// ...
 
随机推荐
- php反序列化总结与学习
			
基础知识: 1.php类与对象 2.魔术函数 3.序列化方法 类与对象 <?php class test{ public $var = "hello world"; publ ...
 - 发送信息到邮箱的第三方扩展库PHPMailer使用方法
			
一.下载 使用composer下载PHPMailer :composer require phpmailer/phpmailer 二.使用实例 use PHPMailer\PHPMailer\PHPM ...
 - idea中右击的快捷键都找不到 Diagrams
			
今天突然发现了一件很恐怖的事情,那就是我的IDEA的右击中找不到Diagrams了,因为我是用这个东西打开 .bpmn文件生成png的,突然没了.. 说一下解决吧 在FIle -> settin ...
 - Ajax跨域解决方案大全
			
题纲 关于跨域,有N种类型,本文只专注于ajax请求跨域(,ajax跨域只是属于浏览器"同源策略"中的一部分,其它的还有Cookie跨域iframe跨域,LocalStorage跨 ...
 - java 求水仙花数
			
package com.yc.bean; public class ShuiXianHua { public static void main(String[] args) { /** * 题目:打印 ...
 - An Introduction to Differential Privacy
			
原文链接:An Introduction to Differential Privacy 差分隐私算法可以允许分析人员执行良性的聚合分析,同时保证个人隐私得到切实的保护.. 背景数据分析中的隐私保护技 ...
 - unittest单元测试执行用例的顺序
			
打印结果如下:
 - [HDU2577]How to Type(DP)
			
题目链接 题意 给一个大小写字符串,求最少敲击字符串次数,最开始和最后要求shift都是down的.如日常,大小写转换可以ctrl+z或者shift保持 up/down. 题解 两个dp数组,一个表示 ...
 - spring boot 源码之SpringApplicationRunListeners
			
SpringApplicationRunListeners SpringApplicationRunListener的集合,内部存储了SpringApplicationRunListener的集合,提 ...
 - Vue环境搭建、创建与启动、案例
			
vue环境搭建 """ 1) 安装node 官网下载安装包,傻瓜式安装:https://nodejs.org/zh-cn/ 2) 安装cnpm npm install - ...