命令解释
在Linux系统中,这个命令有可能是大家最熟悉,最经常用到的并且执行的,因为我们随时都要知道文件或者是目录的相关信息。不过,Linux记录的文件信息实在太多了,ls
并没有全部列出来,所以当你执行ls时,默认显示的只有非隐藏文件的文件名、以及文件名进行排序及文件名代表的颜色显示。
命令说明
[root@localhost ~]# ls [-aAdfFhilnrRSt] 目录名称
[root@localhost ~]# ls [--color={never,auto,always}] 目录名称
[root@localhost ~]# ls [--full-time] 目录名称
参数:
-a : 全部的文件,连同隐藏文件(开头为 . 的文件)一起列出来[【常用】]
-A : 列出全部的文件(连同隐藏文件,但不包括 . 与 .. 这两个目录)
-d : 仅列出目录本身,而不是列出目录内的文件数据[【常用】]
-f : 直接列出结果,而不进行排序(ls会默认以文件名排序)
-F : 根据文件、目录给予附加数据结构,例如:
*:代表可执行文件;/:代表目录,=:代表socker文件;|:代表FIFO文件
-h : 将文件容量以人类较易读的方式(如GB,KB等)列出来[【常用】]
-i : 列出inode号码
-l : 列出长数据串,包含文件的属性与权限等数据[【常用】]
-n : 列出UID与GID,而非用户与用户组的名称
-r : 将排序结果反向输出,例如:原本原文件由小到大,反向则为由大到小
-R : 连同子目录的内容一起列出来。
-S : 以文件容量大小排序,而不是用文件名排序。
-t : 依时间排序,而不是文件名
--color=never : 不要依据文件特性给予颜色显示
--color=auto : 让系统自行依据设置来判断是否给予颜色
--color=always : 显示显色
--full-time : 显示文件的完整时间
--time={atime,ctime} : 输出访问时间或改变权限属性时间(ctime)
而非内容更改时间
命令举例
1.将文件夹下的所有文件全都列出来(含属性与隐藏文件)
[root@localhost ~]# ls -al
drwxr-x--- 6 root root 4096 07-17 23:18 .
drwxr-xr-x 24 root root 4096 07-17 23:26 ..
-rw------- 1 root root 1348 07-12 16:34 anaconda-ks.cfg
-rw------- 1 root root 2441 07-17 23:25 .bash_history
-rw-r--r-- 1 root root 24 2007-01-06 .bash_logout
-rw-r--r-- 1 root root 191 2007-01-06 .bash_profile
-rw-r--r-- 1 root root 176 2007-01-06 .bashrc
-rw-r--r-- 1 root root 100 2007-01-06 .cshrc
drwx------ 3 root root 4096 07-13 17:17 .gconf
drwx------ 2 root root 4096 07-13 17:17 .gconfd
drwx------ 3 root root 4096 07-13 17:17 .gnome2
drwx------ 2 root root 4096 07-13 17:17 .gnome2_private
-rw-r--r-- 1 root root 33532 07-12 16:34 install.log
-rw-r--r-- 1 root root 5462 07-12 10:13 install.log.syslog
-rw-r--r-- 1 root root 209 07-12 19:25 scsrun.log
-rw-r--r-- 1 root root 129 2007-01-06 .tcshrc
-rw------- 1 root root 1422 07-14 13:37 .viminfo
-rw------- 1 root root 0 07-13 15:22 .Xauthority
# 以 . 开头的文件都是隐藏文件
2.不显示颜色,但在文件名显示文件代表的类型
[root@localhost ~]# ls -alF /bin
drwxr-xr-x 2 root root 4096 07-17 23:18 ./
drwxr-xr-x 24 root root 4096 07-17 23:26 ../
-rwxr-xr-x 1 root root 6376 2013-01-09 alsacard*
-rwxr-xr-x 1 root root 18784 2013-01-09 alsaunmute*
-rwxr-xr-x 1 root root 5088 2012-11-08 arch*
lrwxrwxrwx 1 root root 4 07-12 09:51 awk -> gawk*
-rwxr-xr-x 1 root root 18644 2012-03-21 basename*
-rwxr-xr-x 1 root root 735932 2013-07-10 bash*
.........以下省略............
# 我这里用/bin目录举例,大家应该都知道该目录下几乎全都是可执行命令
3.完整呈现文件的修改时间
[root@localhost ~]# ls -al --full-time
总计 176
drwxr-x--- 6 root root 4096 2016-07-17 23:18:41.000000000 +0800 .
drwxr-xr-x 24 root root 4096 2016-07-17 23:26:39.000000000 +0800 ..
-rw------- 1 root root 1348 2016-07-12 16:34:05.000000000 +0800 anaconda-ks.cfg
-rw------- 1 root root 2441 2016-07-17 23:25:05.000000000 +0800 .bash_history
-rw-r--r-- 1 root root 24 2007-01-06 17:05:04.000000000 +0800 .bash_logout
-rw-r--r-- 1 root root 191 2007-01-06 17:05:04.000000000 +0800 .bash_profile
-rw-r--r-- 1 root root 176 2007-01-06 17:05:04.000000000 +0800 .bashrc
-rw-r--r-- 1 root root 100 2007-01-06 17:05:04.000000000 +0800 .cshrc
.........以下省略............
ls
最常用到的还是-l
那个参数。为此,在默认情况中,已经将ll
设置成ls -l
的意思了。也就是说我们直接输入ll
等于是输入ls -l
是一样的。