> CentOS > CentOS入门 >

CentOS命令(目录管理 - ls)

简述

ls 命令是 Linux 下最常用的命令。默认情况下,ls 用来打印当前目录的清单,如果 ls 指定其他目录,那么就会显示指定目录里的文件及文件夹清单。通过 ls 命令,不仅可以查看 Linux 文件夹包含的文件,而且可以查看文件的权限(包括:目录、文件权限)、查看目录信息等。

 

  • 简述
  • 命令介绍
  • 命令选项
  • 文件类型
  • 使用范例

 

命令介绍

  • 命令名称 
    ls

  • 命令全称 
    list

  • 基本语法 
    ls [选项]… [文件]…

  • 功能描述 
    列出文件(默认情况下,为当前目录)的相关信息

命令选项

选项 说明
-a 列出目录下所有文件,包括以 . 开头的隐藏文件
-b 把文件名中不可输出的字符用反斜杠加字符编号(就像 C 语言一样)的形式列出
-c 输出文件的 i 节点的修改时间,并以此排序
-d 将目录像文件一样显示,而不是显示其下的文件
-e 输出时间的全部信息,而不是输出简略信息
-f -U 对输出的文件不排序
-i 输出文件的 i 节点的索引信息
-k 以 k 字节的形式表示文件的大小
-l 列出文件的详细信息
-m 横向输出文件名,并以 , 作为分隔符
-n 用数字 UID、GID 代替名称
-o 显示文件除组信息外的详细信息
-r 对目录反向排序
-s 对每个文件名后输出该文件的大小
-t 以时间排序
-u 以文件上次被访问的时间排序
-v 根据版本进行排序
-x 按列排序,横向排序
-A 显示除 . 和 .. 外的所有文件
-B 不输出以 ~ 结尾的备份文件
-C 按列输出,纵向排序
-G 列出文件的组的信息
-L 列出链接文件名,而不是链接到的文件
-N 不限制文件长度
-Q 把输出的文件名用双引号扩起来
-R 列出所有子目录下的文件
-S 以文件大小排序
-X 以文件的扩展名(最后一个 . 后的字符)排序
-1 一行只输出一个文件
-color=no 不显示彩色文件名
--help 在标准输出上显示帮助信息并退出
--version 在标准输出上显示版本信息并退出

文件类型

使用 ls -l 命令查看某一目录,会得到一个包含 9 个字段的列表。第 1 行显示的信息是总用量,这个数值是该目录下所有文件占用空间的大小。接下来的每一列第 1 个字符显示文件类型。

参数 说明
- 表示该文件是一个普通文件
d 表示该文件是一个目录
l 表示该文件是一个链接文件
b 表示该文件为块设备文件
c 表示该文件是一个字符设备文件
p 表示该文件为命令管道文件
s 表示该文件为 sock 文件

使用范例

1.不带选项运行 ls

只列出文件或者目录,看不到其他详细信息,例如:文件类型、大小、修改日期和时间、权限以及链接等。

[wang@localhost doc]$ ls
c  linux  php  program  python

2.使用长清单模式

使用 -l 选项(小写 L 字符),可以展示出文件类型、大小、修改日期和时间、权限以及链接等详细信息。

[wang@localhost doc]$ ls -l
总用量 4
drwxrwxr-x. 2 wang wang  6 9月  28 15:19 c
drwxrwxr-x. 2 wang wang  6 9月  28 15:19 linux
drwxrwxr-x. 2 wang wang  6 9月  28 15:20 php
-rw-rw-r--. 1 wang wang 42 9月  28 15:39 program
drwxrwxr-x. 2 wang wang 23 9月  28 15:20 python
  • 第 1 列:后 9 个字母表示该文件或目录的权限位,r 表示读,w 表示写,x 表示执行。前 3 个 rwx 字符是文件的拥有者权限,第二组 3 个 rwx 是文件的所属组权限,最后的 rwx 是其他人访问文件的权限。
  • 第 2 列:文件的硬链接数
  • 第 3 列:文件的拥有者
  • 第 4 列:文件的拥有者所在的组
  • 第 5 列:文件的大小,如果是目录,表示该目录的大小。注意:是目录本身的大小,而非目录及其下面的文件的总大小。
  • 第 6 列:文件或目录的最近修改时间
  • 第 7 列:文件名

3.以易读方式列出文件

将文件大小转变为可阅读的方式,例如:1G、20M、60K 等。(如果要以 K 为单位,可以使用 ls -lk)

[wang@localhost /]$ ls -lh
总用量 32K
lrwxrwxrwx.   1 root root    7 8月  30 12:08 bin -> usr/bin
dr-xr-xr-x.   4 root root 4.0K 8月  30 12:37 boot
drwxr-xr-x.  20 root root 3.3K 9月  28 09:42 dev
drwxr-xr-x. 136 root root 8.0K 9月  28 12:28 etc
drwxr-xr-x.   3 root root   17 8月  30 12:34 home
lrwxrwxrwx.   1 root root    7 8月  30 12:08 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 8月  30 12:08 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 8月  12 2015 media
drwxr-xr-x.   2 root root    6 8月  12 2015 mnt
drwxr-xr-x.   3 root root   15 8月  30 12:23 opt
dr-xr-xr-x. 430 root root    0 9月  28 09:41 proc
dr-xr-x---.  19 root root 4.0K 9月  27 14:04 root
drwxr-xr-x.  37 root root 1.1K 9月  28 12:27 run
lrwxrwxrwx.   1 root root    8 8月  30 12:08 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 8月  12 2015 srv
dr-xr-xr-x.  13 root root    0 9月  28 09:41 sys
drwxrwxrwt.  15 root root 4.0K 9月  28 14:37 tmp
drwxr-xr-x.  13 root root 4.0K 8月  30 12:08 usr
drwxr-xr-x.  21 root root 4.0K 9月  28 09:41 var

注意:也可以使用选项 --si,和 -h 类似,但是 --si 以 1000 字节为单位,而 -h 以 1024 字节为单位(命令:ls -l --si)。

4.列出隐藏文件

在 Linux 中,以 . 开头的文件是隐藏文件。为了在 ls 命令中显示,可以使用 -a 选项。

[wang@localhost doc]$ ls -a
.  ..  c  linux  php  program  python

5.显示时间完整格式

[wang@localhost doc]$ ls --full-time
总用量 4
drwxrwxr-x. 2 wang wang  6 2016-09-28 15:19:54.391783895 +0800 c
drwxrwxr-x. 2 wang wang  6 2016-09-28 15:19:46.325784078 +0800 linux
drwxrwxr-x. 2 wang wang  6 2016-09-28 15:20:02.637783709 +0800 php
-rw-rw-r--. 1 wang wang 42 2016-09-28 15:39:24.060757472 +0800 program
drwxrwxr-x. 2 wang wang 23 2016-09-28 15:20:37.591782920 +0800 python

6.列出 inode

inode 也被称为索引,可以使用 -i 选项,inode 会显示在第一列。

[wang@localhost doc]$ ls -li
总用量 4
101818943 drwxrwxr-x. 2 wang wang  6 9月  28 15:19 c
 67364942 drwxrwxr-x. 2 wang wang  6 9月  28 15:19 linux
  4243096 drwxrwxr-x. 2 wang wang  6 9月  28 15:20 php
  6192271 -rw-rw-r--. 1 wang wang 42 9月  28 15:39 program
 35781842 drwxrwxr-x. 2 wang wang 23 9月  28 15:20 python

7.列出所有子目录下的文件(递归显示)

[wang@localhost doc]$ ls -R
.:
c  linux  php  program  python

./c:

./linux:

./php:

./python:
request.py

8.列出主目录

要列出主目录,可以用 ~,这样就不必输入完整的目录名 /home/wang。

[wang@localhost doc]$ ls ~
core.3807  doc  logs  公共  模板  视频  图片  文档  下载  音乐  桌面

9.列出父(上级)目录

使用 ../ 可以列出父目录;同理,使用 ../../ 会列出上上一级目录。

[wang@localhost python]$ ls ../
c  linux  php  program  python

10.显示文件的 UID 和 GID

UID 表示 userid(用户 ID),GID 表示 groupid(组 ID)。

[wang@localhost doc]$ ls -n
总用量 4
drwxrwxr-x. 2 1000 1000  6 9月  28 15:19 c
drwxrwxr-x. 2 1000 1000  6 9月  28 15:19 linux
drwxrwxr-x. 2 1000 1000  6 9月  28 15:20 php
-rw-rw-r--. 1 1000 1000 42 9月  28 15:39 program
drwxrwxr-x. 2 1000 1000 23 9月  28 15:20 python

11.只列出目录条目

如果希望只列出目录,可以使用 -d 选项。

[wang@localhost doc]$ ls -ld /home/wang/doc/
drwxrwxr-x. 6 wang wang 63 9月  28 15:39 /home/wang/doc/

使用 ls */ 列出目录下所有文件,加上 -d 选项,则只显示目录。

[wang@localhost doc]$ ls -d */
c/  linux/  php/  python/

12.增加 / 标记目录

如果想一眼识别目录,除了颜色、第一列的类型 d 之外,使用 -p 选项,可以为目录添加 / (斜线)。

[wang@localhost doc]$ ls -p
c/  linux/  php/  program  python/

13.倒序列出文件

[wang@localhost doc]$ ls -r
python  program  php  linux  c

14.按文件大小排序

使用 -S 选项会按照从大到小的次序显示。

[wang@localhost doc]$ ls -lS
总用量 4
-rw-rw-r--. 1 wang wang 42 9月  28 15:39 program
drwxrwxr-x. 2 wang wang 23 9月  28 15:20 python
drwxrwxr-x. 2 wang wang  6 9月  28 15:19 c
drwxrwxr-x. 2 wang wang  6 9月  28 15:19 linux
drwxrwxr-x. 2 wang wang  6 9月  28 15:20 php

15.按修改时间排序

使用 -t 选项会按照修改时间排序,最新修改的文件在前。

[wang@localhost doc]$ ls -lt
总用量 4
-rw-rw-r--. 1 wang wang 42 9月  28 15:39 program
drwxrwxr-x. 2 wang wang 23 9月  28 15:20 python
drwxrwxr-x. 2 wang wang  6 9月  28 15:20 php
drwxrwxr-x. 2 wang wang  6 9月  28 15:19 c
drwxrwxr-x. 2 wang wang  6 9月  28 15:19 linux

这些都是日常操作中经常用到的。关于其他用法,可以使用 man ls 或者 ls --help 来查询手册页。




(责任编辑:IT)