这篇文章将详细学习如何使用ls命令,ls命令可以在Linux/Unix系统中列出目录中的文件和子目录。
在终端中使用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
如果你觉得我有什么遗漏或不正确的地方,请在下面留言。
欢迎转载,请留下出处链接:Labno3 » Linux系统如何列出目录文件,ls命令使用详解