Linux系统如何列出目录文件,ls命令使用详解

这篇文章将详细学习如何使用ls命令,ls命令可以在Linux/Unix系统中列出目录中的文件和子目录。

ls-command-in-Linux-Thumbnail.png

在终端中使用Linux/Unix系统,ls命令是最常使用的命令。

除了cd之外,它也是你在处理Linux时应该首先学会的命令之一。

ls命令用于列出一个目录中的文件,没有任何参数时,列出当前工作目录的文件。

ls命令语法

ls命令使用简单的语法,非常简单易记。

需要做的就是输入ls,后面跟着参数或想列出的目录或文件的路径。

ls [OPTIONS] [FILE|DIRECTORY]

这两个参数都是可选的。

使用无选项的ls

使用ls命令最简单的方法是不指定任何附加选项。

当不指定任何选项时,会得到当前工作目录中所有文件的列表。

$ ls
bin  boot  dev  etc  home  lib  lost+found  media  mnt  opt  
proc  root  run  sbin  srv  sys  tmp  usr  var

这样只能查看文件的名称,而不能查看它们的任何信息。

在指定的目录中列出文件

虽然默认情况下,ls命令只列出当前工作目录的文件。也可以指定目录。

下面就举两个例子来说明如何指定目录。

第一种方式是在命令后面指定目录。

ls /home/pi

但是,如果使用-l等参数,则需要在后面指定目录。

 ls -l /home/pi

使用-l的参数获取更多信息

为了从ls命令中获得更多的信息,可以使用-l(确保使用小写的l)参数。

这个参数告诉命令,它应该使用长列表格式列出文件。

ls -l

在所有的参数中,这是一个使用最多的参数,因为它提供了每个文件的详细信息。

长列表格式将提供有关文件的七种不同信息。

这些包括文件权限、所有者、组、文件大小(字节)、修改日期和文件名。

$ ls -l

total 1732
drwxr-xr-x  2 pi pi    4096 May 27 08:18 Bookshelf
-rwxr-xr-x  1 pi pi 1880001 Jun 19 06:04 hello-world
-rw-r--r--  1 pi pi      76 Jun 19 05:58 hello-world.go
drwxr-xr-x 11 pi pi    4096 Jun 19 05:54 mpv-build

除了这些信息之外,ls命令还向显示了这个目录中的文件使用的文件系统块的总数。

如果想了解权限,请务必查看Linux权限指南。

使用ls命令查看隐藏文件

默认情况下,隐藏的文件并没有被列出。在Linux中,只要文件名以点(.)开头,就被认为是隐藏文件。

ls命令有-a选项,会告诉工具列出所有文件。

ls -a

下面你可以看到如何使用显示隐藏文件选项(-a)和长列表格式(-l)选项。

$ ls -la

total 1772
drwxr-xr-x  7 pi   pi      4096 Jun 22 11:25 .
-rw-r--r--  1 pi   pi      3595 Jun 19 05:56 .bashrc
drwxr-xr-x  2 pi   pi      4096 May 27 08:18 Bookshelf
drwxr-xr-x  3 pi   pi      4096 Jun 19 05:58 .cache
-rwxr-xr-x  1 pi   pi   1880001 Jun 19 06:04 hello-world
-rw-r--r--  1 pi   pi        76 Jun 19 05:58 hello-world.go
drwxr-xr-x 11 pi   pi      4096 Jun 19 05:54 mpv-build
-rw-r--r--  1 pi   pi       807 May 27 08:10 .profile

显示可读文件大小

ls命令只以字节为单位报告文件大小。

但是,可以指定-h选项,将数字转换成可读的格式,以便于阅读。例如,4096字节将显示为1K。

为了使这个选项有用,需要把它和长列表格式选项(-l)一起使用。

$ ls -lh

total 1.7M
drwxr-xr-x  2 pi pi 4.0K May 27 08:18 Bookshelf
-rwxr-xr-x  1 pi pi 1.8M Jun 19 06:04 hello-world
-rw-r--r--  1 pi pi   76 Jun 19 05:58 hello-world.go
drwxr-xr-x 11 pi pi 4.0K Jun 19 05:54 mpv-build

列出文件和目录的更多信息

在使用ls命令的同时,使用-F或–classify参数列出的文件和目录添加额外的标识符。

使用这个选项,能够快速识别ls命令所列出的项目,如目录和可执行文件。

$ ls -F
Bookshelf/  hello-world*  hello-world.go  mpv-build/

以下是利用此选项添加的符号列表。如果有需要,请参考以下内容

  • @ – at符号定义了这是一个符号链接或具有扩展属性。
  • * – 当文件末尾显示星号时,它告诉你它是可执行的。
  • = – 等号将其定义为UNIX套接字。这些是用于本地通信的。
  • | 管道字符告诉我们这个文件是一个命名管道。命名管道是比进程执行时间更长的持久性管道。
  • > – 如果你看到大于符号,那么这个文件就是一个门。在Unix系统中,这些是作为进程间通信的一种方式。

递归地列出子目录

如果使用-R参数,可以让ls命令列出任何子目录中的文件。

如果需要检查多个目录的文件,这个选项很有用。

$ ls -R
.:
Bookshelf  hello-world  hello-world.go  mpv-build

./Bookshelf:
000_RPi_BeginnersGuide_DIGITAL.pdf

./mpv-build:
build       ffmpeg        mpv          uninstall           use-libass-custom
build_libs  ffmpeg_build  mpv_options  update              use-libass-master
clean       go.tar.gz     README.rst   use-ffmpeg-custom   use-mpv-custom
config      install       rebuild      use-ffmpeg-master   use-mpv-master
debian      libass        scripts      use-ffmpeg-release  use-mpv-release

./mpv-build/build_libs:
bin  include  lib  share

./mpv-build/build_libs/bin:
ffmpeg  ffplay  ffprobe

./mpv-build/build_libs/include:
ass         libavdevice  libavformat  libpostproc    libswscale
libavcodec  libavfilter  libavutil    libswresample

按文件大小对文件/目录进行排序

如果想按照文件大小的顺序排列文件,需要使用-S选项。

这个选项最好和显示文件大小(-s)选项或长列表格式(-l)选项一起使用。

$ls -lS

total 1732
-rwxr-xr-x  1 pi pi 1880001 Jun 19 06:04 hello-world
drwxr-xr-x  2 pi pi    4096 May 27 08:18 Bookshelf
drwxr-xr-x 11 pi pi    4096 Jun 19 05:54 mpv-build
-rw-r--r--  1 pi pi      76 Jun 19 05:58 hello-world.go

按时间和日期对文件/目录进行排序

也可以根据文件的最后修改时间和日期来排序,需要指定-t选项。

和按文件大小排序选项一样,需要使用长列表格式(-l)选项,这样才能验证结果。

$ls -lS

total 1732
drwxr-xr-x  2 pi pi    4096 May 27 08:18 Bookshelf
-rwxr-xr-x  1 pi pi 1880001 Jun 19 06:04 hello-world
drwxr-xr-x 11 pi pi    4096 Jun 19 05:54 mpv-build
-rw-r--r--  1 pi pi      76 Jun 19 05:58 hello-world.go

希望到这里,你已经会使用ls命令和它的各种参数。

如果对其他参数有兴趣,可以使用man命令,后面加ls。

man ls

如果你觉得我有什么遗漏或不正确的地方,请在下面留言。

平均: 0 / 5. votes: 0

到目前为止还没有投票!成为第一位评论此文章。

欢迎转载,请留下出处链接:Labno3 » Linux系统如何列出目录文件,ls命令使用详解

赞 (1)

评论

1+2=