不使用 ls 命令列出目录内容的不同方法

[ad_1]

“ls” command 是在 Linux 和类 Unix 系统中列出目录中文件和目录的最常用命令。 但是,还有其他方法可以 不使用 ls 命令列出目录内容. 您可能知道,对于最流行和广泛使用的现有 Linux 程序,存在许多替代程序。 我们已经发布了一些好的替代品 ‘最佳’, 替代品 ‘从’ 命令和替代方法 ‘男子’ 页。 今天,在本教程中,我们将看到在 Linux 中不使用“ls”命令列出目录内容的 11 种替代方法。

内容

  1. 不使用 ls 命令列出目录内容
    1. 1. 使用“echo”命令列出文件
    2. 2.使用’printf’命令列出文件和目录
    3. 3. 使用 ‘dir’ 命令列出文件和目录
    4. 4. 使用 ‘find’ 命令列出文件和目录
    5. 5. 使用 ‘stat’ 命令列出文件和目录
    6. 6. 使用 ‘grep’ 命令列出文件和目录
    7. 7. 使用 ‘lsattr’ 命令列出文件和目录
    8. 8. 使用 ‘getfacl’ 命令列出文件和目录
    9. 9. 使用’for循环’列出文件和目录
    10. 10. 使用“Vim”编辑器列出文件和目录
    11. 11. 使用“树”命令列出文件

不使用 ls 命令列出目录内容

通常,大多数 Linux 用户使用“ls”命令列出目录中的文件和目录。 例如,我们可以使用下面的命令来显示一个名为的目录的内容 ostechnix.

$ ls ostechnix/

使用 ls 命令列出目录内容

这就是我们列出文件和目录的方式。 但是,有一些方法可以做到这一点。 到目前为止,我只知道以下十种方法。 如果我遇到任何其他更好的方法,我也会添加它们。 另外,如果您知道其他方法可以做到这一点,请在下面的评论部分告诉我们。

建议阅读:

  • 如何在 Linux 中 Cd 进入目录时自动列出目录内容

1. 使用“echo”命令列出文件

回声 command 是最常用的内置命令,在 shell 脚本和批处理程序中用于打印给定的参数。 您可以将任何文本/字符串作为参数传递,并且 echo 命令将在标准输出或文件中显示它们。 该命令不仅用于打印给定的参数,还可以用于列出文件。

要列出当前目录中使用的文件,只需键入:

$ echo *

使用 echo 命令列出文件

要将所有文件向下列出一级,请使用以下命令:

$ echo */*

要列出隐藏文件,请运行:

$ echo * .*

有关更多详细信息,请参阅手册页。

$ man echo

如您所见, echo 命令将只显示文件,而不显示目录。 没问题,以下方法介绍了如何同时列出文件和目录。 继续阅读。

2.使用’printf’命令列出文件和目录

打印 命令用于格式化和打印文本。 此命令将打印给定的 论据 根据给定的 格式, 或根据给定的执行 选项.

要使用 printf 命令列出当前目录的内容,请运行:

$ printf '%sn' *

使用 printf 命令列出文件和目录

使用 printf 命令列出文件和目录

与“echo”命令不同,print 命令将同时显示文件和目录。

有关更多详细信息,请参阅手册页。

$ man printf

3. 使用 ‘dir’ 命令列出文件和目录

给你 command 是另一个用于显示目录内容的 Linux 命令。 它通常被认为与 Windows 等效,但在 Linux 中的工作方式几乎相同。

要列出当前目录内容,请运行:

$ dir

使用 dir 命令列出文件和目录

使用 dir 命令列出文件和目录

要列出特定目录的内容,只需将其路径作为参数传递,如下所示。

$ dir /home/sk/ostechnix

列出所有内容,包括隐藏文件:

$ dir -a

请参阅手册页以了解有关 dir 命令的更多信息。

$ man dir

4. 使用 ‘find’ 命令列出文件和目录

寻找 命令用于在目录层次结构中搜索文件。 不仅用于文件搜索,我们还可以使用 find 命令列出目录内容,如下所示。

$ find -maxdepth 1

或者,

$ find .

列出文件和目录使用

使用 find 命令列出文件和目录

如您所见,第一个命令列出了当前目录中下一级的所有文件和目录,而第二个命令递归地列出了所有文件和目录。

您也可以列出特定目录的内容。

$ find dir1/

  • 如何在 Linux 中根据文件的权限查找文件
  • 如何在 Linux 中查找大于或小于 X 大小的文件
  • 如何在 Linux 中查找和删除名称中包含特定文本的文件
  • 如何在 Linux 中的目录树中查找最旧的文件
  • 如何在 Linux 中查找并将某些类型的文件从一个目录复制到另一个目录
  • 如何在 Linux 中查找和删除超过 X 天的文件

5. 使用 ‘stat’ 命令列出文件和目录

统计 命令用于显示文件和文件系统信息。 使用此命令,我们可以找到文件属性,例如大小、权限、创建和访问日期等。

要使用“stat”命令列出文件和目录,

$ stat -c '%A %n' *

使用 stat 命令列出文件和目录

使用 stat 命令列出文件和目录

可以看到,stat 命令不仅列出了当前目录的内容,还列出了权限。 当您想查看包括权限在内的目录内容时,它很有用。

查看手册页以获取有关 stat 命令的更多详细信息。

$ man stat

6. 使用 ‘grep’ 命令列出文件和目录

grep 命令用于搜索文本文件 常用表达. 我们前段时间写了一篇关于 grep 使用的详细指南。 检查以下链接以了解有关 grep 命令及其变体的更多信息。

  • 带有初学者示例的 Grep 命令教程

要使用 grep 命令列出目录内容,只需运行:

$ grep -l '.*' ./*

列出文件和目录使用

使用 grep 命令列出文件和目录

7. 使用 ‘lsattr’ 命令列出文件和目录

lsattr 命令用于列出 Linux 上文件和目录的属性。

要列出当前工作目录中的文件和目录,请使用 lsattr 命令:

$ lsattr ./*

使用 lsattr 命令列出文件和目录

使用 lsattr 命令列出文件和目录

正如您在输出中看到的,lsattr 命令只显示下一层的内容。 换句话说,它不会显示任何子目录及其内容和隐藏文件。

查看手册页以获取有关 lsattr 命令的详细信息。

$ man lsattr

8. 使用 ‘getfacl’ 命令列出文件和目录

设置法getfacl 是每个系统管理员必须知道设置的最有用和最重要的命令 访问控制列表 (ACL) 的文件和目录。

要查看当前目录中的文件和目录列表,只需运行:

$ getfacl ./*

使用 getfacl 命令列出文件和目录

使用 getfacl 命令列出文件和目录

我最喜欢这个命令的一件事是它不仅列出了目录内容,还列出了其他有用的细节,例如,

  • 文件/目录的所有者,
  • 有权访问它的组,
  • 所有者、组和其他人的访问权限。

9. 使用’for循环’列出文件和目录

列出目录内容的另一种方法是使用 为了 环形。 我在 BASH 中对此进行了测试,它按预期工作得很好。

$ for i in *; do echo $i; done

使用 for 循环列出文件和目录

使用 for 循环列出文件和目录

正如您在上面的输出中看到的,我们可以使用 for 循环列出当前目录的内容。

10. 使用“Vim”编辑器列出文件和目录

我来了编辑 不仅用于查看和编辑文件。 它也可以用来列出文件和目录。 您可能已经知道,Linux 中的一切都是文件。 所以从技术上讲,目录是一个包含文件和/或子目录列表的文件。

要使用 Vim 编辑器列出当前目录的文件和目录,请使用以下命令:

$ vim .

请注意末尾的点 (.)。

要列出特定目录的内容,请执行以下操作:

$ vim <path-to-dir>

例如:

$ vim ostechnix/

使用 vim 编辑器列出文件和目录

使用 vim 编辑器列出文件和目录

只需使用向上/向下箭头浏览列表。 要列出子目录的内容,只需将鼠标光标放在其上并按 ENTER。

建议阅读:

  • 如何在不解压缩的情况下查看存档或压缩文件的内容
  • 如何使用 Vim 编辑器编辑多个文件
  • PacVim – 学习 Vim 命令的 CLI 游戏
  • 如何在 Vim 编辑器中一次注释掉多行
  • 如何使用 Vim 编辑器在任何地方输入文本
  • 如何在 Vim 文本编辑器中使用拼写检查功能

11. 使用“树”命令列出文件

树命令 用于以树状格式查看目录(及其子目录)的内容。

如果不带任何选项运行 tree 命令,它将显示当前工作目录的所有文件和文件夹(以及子文件夹)。

$ tree

要将目录的内容向下列出一级,请运行:

$ tree -L 1

有关 Tree 命令的更多详细信息,请参阅以下指南。

  • 如何在 Linux 中查看目录树结构

而且,这就是现在的全部。 我现在不知道这些方法的任何实际用例。 几乎所有类 Unix 操作系统中都预装了“ls”命令,因此您可以简单地使用它来轻松显示目录内容。 万一“ls”命令在您的系统中不可用,请使用这些替代方法 ls 没有“ls”命令。

dir 命令echo 命令find 命令for loopgetfacl 命令grep 命令LinuxLinux 命令列出目录内容lsattr 命令printf 命令stat 命令vim 编辑器

[ad_2]

Related Posts