## ls命令
[TOC]
>[info] ls命令用来显示目标列表,在Linux中是使用率较高的命令。
ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。
### 语法
`ls (选项) (参数)`
### 选项
>[success] -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:显示文件和目录的大小,以区块为单位;
-S 根据文件大小排序
–sort=WORD 以下是可选用的 WORD 和它们代表的相应选项;
-u 配合
-lt:显示访问时间而且依访问时间排序
配合
-l:显示访问时间但根据名称排序,否则:根据访问时间排序
-U 不进行排序;依文件系统原有的次序列出项目
-v 根据版本进行排序
-w, –width=COLS 自行指定屏幕宽度而不使用目前的数值
-x 逐行列出项目而不是逐栏列出
-X 根据扩展名排序
-t:用文件和目录的更改时间排序;
-L:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录;
-R:递归处理,将指定目录下的所有文件及子目录一并处理;
--full-time:列出完整的日期与时间;
--color[=WHEN]:使用不同的颜色高亮显示不同类型的。
### 参数
目录:指定要显示列表的目录,也可以是具体的文件。
## 实例
### 显示当前目录下非隐藏文件与目录
命令:`ls`
输出:
~~~
[root@localhost ~]# ls
anaconda-ks.cfg Desktop install.log install.log.syslog
~~~
### 显示当前目录下包括影藏文件在内的所有文件列表
~~~
[root@localhost ~]# ls -a
. .chewing .gnome install.log.syslog .tcshrc
.. .cshrc .gnome2 .metacity .thumbnails
anaconda-ks.cfg Desktop .gnome2_private .mozilla .Trash
.bash_history .dmrc .gstreamer-0.10 .mysql_history .viminfo
~~~
### 输出长格式列表
命令:`ls -l`
输出:
~~~
[root@localhost ~]# ls -l
总计 56
-rw------- 1 root root 1150 07-08 20:30 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 07-08 12:35 Desktop
-rw-r--r-- 1 root root 26609 07-08 20:29 install.log
-rw-r--r-- 1 root root 4257 07-08 20:28 install.log.syslog
~~~
### 水平输出文件列表
命令:`ls -m`
输出:
~~~
[root@localhost /]# ls -m
bin, boot, data, dev, etc, home, lib, lost+found, media, misc, mnt, net, opt,
proc, root, sbin, selinux, srv, sys, test, tmp, usr, var
~~~
### 最近修改的文件显示在最上面
命令:`ls -t`
输出:
~~~
[root@localhost /]# ls -t
tmp dev misc sys data bin mnt opt var usr lost+found srv
test net etc proc root lib sbin home boot selinux media
~~~
### 递归显示文件
命令:`ls -R`
输出:
~~~
[root@localhost ~]# ls -R
.:
anaconda-ks.cfg Desktop install.log install.log.syslog
./Desktop:
~~~
### 打印文件列表的UID和GID信息
命令:`ls -n`
输出:
~~~
[root@localhost /]# ls -n
总计 154
drwxr-xr-x 2 0 0 4096 09-10 16:30 bin
drwxr-xr-x 4 0 0 1024 07-08 20:25 boot
drwxr-xr-x 2 0 0 4096 09-12 18:17 data
drwxr-xr-x 10 0 0 3820 09-14 09:10 dev
drwxr-xr-x 99 0 0 12288 09-14 09:10 etc
drwxr-xr-x 4 0 0 4096 08-01 10:46 home
drwxr-xr-x 13 0 0 4096 09-10 16:30 lib
drwx------ 2 0 0 16384 07-08 20:22 lost+found
drwxr-xr-x 2 0 0 4096 2010-01-27 media
...
~~~
### 列出文件的文件和文件夹详细信息
命令:`ls -lh`
输出:
~~~
[root@localhost /]# ls -lh
总计 154K
drwxr-xr-x 2 root root 4.0K 09-10 16:30 bin
drwxr-xr-x 4 root root 1.0K 07-08 20:25 boot
drwxr-xr-x 2 root root 4.0K 09-12 18:17 data
drwxr-xr-x 10 root root 3.8K 09-14 09:10 dev
...
~~~
### 显示文件夹信息
命令: `ls -ld 目录名`
输出:
~~~
[root@localhost /]# ls -ld /etc/
drwxr-xr-x 99 root root 12288 09-14 13:37 /etc/
~~~
### 按时间列出文件和文件夹详细信息
命令:`ls -lt`
输出:
~~~
[root@localhost /]# ls -lt
总计 154
drwxr-xr-x 99 root root 12288 09-14 13:37 etc
drwxrwxrwt 4 root root 4096 09-14 10:15 tmp
drwxr-xr-x 2 root root 4096 09-14 09:49 test
drwxr-xr-x 10 root root 3820 09-14 09:10 dev
drwxr-xr-x 2 root root 0 09-14 09:10 net
drwxr-xr-x 2 root root 0 09-14 09:10 misc
drwxr-xr-x 11 root root 0 09-14 09:09 sys
dr-xr-xr-x 116 root root 0 09-14 09:09 proc
drwxr-xr-x 2 root root 4096 09-12 18:17 data
drwxr-x--- 18 root root 4096 09-11 15:41 root
drwxr-xr-x 2 root root 4096 09-10 16:30 bin
~~~
### 按修改时间列出文件和文件夹详细信息
命令:`ls -lrv`
输出:
~~~
[root@localhost /]# ls -lrv
总计 154
drwxr-xr-x 21 root root 4096 07-08 20:28 var
drwxr-xr-x 14 root root 4096 07-08 20:23 usr
drwxrwxrwt 4 root root 4096 09-14 10:15 tmp
drwxr-xr-x 2 root root 4096 09-14 09:49 test
drwxr-xr-x 11 root root 0 09-14 09:09 sys
drwxr-xr-x 2 root root 4096 2010-01-27 srv
drwxr-xr-x 2 root root 4096 07-08 20:22 selinux
~~~
### 按照特殊字符进行分类
命令:`ls -F`
输出:
~~~
[root@localhost nginx-1.2.9]# ls -F
auto/ CHANGES.ru configure* html/ Makefile objs/ src/
CHANGES conf/ contrib/ LICENSE man/ README
~~~
### 列出文件并标记颜色分类
命令:`ls --color=auto`
输出:
~~~
[root@localhost nginx-1.2.9]# ls --color=auto
auto CHANGES.ru configure html Makefile objs src
CHANGES conf contrib LICENSE man README
~~~
## 命令扩展
### 显示彩色目录列表
打开/etc/bashrc, 加入如下一行:
`alias ls="ls --color"`
下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下:
>[success] 1. 蓝色-->目录
> 2. 绿色-->可执行文件
> 3. 红色-->压缩文件
> 4. 浅蓝色-->链接文件
> 5. 灰色-->其他文件
- Linux的安装
- Linux的软件安装管理
- Linux零碎的命令
- 了解ssh
- 系统调优及安全设置
- Linux系统中的硬链接和软连接
- Linux文件和目录的属性及权限
- 命令总结
- 文件目录管理命令
- cat
- cd
- cp
- ls
- mkdir
- mv
- rm
- touch
- vi
- 硬件检测内核shell命令
- echo
- alias
- dd
- diff
- date
- grep(重要)
- head
- rpm
- sed(重要)
- tree
- unalias
- yum
- seq
- su
- less
- more
- tail
- awk(重要)
- pwd
- history
- whoami
- find(重要)
- which
- vimdiff
- sudo
- wget
- ln
- chmod
- chown
- vim常用技巧
- scp
- 工作场景应用总结
- 自动删除n天前日志
- 删除一个目录下的所有文件但保留一个文件
- Linux软件安装
- php安装(apache版本)
- vsftpd安装
- git安装
- python安装
- LNMP安装
- LAMP安装I
- LAMP安装II
- svn安装
- svn在Linux下的命令操作
- svn钩子简介
- svn代码上传流程
- Crond介绍
- sersync应用指南
- 其他
- 小结一
- 系统调优重新整理tmp
- linux禁止root用户直接登录sshd并修改默认端口