Pages

Tuesday, 30 July 2024

Linux下, ls命令详解和ls命令参数分析

 在linux系统当中,ls(list)是最经常使用的命令之一。它用来显示文件或目录的相关属性。


ls命令用法详解


[root@lmode ~]# ls [-aAdfFhilnrRSt] 目录名称/文件名

 

[root@lmode ~]# ls [--color={never,auto,always}] 目录名称/文件名

 

[root@lmode ~]# ls [--full-time] 目录名称/文件名

当我们只下达ls而不带任何参数时,默认显示当前目录下非隐藏的文件或目录、并按文件名进行排序与及默认显示文件或目录的颜色。我们可以运用一些选项来显示更多的内容。


ls命令参数分析


ls命令选项与参数:

 

-a  :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)

 

-A  :全部的文件,连同隐藏档,但不包括 . 与 .. 这两个目录

 

-d  :仅列出目录本身,而不是列出目录内的文件数据(常用)

 

-f  :直接列出结果,而不进行排序 (ls 默认会以档名排序!)

 

-F  :根据文件、目录等资讯,给予附加数据结构,例如:

 

      *:代表可运行档; /:代表目录; =:代表 socket 文件; |:代表 FIFO 文件;

 

-h  :将文件容量以人类较易读的方式(例如 GB, KB 等等)列出来;

 

-i  :列出 inode 号码,inode 的意义下一章将会介绍;

 

-l  :长数据串列出,包含文件的属性与权限等等数据;(常用)

 

-n  :列出 UID 与 GID 而非使用者与群组的名称 (UID与GID会在帐号管理提到!)

 

-r  :将排序结果反向输出,例如:原本档名由小到大,反向则为由大到小;

 

-R  :连同子目录内容一起列出来,等於该目录下的所有文件都会显示出来;

 

-S  :以文件容量大小排序,而不是用档名排序;

 

-t  :依时间排序,而不是用档名。

 

--color=never  :不要依据文件特性给予颜色显示;

 

--color=always :显示颜色

 

--color=auto   :让系统自行依据配置来判断是否给予颜色

 

--full-time    :以完整时间模式 (包含年、月、日、时、分) 输出

 

--time={atime,ctime} :输出 access 时间或改变权限属性时间 (ctime) 而非内容变更时间 (modification time)

常用命令ls -l


这个-l选项应该是上面所有选项下被用得最频繁的,它默认显示了文件的属性,权限,时间等。在很多linux的发行版中,已经将ll配置成为ls -l的意思。所以你可以用ll(两个L的缩写)来简化ls -l操作,换句话说ls -l的等价命令就是ll,这两个命令效果是一样的。其实这个功能用到了bash shell的alias,也就是命令重命名,感兴趣的可以去了解下。


ls命令操作实例


实例1:将/root目录下所有文件显示出来

 

[root@lmode ~]# ls -al

 

total 108

 

dr-xr-x---.  3 root root  4096 Oct 11 23:04 .

 

dr-xr-xr-x. 23 root root  4096 Oct 14 11:45 ..

 

-rwxr-xr-x   1 root root  3085 Jul 30  2013 auto_fdisk.sh

 

-rw-------   1 root root  9296 Oct 14 12:17 .bash_history

 

-rw-r--r--.  1 root root    18 May 20  2009 .bash_logout

 

-rw-r--r--.  1 root root   176 May 20  2009 .bash_profile

 

-rw-r--r--.  1 root root   176 Sep 23  2004 .bashrc

 

-rw-r--r--.  1 root root   100 Sep 23  2004 .cshrc

 

-rw-------   1 root root    47 Sep 17 22:56 .lesshst

 

-rw-r--r--.  1 root root   129 Dec  4  2004 .tcshrc

 

-rw-------   1 root root   894 Mar  7  2015 .viminfo

注意:这里要显示所有文件 所以要记得带参数-a。在linux下,文件名的第一个字符是'.'的默认为隐藏文件。像上面.(代表当前目录) , ..(代表上一级目录) ,.bash_history等都是隐藏文档。


实例2:完整的显示/root目录下文件的修改时间

 

[root@lmode ~]# ls --full-time /root


total 44


-rwxr-xr-x  1 root root  3085 2013-07-30 10:54:41.000000000 +0800 auto_fdisk.sh

注意:显示文件的修改时间要用–full-time选项,而文件权限的修改时间要用–time=ctime选项,要注意区别。从上面可以看出,当使用ls命令不带-a选项时,隐藏文件便不会被显示出来,这也就是上面只显示一项的原因。

No comments:

Post a Comment