Linux运维基础之ls命令详解

Linux运维基础之ls命令详解

Linux 命令 ls  用于列出当前目录下的文件和目录。当你在终端中键入 ls 并按下 Enter 时,它会显示当前目录下的所有文件和文件夹。这是一个基本命令,通过提供文件系统内容概览,帮助用户浏览和管理文件系统。

你还可以使用 ls 命令的各种选项来查看更多细节,如文件权限、所有权、文件大小和修改日期。在本篇文章中,我们将探讨 ls 命令的所有可能用途。

ls 命令的一般语法:

$ ls [OPTION...] [FILE...]

1. 显示隐藏文件

ls -a

该选项将显示整个目录列表,包括隐藏文件。隐藏文件以点(.)

例子:

.  ..  .config  .bashrc  file1.txt  folder1  .hiddenfolder  picture.jpg

在本例中,单点( . )代表当前目录,双点( .. )代表父目录。 .config.bashrc 文件以及 .hiddenfolder 是隐藏的文件和目录,在普通 ls 命令中不会显示,但在这里由于使用了 -a 选项而显示出来。其他项目是常规的非隐藏文件和目录。

2. 按文件大小排序

ls -S

使用 ls -S 命令按大小降序对文件和目录进行排序,然后将它们打印到终端。

例子:

file_large.mp4
image1.jpg
document.pdf
textfile.txt
folder1/
folder2/

在本例中, file_large.mp4 是最大的文件, textfile.txt 是最小的文件。目录 folder1/folder2/ 也被列出,但 -S 选项在排序时不考虑它们的大小。如果想查看文件大小,可以将 -S 选项与 -l 选项结合使用,如 ls -lS

3. 显示长格式文件

ls -l

-l 选项可以更详细地显示目录内容。显示文件的所有者和组、最后修改时间等。

例子:

total 48
drwxr-xr-x 5 user user 4096 Aug  6 10:30 Documents
-rw-r--r-- 1 user user  123 Aug  6 10:20 file.txt
drwxr-xr-x 2 user user 4096 Aug  6 10:15 Music
-rwxr-xr-x 1 user user 2048 Aug  6 10:10 script.sh
drwxr-xr-x 3 user user 4096 Aug  6 10:05 Pictures

以下是每个部分的详细说明:

  • drwxr-xr-x: 文件权限(例如, d 表示目录, rwx 表示所有者的读取、写入和执行权限)。
  • 5: 文件或目录的硬链接数量。
  • user: 文件或目录的所有者(列出两次,一次是所有者,一次是组)。
  • 4096: 文件大小(以字节为单位)。
  • Aug 6 10:30: 文件或目录最后一次修改的日期和时间。
  • Documents: 文件或目录的名称。

4. 按日期和时间排序

ls -t

该命令按最后修改时间对文件进行排序。最近编辑的文件将显示在输出结果的顶部,便于查找。

例子:

report.txt  image.png  project/  notes.docx  old_data.csv

在本例中, report.txt 是最近修改的文件,而 old_data.csv 则是最旧的文件。如果在不同的目录或不同的时间运行该命令,输出结果将根据特定目录中的文件及其修改时间而有所不同。

5. 只显示目录

ls -d */

使用此命令可列出不包括所有其他文件的子目录。

例子:

下面是该命令的输出示例,假设当前目录中有三个名为 DocumentsPictures, 和 Music 的目录:

Documents/  Pictures/  Music/

每个目录名后都有一个斜线 ( / ),表示它是一个目录。

6. 列出文件并将结果保存到文件中

ls > [filename]

使用 ls > [filename] 命令可以将前一条命令的输出保存到文件中。

例子:

ls > filename.txt 命令不会在终端中显示任何输出。相反,它会将 ls 命令的输出重定向到名为 filename.txt 的文件。

如果你在一个包含文件和文件夹的目录中运行 ls 命令,这些文件和文件夹的名称将被写入 filename.txt。你不会在终端中看到任何内容。

下面是 filename.txt 目录中包含三个文件和一个文件夹的示例:

file1.txt
file2.jpg
folder1
file3.pdf

具体内容取决于运行该命令时当前目录下的文件和目录。

7. 列出文件所有者及其 ID

ls -n

该选项以 UIDGID 显示所有者和组。

例子:

drwxr-xr-x 2 1001 1001 4096 Apr  1 12:34 directory1
-rw-r--r-- 1 1001 1001    0 Apr  1 12:34 file1.txt
-rwxr-xr-x 1 1002 1002  123 Apr  1 12:34 script.sh

在此示例中,第一列显示文件权限,第二列显示硬链接数量,第三和第四列显示用户和组 ID,第五列显示文件大小(以字节为单位),第六和第七列显示上次修改的日期和时间。最后一列显示文件或目录的名称。

更多 Linux 命令

下面罗列了最常见的一些 Linux 命令,您可以根据自己的需要查阅对应命令的详细解析:

目录操作 rmdir · cd · pwd · exa · ls
文件操作 cat · cp · dd · less · touch · ln · rename · more · head
文件系统操作 chown · mkfs · locate
网络 ping · curl · wget · iptables · mtr
搜索和文本处理 find · grep · sed · whatis · ripgrep · fd · tldr
系统信息和管理 env · history · top · who · htop · glances · lsof
用户和会话管理 screen · su · sudo · open

此外,我们还整理 Linux 命令行大全,以帮助大家全面深入地学习 Linux。

评论留言