热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux磁盘管理:ls命令详解

ls命令用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。语法ls(选

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:$ stat /boot/|grep "IO Block"
  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

显示版本信息

 

 

 

 

 


推荐阅读
author-avatar
海纳百川2602902033
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有