您的位置:首页 > 运维架构 > Linux

Linux基础 标准教程(2)—文件和目录管理命令 ls

2017-08-19 11:31 686 查看
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
1
2
1
2

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
2
3
4
5
6
7
1
2
3
4
5
6
7
第 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

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

4.列出隐藏文件

在 Linux 中,以 
.
 开头的文件是隐藏文件。为了在 
ls
 命令中显示,可以使用 
-a
 选项。
[wang@localhost doc]$ ls -a
.  ..  c  linux  php  program  python
1
2
1
2

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
1
2
3
4
5
6
7
1
2
3
4
5
6
7

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
1
2
3
4
5
6
7
1
2
3
4
5
6
7

7.列出所有子目录下的文件(递归显示)
[wang@localhost doc]$ ls -R
.:
c  linux  php  program  python

./c:

./linux:

./php:

./python:
request.py
1
2
3
4
5
6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12

8.列出主目录

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

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

9.列出父(上级)目录

使用 
../
 可以列出父目录;同理,使用 
../../
 会列出上上一级目录。
[wang@localhost python]$ ls ../
c  linux  php  program  python
1
2
1
2

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
1
2
3
4
5
6
7
1
2
3
4
5
6
7

11.只列出目录条目

如果希望只列出目录,可以使用 
-d
 选项。
[wang@localhost doc]$ ls -ld /home/wang/doc/
drwxrwxr-x. 6 wang wang 63 9月  28 15:39 /home/wang/doc/
1
2
1
2

使用 
ls */
 列出目录下所有文件,加上 
-d
 选项,则只显示目录。
[wang@localhost doc]$ ls -d */
c/  linux/  php/  python/
1
2
1
2

12.增加 
/
 标记目录

如果想一眼识别目录,除了颜色、第一列的类型 
d
 之外,使用 
-p
 选项,可以为目录添加 
/
 (斜线)。
[wang@localhost doc]$ ls -p
c/  linux/  php/  program  python/
1
2
1
2

13.倒序列出文件
[wang@localhost doc]$ ls -r
python  program  php  linux  c
1
2
1
2

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
1
2
3
4
5
6
7
1
2
3
4
5
6
7

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: