Linux 命令(文件和目录管理 - 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 来查询手册页。

时间: 2024-09-20 00:02:39

Linux 命令(文件和目录管理 - ls)的相关文章

RHCSA 系列(二): 如何进行文件和目录管理

在本篇中,我们将回顾一些系统管理员日常任务需要的技能. RHCSA: 运行文件以及进行文件夹管理 - 第二部分 创建.删除.复制和移动文件及目录 文件和目录管理是每一个系统管理员都应该掌握的必备技能.它包括了从头开始的创建.删除文本文件(每个程序的核心配置)以及目录(你用来组织文件和其它目录),以及识别已有文件的类型. touch 命令 不仅仅能用来创建空文件,还能用来更新已有文件的访问时间和修改时间. touch 命令示例 你可以使用 file [filename]来判断一个文件的类型 (在你

linux下文件和目录的颜色所代表含义是什么?

linux下文件和目录的颜色所代表含义是什么? 蓝色表示目录:绿色表示可执行文件:红色表示压缩文件:浅蓝色表示链接文件:灰色表示其它文件:红色闪烁表示链接的文件有问题了:黄色是设备文件,包括block, char, fifo.用dircolors -p看到缺省的颜色设置,包括各种颜色和"粗体",下划线,闪烁等定义 [root@localhost ~]# dircolors -p #&http://www.aliyun.com/zixun/aggregation/37954.ht

SQL Server on Linux的文件和目录结构

问题引入 "鸟儿啊,我记得你写过一篇<SQLServer On Linux Package List on CentOS>的文章,从这篇文章,我们很清楚的知道了SQL Server on Linux包含有哪些必要的包.那么,我们怎么知道SQL Server on Linux到底包含哪些重要的文件和目录结构呢?他们的作用是什么?". "的确,当我们在排错或者需要改变MSSQL Server on Linux配置的时候,我们需要对SQL Server的各个工作目录和文

详解Java的文件与目录管理以及输入输出相关操作_java

Java中文件与目录管理 目录是管理文件的特殊机制,同类文件保存在同一个目录下不仅可以简化文件管理,而且还可以提高工作效率.Java 语言在 java.io 包中定义了一个 File 类专门用来管理磁盘文件和目录. 每个 File 类对象表示一个磁盘文件或目录,其对象属性中包含了文件或目录的相关信息.通过调用 File 类提供的各种方法,能够创建.删除.重名名文件.判断文件的读写权限以及是否存在,设置和查询文件的最近修改时间等.不同操作系统具有不同的文件系统组织方式,通过使用 File 类对象,

Linux中文件权限目录权限的意义及权限对文件目录的意义_linux shell

linux中目录与文件权限的意义 一.文件权限的意义 r:可以读这个文件的具体内容: w:可以编辑这个文件的内容,包括增加删除文件的具体内容: x:文件就具有了可执行的权限-------注意:这里和window不一样,在win中,文件的可执行权限是通过扩展名表现出来的,如exe.bat等,但是在linux中文件的可执行权限是通过这个x决定的,与文件名没有什么关系. 二.目录权限的意义 r:可以查看此目录下的完整文件列表信息. w:可以对此目录下的所有的文件及目录进行相关的更改,也就是可以更改这个

Linux 命令(文件和目录管理 - pwd)

简述 目录是 Linux 的基本组成部分,目录管理包括目录的复制.删除.修改等操操作. 在 Linux 层次结构中,想要知道当前所处的目录,可以用 pwd 命令,该命令输出当前工作目录的完整名称.环境变量 OLDPWD 表示前一次的工作目录,环境变量 PWD 表示当前的工作目录. 简述 命令介绍 命令选项 使用范例 命令介绍 命令名称 pwd 命令全称 Print Working Directory 基本语法 pwd [选项]- 功能描述 打印当前工作目录的完整文件名 命令选项 pwd 命令比较

Linux 命令(文件和目录管理 - zip/unzip)

简述 zip/unzip 是 Linux 中广泛使用的压缩/解压缩程序zip 命令用来将文件压缩为常用的 zip 格式扩展名为 .zipunzip 命令则用来解压缩 zip 文件. 简述 zip 命令介绍 命令选项 使用范例 unzip 命令介绍 命令选项 使用范例 zip 命令介绍 命令名称 zip 基本语法 zip [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$] [--longoption ...] [-b path] [-n suffixes] [-t date]

Linux 命令(文件和目录管理 - gzip/gunzip)

简述 和 zip 命令类似,gzip 用于文件的压缩,gzip 压缩后的文件扩展名位 .gz,gzip 默认压缩后会删除原文件.gunzip 用于解压经过 gzip 压缩过的文件. 简述 gzip 命令介绍 命令选项 使用范例 gunzip 命令介绍 命令选项 使用范例 gzip 命令介绍 命令名称 gzip 基本语法 gzip [OPTION]- [FILE]- 功能描述 压缩文件.压缩后的文件扩展名位 .gz,默认压缩后会删除原文件. 命令选项 选项 说明 -a --ascii 使用 ASC

Linux 命令(文件和目录管理 - cp)

简述 cp 命令用来复制文件或目录.当复制多个文件时,目标文件参数必须为已经存在的目录.cp 命令默认不能复制目录,复制目录必须使用 -R 选项. 简述 命令介绍 命令选项 使用范例 命令介绍 命令名称 cp 命令全称 copy 基本语法 cp [选项]- [-T] 源文件 目标文件 或:cp [选项]- 源文件- 目录 或:cp [选项]- -t 目录 源文件- 功能描述 将源文件复制至目标文件,或将多个源文件复制至目标目录. 命令选项 选项 说明 -a, --archive 等于-dR --