ls命令用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。
ls(选项)(参数)
-a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为隐藏,不会列出);
-A:显示除隐藏文件“.”和“..”以外的所有文件列表;
-C:多列显示输出结果。这是默认选项;
-l:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;
-F:在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符;
-b:将文件中的不可输出的字符以反斜线“”加字符编码的方式输出;
-c:与“-lt”选项连用时,按照文件状态时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。与“-l”选项连用时,则排序的一句是文件的状态改变时间;
-d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;
-f:此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果;
-i:显示文件索引节点号(inode)。一个索引节点代表一个文件;
--file-type:与“-F”选项的功能相同,但是不显示“*”;
-k:以KB(千字节)为单位显示文件大小;
-l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
-m:用“,”号区隔每个文件和目录的名称;
-n:以用户识别码和群组识别码替代其名称;
-r:以文件名反序排列并输出目录内容列表;
-s:显示文件和目录的大小,以区块为单位;
-t:用文件和目录的更改时间排序;
-L:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录;
-R:递归处理,将指定目录下的所有文件及子目录一并处理;
--full-time:列出完整的日期与时间;
--color[=WHEN]:使用不同的颜色高亮显示不同类型的。
目录:指定要显示列表的目录,也可以是具体的文件。
显示当前目录下非隐藏文件与目录
[root@localhost ~]# ls
anaconda-ks.cfg install.log install.log.syslog satools
显示当前目录下包括隐藏文件在内的所有文件列表
[root@localhost ~]# ls -a
. anaconda-ks.cfg .bash_logout .bashrc install.log .mysql_history satools .tcshrc .vimrc
.. .bash_history .bash_profile .cshrc install.log.syslog .rnd .ssh .viminfo
输出长格式列表
[root@localhost ~]# ls -1anaconda-ks.cfg
install.log
install.log.syslog
satools
显示文件的inode信息
索引节点(index inode简称为“inode”)是Linux中一个特殊的概念,具有相同的索引节点号的两个文本本质上是同一个文件(除文件名不同外)。
[root@localhost ~]# ls -i -l anaconda-ks.cfg install.log
2345481 -rw------- 1 root root 859 Jun 11 22:49 anaconda-ks.cfg
2345474 -rw-r--r-- 1 root root 13837 Jun 11 22:49 install.log
水平输出文件列表
[root@localhost /]# ls -mbin, boot, data, dev, etc, home, lib, lost+found, media, misc, mnt, opt, proc, root, sbin, selinux, srv, sys, tmp, usr, var
修改最后一次编辑的文件
最近修改的文件显示在最上面。
[root@localhost /]# ls -ttmp root etc dev lib boot sys proc data home bin sbin usr var lost+found media mnt opt selinux srv misc
显示递归文件
[root@localhost ~]# ls -R
.:
anaconda-ks.cfg install.log install.log.syslog satools./satools:
black.txt freemem.sh iptables.sh lnmp.sh mysql php502_check.sh ssh_safe.sh
打印文件的UID和GID
[root@localhost /]# ls -ntotal 254
drwxr-xr-x 2 0 0 4096 Jun 12 04:03 bin
drwxr-xr-x 4 0 0 1024 Jun 15 14:45 boot
drwxr-xr-x 6 0 0 4096 Jun 12 10:26 data
drwxr-xr-x 10 0 0 3520 Sep 26 15:38 dev
drwxr-xr-x 75 0 0 4096 Oct 16 04:02 etc
drwxr-xr-x 4 0 0 4096 Jun 12 10:26 home
drwxr-xr-x 14 0 0 12288 Jun 16 04:02 lib
drwx------ 2 0 0 16384 Jun 11 22:46 lost+found
drwxr-xr-x 2 0 0 4096 May 11 2011 media
drwxr-xr-x 2 0 0 4096 Nov 8 2010 misc
drwxr-xr-x 2 0 0 4096 May 11 2011 mnt
drwxr-xr-x 2 0 0 4096 May 11 2011 opt
dr-xr-xr-x 232 0 0 0 Jun 15 11:04 proc
drwxr-x--- 4 0 0 4096 Oct 15 14:43 root
drwxr-xr-x 2 0 0 12288 Jun 12 04:03 sbin
drwxr-xr-x 2 0 0 4096 May 11 2011 selinux
drwxr-xr-x 2 0 0 4096 May 11 2011 srv
drwxr-xr-x 11 0 0 0 Jun 15 11:04 sys
drwxrwxrwt 3 0 0 98304 Oct 16 08:45 tmp
drwxr-xr-x 13 0 0 4096 Jun 11 23:38 usr
drwxr-xr-x 19 0 0 4096 Jun 11 23:38 var
列出文件和文件夹的详细信息
[root@localhost /]# ls -ltotal 254
drwxr-xr-x 2 root root 4096 Jun 12 04:03 bin
drwxr-xr-x 4 root root 1024 Jun 15 14:45 boot
drwxr-xr-x 6 root root 4096 Jun 12 10:26 data
drwxr-xr-x 10 root root 3520 Sep 26 15:38 dev
drwxr-xr-x 75 root root 4096 Oct 16 04:02 etc
drwxr-xr-x 4 root root 4096 Jun 12 10:26 home
drwxr-xr-x 14 root root 12288 Jun 16 04:02 lib
drwx------ 2 root root 16384 Jun 11 22:46 lost+found
drwxr-xr-x 2 root root 4096 May 11 2011 media
drwxr-xr-x 2 root root 4096 Nov 8 2010 misc
drwxr-xr-x 2 root root 4096 May 11 2011 mnt
drwxr-xr-x 2 root root 4096 May 11 2011 opt
dr-xr-xr-x 232 root root 0 Jun 15 11:04 proc
drwxr-x--- 4 root root 4096 Oct 15 14:43 root
drwxr-xr-x 2 root root 12288 Jun 12 04:03 sbin
drwxr-xr-x 2 root root 4096 May 11 2011 selinux
drwxr-xr-x 2 root root 4096 May 11 2011 srv
drwxr-xr-x 11 root root 0 Jun 15 11:04 sys
drwxrwxrwt 3 root root 98304 Oct 16 08:48 tmp
drwxr-xr-x 13 root root 4096 Jun 11 23:38 usr
drwxr-xr-x 19 root root 4096 Jun 11 23:38 var
列出可读文件和文件夹详细信息
[root@localhost /]# ls -lhtotal 254K
drwxr-xr-x 2 root root 4.0K Jun 12 04:03 bin
drwxr-xr-x 4 root root 1.0K Jun 15 14:45 boot
drwxr-xr-x 6 root root 4.0K Jun 12 10:26 data
drwxr-xr-x 10 root root 3.5K Sep 26 15:38 dev
drwxr-xr-x 75 root root 4.0K Oct 16 04:02 etc
drwxr-xr-x 4 root root 4.0K Jun 12 10:26 home
drwxr-xr-x 14 root root 12K Jun 16 04:02 lib
drwx------ 2 root root 16K Jun 11 22:46 lost+found
drwxr-xr-x 2 root root 4.0K May 11 2011 media
drwxr-xr-x 2 root root 4.0K Nov 8 2010 misc
drwxr-xr-x 2 root root 4.0K May 11 2011 mnt
drwxr-xr-x 2 root root 4.0K May 11 2011 opt
dr-xr-xr-x 235 root root 0 Jun 15 11:04 proc
drwxr-x--- 4 root root 4.0K Oct 15 14:43 root
drwxr-xr-x 2 root root 12K Jun 12 04:03 sbin
drwxr-xr-x 2 root root 4.0K May 11 2011 selinux
drwxr-xr-x 2 root root 4.0K May 11 2011 srv
drwxr-xr-x 11 root root 0 Jun 15 11:04 sys
drwxrwxrwt 3 root root 96K Oct 16 08:49 tmp
drwxr-xr-x 13 root root 4.0K Jun 11 23:38 usr
drwxr-xr-x 19 root root 4.0K Jun 11 23:38 var
显示文件夹信息
[root@localhost /]# ls -ld /etc/drwxr-xr-x 75 root root 4096 Oct 16 04:02 /etc/
按时间列出文件和文件夹详细信息
[root@localhost /]# ls -lttotal 254
drwxrwxrwt 3 root root 98304 Oct 16 08:53 tmp
drwxr-xr-x 75 root root 4096 Oct 16 04:02 etc
drwxr-x--- 4 root root 4096 Oct 15 14:43 root
drwxr-xr-x 10 root root 3520 Sep 26 15:38 dev
drwxr-xr-x 14 root root 12288 Jun 16 04:02 lib
drwxr-xr-x 4 root root 1024 Jun 15 14:45 boot
drwxr-xr-x 11 root root 0 Jun 15 11:04 sys
dr-xr-xr-x 232 root root 0 Jun 15 11:04 proc
drwxr-xr-x 6 root root 4096 Jun 12 10:26 data
drwxr-xr-x 4 root root 4096 Jun 12 10:26 home
drwxr-xr-x 2 root root 4096 Jun 12 04:03 bin
drwxr-xr-x 2 root root 12288 Jun 12 04:03 sbin
drwxr-xr-x 13 root root 4096 Jun 11 23:38 usr
drwxr-xr-x 19 root root 4096 Jun 11 23:38 var
drwx------ 2 root root 16384 Jun 11 22:46 lost+found
drwxr-xr-x 2 root root 4096 May 11 2011 media
drwxr-xr-x 2 root root 4096 May 11 2011 mnt
drwxr-xr-x 2 root root 4096 May 11 2011 opt
drwxr-xr-x 2 root root 4096 May 11 2011 selinux
drwxr-xr-x 2 root root 4096 May 11 2011 srv
drwxr-xr-x 2 root root 4096 Nov 8 2010 misc
按修改时间列出文件和文件夹详细信息
[root@localhost /]# ls -ltrtotal 254
drwxr-xr-x 2 root root 4096 Nov 8 2010 misc
drwxr-xr-x 2 root root 4096 May 11 2011 srv
drwxr-xr-x 2 root root 4096 May 11 2011 selinux
drwxr-xr-x 2 root root 4096 May 11 2011 opt
drwxr-xr-x 2 root root 4096 May 11 2011 mnt
drwxr-xr-x 2 root root 4096 May 11 2011 media
drwx------ 2 root root 16384 Jun 11 22:46 lost+found
drwxr-xr-x 19 root root 4096 Jun 11 23:38 var
drwxr-xr-x 13 root root 4096 Jun 11 23:38 usr
drwxr-xr-x 2 root root 12288 Jun 12 04:03 sbin
drwxr-xr-x 2 root root 4096 Jun 12 04:03 bin
drwxr-xr-x 4 root root 4096 Jun 12 10:26 home
drwxr-xr-x 6 root root 4096 Jun 12 10:26 data
dr-xr-xr-x 232 root root 0 Jun 15 11:04 proc
drwxr-xr-x 11 root root 0 Jun 15 11:04 sys
drwxr-xr-x 4 root root 1024 Jun 15 14:45 boot
drwxr-xr-x 14 root root 12288 Jun 16 04:02 lib
drwxr-xr-x 10 root root 3520 Sep 26 15:38 dev
drwxr-x--- 4 root root 4096 Oct 15 14:43 root
drwxr-xr-x 75 root root 4096 Oct 16 04:02 etc
drwxrwxrwt 3 root root 98304 Oct 16 08:54 tmp
按照特殊字符对文件进行分类
[root@localhost nginx-1.2.1]# ls -Fauto/ CHANGES CHANGES.ru conf/ configure* contrib/ html/ LICENSE Makefile man/ objs/ README src/
列出文件并标记颜色分类
[root@localhost nginx-1.2.1]# ls --color=autoauto CHANGES CHANGES.ru conf configure contrib html LICENSE Makefile man objs README src
说明:
第一个行: total后面的数字是指当前目录下所有文件所占用的空间总和,怎么计算的呢?请看下面解释:
文件系统(filesytem)在格式化时就规范好了块(block)的大小 通过下面几种方法可以查看:
1.用tune2fs查看block size大小:
yexiang&#64;ubuntu:<~>$ sudo tune2fs -l /dev/sda1 |grep "Block size"
Block size: 4096
2.用stat查看block size大小&#xff1a;
yexiang&#64;ubuntu:
Size: 4096 Blocks: 8 IO Block: 4096 directory
3.用dumpe2fs查看block size大小&#xff1a;
yexiang&#64;ubuntu:<~>$ sudo dumpe2fs /dev/sda1 |grep "Block size"
dumpe2fs 1.42.13 (17-May-2015)
Block size: 4096
第1字段: 文件属性字段
文件属性字段总共有10个字母组成,第一个字符表示文件类型
字母“-”表示该文件是一个普通文件
字母“d”表示该文件是一个目录
字母“l”表示该文件是一个链接文件
字母“b" 表示该文件是块设备文件(block)&#xff0c;一般置于/dev目录下&#xff0c;设备文件是普通文件和程序访问硬件设备的入口&#xff0c;一类特殊文件。
字母“c”表示该文件是一个字符设备文件(character)
字母“p”表示该文件为命令管道文件。与shell编程有关的文件。
字母“s”表示该文件为sock文件。与shell编程有关的文件。
第1字符的后面9个字母表示该文件或目录的权限位。其中前三个表示文件拥有者的权限&#xff0c;中间三个表示文件所属组拥有的权限&#xff0c;最后三个表示其他用户拥有的权限
r表是读 (Read) 、w表示写 (Write) 、x表示执行 (eXecute)
第2字段&#xff1a;文件硬链接数
如果一个文件不是目录&#xff0c;此时这一字段表示这个文件所具有的硬链接数
第3字段&#xff1a;文件&#xff08;目录&#xff09;拥有者
第4字段&#xff1a;文件&#xff08;目录&#xff09;拥有者所在的组
第5字段: 文件所占用的空间(以字节为单位)
第6字段&#xff1a;文件&#xff08;目录&#xff09;最近访问&#xff08;修改&#xff09;时间
第7字段&#xff1a;文件名
参数 | 长参数 | 描叙 |
-a | -all | 显示指定目录&#xff08;缺省为当前目录&#xff09;下所有文件&#xff0c;包括隐藏文件与目录 |
-A | --almost-all | 不显示隐藏的文件。&#xff08;显示除"."和".."外的所有文件&#xff09; |
| --author | --author 需要与参数-l结合使用。显示文件的author |
-b | --escape | print octal escapes for nongraphic characters&#xff08;非显示字符进行转义打印&#xff09;&#xff1b; 把文件名中不可输出的字符用反斜杠加字符编号的形式输出 |
| --block-size | 查看文件的block大小。 K &#61; Kilobyte M M &#61; Megabyte G G &#61; Gigabyte T T &#61; Terabyte P P &#61; Petabyte E E &#61; Exabyte Z Z &#61; Zettabyte Y Y &#61; Yottabyte |
-B | --ignore-backups | do not list implied entries ending with ~ 不显示以~结尾的文件。 |
-c |
| 配合 -lt&#xff1a;根据 ctime排序及显示。 ctime (文件状态最后更改的时间) |
-C |
| 按列输出&#xff0c;纵向排序 |
| --color | 控制是否使用色彩分辨文件。WHEN 可以是&#39;never&#39;、&#39;always&#39;或&#39;auto&#39;其中之一 |
-d | --directory | 显示目录信息&#xff0c;而不是目录下的文件信息 |
-D | --dired | 输出适合 Emacs 的 dired 模式使用的结果 |
-f |
| 对输出的文件不进行排序&#xff0c; -lst等选项会失效。 |
-F | --classify | 附加文件类别&#xff0c;符号在文件名最后。/表明是一个目录&#xff1b;&#64;表明是到其它文件的符号链接&#xff1b;* 表明是一个可执行文件。 |
| --file-type |
|
| --format |
|
| --full-time |
|
-g |
| 类似参数-l&#xff0c;但是不列出所有者 |
-G |
| 不列出任何有关组的信息 |
-h |
| 人性化显示容量信息。表示”–human-readable”&#xff0c;单位是k或者M &#xff0c;比较容易看清楚结果 |
--si |
| 类似参数h&#xff0c;但是文件大小去1000&#xff0c;而不是1024 |
-H |
| 列出符号链接指示的真正的目的地 |
| --dereference-command-line-symlink-to-dir |
|
| --hide |
|
| --indicator-style |
|
-i |
| 列出文件或目录的索引节点号 |
-I |
| do not list implied entries matching shell PATTERN |
-k |
| 以k 字节的形式表示文件的大小 |
-l |
| 使用长格式显示。显示详细信息&#xff0c;例如是文件还是目录&#xff0c;它的大小、修改日期和时间、文件或目录的名字以及文件的属主和它的权限 |
-L |
| 当显示符号链接的文件信息时&#xff0c;显示符号链接所指示的对象而并非符号链接本身的信息 |
-m |
| 所有项目以逗号分隔&#xff0c;并填满整行行宽 |
-n |
| 以数字显示文件和目录的UID和GID |
-N |
| 此选项将不限制文件长度 |
-o |
| 显示文件出组信息以外的详细信息。 |
-p |
| 该ls命令选项可以在每个文件名后附上一个字符以说明该文件的类型&#xff0c;“*”表示可执行的普通文件&#xff1b;“/”表示目录&#xff1b;“&#64;”表示符号链接&#xff1b;“|”表示FIFOs&#xff1b;“&#61;”表示套接字(sockets)。 |
-q |
| 该选项可以用?代替不可输出的字符 |
| --indicator-style |
|
-Q |
| 该选项可以把输出的文件名用双引号括起来 |
| --quoting-style&#61;WORD |
|
-r |
| 倒序方式显示文件和目录 |
-R |
| 递归显示子目录 |
-s |
| 以块大小为单位列出所有文件的大小 |
-S |
| 以文件大小排序 |
| --sort&#61;WORD | extension -X status -c none -U time -t size -S atime -u time -t access -u version -v use -u |
| --time&#61;WORD |
|
| --time-style&#61;STYLE |
|
-t |
| 以文件修改时间排序&#xff0c;默认按文件名排序。 |
-T |
| assume tab stops at each COLS instead of 8 |
-u |
| 显示文件或目录最后被访问的时间。 |
-U |
| 不进行排序;依文件系统原有的次序列出项目 |
-v |
| 根据版本进行排序 |
-w |
| 自行指定屏幕宽度而不使用目前的数值 |
-x |
| 逐行列出项目而不是逐栏列出 |
-X |
| 根据扩展名排序 |
-1 |
| 每行只列一个文件 |
| --help | 显示此帮助信息 |
| -version | 显示版本信息 |
|
|
|