Use of Linux ls Command

  • 2021-08-21 22:05:49
  • OfStack

1. Introduction

The ls command is used to display the contents of the directory, which is a highly used command in Linux. The output information of the ls command can be highlighted in color to partition different types of files.

2. Command format


ls [OPTION]... [FILE]...

3. Description of options


-a,--all:显示所有档案及目录(ls内定将档案名或目录名称以“.”开头的文件视为影藏文件,默认不会列出); 
-A,--almost-all:显示除影藏文件“.”和“..”以外的所有文件列表; 
--author:与-l选项结合使用,打印出每1个文件的作者;
-b, --escape:将文件中的不可输出的字符以反斜线“\”加字符编码的方式输出;
--block-size=SIZE:使用指定的SIZE作为统计文件大小的单位。SIZE可以取如下字符串,或对应的数值: KB 1000, K 1024, MB 1000*1000, M 1024*1024,以及G, T, P, E, Z, Y等;
-B, --ignore-backups:不要列出以~结尾的隐含条目,默认列出;
-c:与“-l”选项连用时,展示ctime;与“-lt”选项连用时,输出按照文件状态改变时间排序,排序的依据是文件的索引节点中的ctime字段;
-C:多列显示输出结果。这是默认选项; 
--color[=WHEN]:使用不同的颜色高亮显示不同类型文件,WHEN的默认取值为'always',也可以是'never'或'auto';
-d, --directory:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录或文件; 
-D, --dired:以Emacs的dired模式输出;
-f:此参数的效果和同时指定“aU”参数相同,并关闭“-ls --color”参数效果; 
-F, --classify:在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符; 
--file-type:与“-F”选项的功能相同,但是不显示“*”; 
--format=WORD:WORD可取值为across,等价于-x选项。取值为commas,等价于-m。取值为horizontal,等价于-x。取值为long,等价于-l。取值为single-column,等价于-1。取值为verbose,等价于-l。取值为vertical,等价于-C;
--full-time:列出完整的日期与时间;
-g:类似于-l,但不列出所属者;
--group-directories-first:目录排在文件之前列出;
-G, --no-group:在长格式(-l)输出时,不输出组名;
-h, --human-readable:以可读方式显示文件大小;
--si:以1000代替1024计算文件大小;
-H, --dereference-command-line:使用命令列中的符号链接指示的真正目的地;
--dereference-command-line-symlink-to-dir:遵循命令行中列出的符号链接;
--hide=PATTERN:不列出符合PATTERN模型的隐藏文件;
--indicator-style=WORD:追加指示符WORD到每1个文件或目录名称后,none默认 slash (-p), file-type (--file-type), classify (-F);
-i, --inode:显示文件索引节点号(inode)。1个索引节点代表1个文件; 
-I, --ignore=PATTERN:不列出匹配PATTERN的文件或目录名;
-k:以KB(千字节)为单位显示文件大小,类似于--block-size=1K;
-1:数字1,与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;
-l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等; 
-L,--dereference:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录; 
-m:用“,”号区隔每个文件和目录的名称; 
-n:以用户识别码和群组识别码替代其名称; 
-N,--literal: 直接列出文件和目录名称,包括控制字符;
-o: 此参数的效果类似于"-l",但不列出用户组信息;
-p, --indicator-style=slash:追加斜杠/指示符到目录名后;
-q, --hide-control-chars:用"?"号取代控制字符,列出文件和目录名称;
--show-control-chars:显示文件和目录名称中的控制字符;
-Q, --quote-name:把文件和目录名称以双引号“”标示起来;
--quoting-style=WORD:使用指定的引号模式来标识档案名称,WORD的取值有:literal, locale, shell, shell-always, c, escape;
-r, --reverse:以文件名反序排列并输出目录内容;
-R, --recursive:递归处理,将指定目录下的所有文件及子目录1并处理; 
-s,--size:显示文件和目录的大小,以区块为单位; 
-S:以文件大小进行排序;
--sort=WORD:以指定的内容进行排序,而非默认的档案名称,WORD可取值:none(不排序,等于-U);extension(以条目名的最后1个扩展名排序,等于-X);size(以用条目大小排序,等于-S);time(以条目内容最后被修改时间排序,等于-t);version(以条目版本进行排序,等于-v);
--time=WORD:当使用-t或--sort=time来按照时间排序时,WORD可取值为atime、access、use(表示使用访问时间排序);或者ctime、status(状态改变时间排序),来取代默认以内容修改时间排序;
--time-style=STYLE:使用-l选项时,显示时间使用指定的样式风格STYLE,可取值为full-iso,long-iso,iso,locale,还有+FORMAT,FORMAT,这两项设置格式可以参考date命令的设置方法;
-t:用文件和目录的内容修改时间排序; 
-T, --tabsize=COLS:设置每1列之间的Tab间隔符代表的宽度为COLS,默认为8个空格;
-u:与-lt同用,表示使用访问时间排序,与-l同用,显示访问时间而非内容修改时间;
-U:列出文件和目录名称时不予排序;
-v:文件和目录的名称列表以版本进行排序;
-w,--width=COLS:设置每列的最大字符数为COLS;
-x:以从左到右,由上至下的横列方式显示文件和目录名称;
-X:以文件和目录的最后1个扩展名排序;
--help:显示帮助信息;
--version:显示版本信息;

4. Common examples

(1) ls commands are sorted in descending order by modification date


ls -t

If you want to increment according to the modification date, use ls -rt Just do it.

(2) The ls command is sorted in descending order by file size.


# Decreasing sort 
ls -hS

# Incremental sort 
ls -hrS

(3) Display hidden files, including the current directory and parent directory.


[dablelv@TENCENT64 ~]$ ll -a
total 148
drwxr-x--- 8 dablelv dablelv 4096 Nov 23 23:56 .
drwxr-xr-x 22 root  root   4096 Jun 7 15:15 ..
-rw------- 1 dablelv dablelv 71812 Nov 24 00:38 .bash_history
-rw-r--r-- 1 dablelv dablelv 2153 May 2 2017 .bash_profile
-rw------- 1 dablelv dablelv  595 Nov 24 16:57 .lesshst
drwx------ 2 dablelv dablelv 4096 Jul 23 20:42 .ssh

ll is actually ls -l Use the alias command to view related commands.


[dablelv@TENCENT64 ~]$ alias
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

(4) Presented in the specified file size type.


[dablelv@TENCENT64 ~]$ ll --block-size=K
total 24K
drwxrwxr-x 10 dablelv dablelv 4K Nov 21 15:08 code_root
-rwxrwxr-x 1 dablelv dablelv 1K Nov 21 00:18 dable.php
-rw-rw-r-- 1 dablelv dablelv 1K Nov 21 00:18 dablelala.php
-rw-rw-r-- 1 dablelv dablelv 0K Nov 23 23:56 dablelv~
-rw-rw-r-- 1 dablelv dablelv 1K Nov 21 00:40 dablenewnew
drwxrwxrwx 2 dablelv dablelv 4K Nov 21 00:29 new
drwxrwxr-x 6 dablelv dablelv 4K Nov 21 00:24 test

The above is the Linux ls command of the use of the details, more information about Linux ls command please pay attention to other related articles on this site!


Related articles: