参考资料: [1]每天学点Linux(八)软连接和硬链接 [2]Linux ls 命令的 20 个实用范例
今天学习的指令是我们最最最常见的一种指令ls,说明部分参考的是man手册。Ubuntu会对一些实用的ls选项重新取一个别名方便用户使用:
alias l='ls -CF' # 按列列出并且给文件加上类型记号,/ 目录@ 链接 * 可执行文件
alias la='ls -A' #-A, 不要列出当前目录(.)和父目录(..)
alias ll='ls -alF' # -a 长清单形式列出包含. ..在内的所有文件,并给予文件类型符号(/ @ * )
简述
ls (LiSt directory contents)列举目录内容。
格式ls [option]...[file]...
man手册给出的格式通常都是上面这个形式,Linux下一切皆文件,所以目录也是一个文件。[1]
解释及默认行为这个指令是列举文件信息。这里会有两个默认:
- 默认是当前目录
- 默认是字母顺序,如果没有使用–sort选项或-cftuvSUX
选项分为长选项(- -option)和短选项(-option),长选项一般是个单词。
选项含义-a all不要忽略.开头的文件(也就是隐藏文件)-A almost-all除了.和…外的所有文件author和-l配合使用,打印每个文件作者-b escape对不可打印的字符,用C风格转义字符替代打印block-size=SIZE测量目录大小[2]-B ignore-backup不要列举以~结尾的文件-c-lt配合使用,按最近修改时间排序;-l 配合使用修改的文件名排序-C按列列举文件(默认行为)–color显示颜色(默认显示)-d,directory列举文件本身,ps 反正我看到都是.-D,dired产生给Emac使用的文件模式-f不排序,使能-aV,以及关闭color-F,classify…具体参考man手册。很多选项,感觉永远不会用上。
常见示例[2]不带任何参数
ls
结果如下:
wodeMBP:~ wo$ ls
AnacondaProjects
Applications
CLionProjects
Desktop
Documents
Downloads
Library
Movies
Music
Pictures
Public
发现ubuntu是按行显示,mac直接列出了常常的一列!
长清单模式,-l use a long listing format
ls -l
结果如下:
wodeMBP:~ wo$ ls -l
total 8
drwxr-xr-x 2 wo staff 64 Apr 20 10:54 AnacondaProjects
drwx------@ 6 wo staff 192 May 21 21:17 Applications
drwxr-xr-x 3 wo staff 96 Jul 5 18:27 CLionProjects
drwx------+ 11 wo staff 352 Jul 5 23:10 Desktop
drwx------+ 18 wo staff 576 Jul 4 10:43 Documents
drwx------+ 60 wo staff 1920 Jul 6 09:39 Downloads
drwx------@ 78 wo staff 2496 Jun 23 17:11 Library
drwx------+ 7 wo staff 224 May 3 13:59 Movies
drwx------+ 7 wo staff 224 Apr 19 15:29 Music
drwx------+ 8 wo staff 256 Jun 23 14:03 Pictures
drwxr-xr-x+ 4 wo staff 128 Apr 17 18:38 Public
drwxrwxrwx 16 wo staff 512 Apr 18 08:41 Qt
drwxr-xr-x 14 wo staff 448 Apr 20 10:15 anaconda
让大小适宜人阅读文件大小 -h, --human-readable
ls -lh
total xxx
drwxr-xr-x 4 wo staff 128B Apr 18 20:29 Cplusplus
drwx------@ 29 wo staff 928B May 4 14:26 GCC_4_7_0
drwx------@ 28 wo staff 896B May 4 14:33 GCC_pre_C11
drwxr-xr-x 3 wo staff 96B May 1 09:27 MATLAB
drwxr-xr-x 5 wo staff 160B May 30 09:06 Robot
-rw-r--r--@ 1 wo staff 21K Jul 2 11:06 cat_result.png
-rw-r--r--@ 1 wo staff 54K Jul 4 10:40 cp_test.png
-rw-r--r--@ 1 wo staff 58K Jul 4 10:43 cp_test2.png
按文件大小排序 -S sort by file size, largest first
ls -lhS
total xxx
-rw-r--r--@ 1 wo staff 21K Jul 2 11:06 cat_result.png
drwx------@ 29 wo staff 928B May 4 14:26 GCC_4_7_0
drwx------@ 28 wo staff 896B May 4 14:33 GCC_pre_C11
-rw-r--r--@ 1 wo staff 215B Jul 2 11:01 1530500452559.textClipping
drwxr-xr-x 5 wo staff 160B May 30 09:06 Robot
drwxr-xr-x 4 wo staff 128B Apr 18 20:29 Cplusplus
drwxr-xr-x 3 wo staff 96B May 1 09:27 MATLAB
drwxr-xr-x 3 wo staff 96B Jun 23 15:30 link_here
查看隐藏文件
ls -a
只列出目录
ls -d */
打印inode号
ls -li
增加 / (斜线) 标记目录
ls -p
递归列出子目录
ls -r
扩展名顺序排列
ls -lX
ls –sort=extension
修改时间筛选
ls -lt