大多数Linux用户使用ls命令列出文件和目录的十种方法

优采云 发布时间: 2021-08-08 05:44

  大多数Linux用户使用ls命令列出文件和目录的十种方法

  “LS”命令是在类 Unix 系统目录中列出文件和目录的最常用命令。但是,还有其他方法可以在不使用 ls 命令的情况下列出目录的内容。您可能知道,在最流行和最广泛使用的现有 Linux 程序中存在许多替代程序。

  今天,在本教程中,我们将看到 10 种在 Linux 中不使用“ls”命令列出目录内容的替代方法。

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

  $ ls /root

  结果如下:

  testawk.sh testperl.pl

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

  1.使用ECHO命令列出文件

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

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

  $ echo *

  如下:

  testawk.sh testperl.pl

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

  $ echo */*

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

  $ echo * .*

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

  $ man echo

  如你所见,echo 命令只显示文件,不显示目录。没问题,下面的方法解释了如何列出文件和目录。继续阅读。

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

  printf 命令用于格式化和打印文本。该命令会根据给定的格式打印给定的参数,或者根据给定的选项执行。

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

  $ printf '%s\n' *

  如下:

  testawk.sh

testperl.pl

  与“echo”命令不同,print命令会同时显示文件和目录。有关更多详细信息,请参阅手册页。

  $ man printf

  3.使用DIR命令列出文件和目录

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

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

  $ dir

  如下:

  testawk.sh testperl.pl

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

  $ dir /home/xxx

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

  $ dir -a

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

  $ man dir

  4.使用FIND命令列出文件和目录

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

  $ find -maxdepth 1

  或者,

  $ find .

  如下:

  .

./.pydistutils.cfg

./.cache

./testawk.sh

./testperl.pl

./.cshrc

./.bash_profile

./.oracle_jre_usage

./.ssh

./.bashrc

./.bash_logout

./.pip

./.bash_history

./.tcshrc

  如您所见,第一个命令列出了当前目录中某一级别的所有文件(包括隐藏文件)和目录,而第二个命令递归列出了所有文件和目录。

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

  $ find dir1/

  5.使用STAT命令列出文件和目录

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

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

  $ stat -c '%A %n' *

  如下:

  -rw-r--r-- testawk.sh

-rw-r--r-- testperl.pl

  可以看到,stat命令不仅列出了当前目录的内容,还列出了权限。当您要查看收录权限的目录的内容时,它非常有用。

  有关 stat 命令的更多详细信息,请查看手册页。

  $ man stat

  6.使用GREP命令列出文件和目录

  grep 命令用于在文本文件中搜索正则表达式。我们刚刚写了一篇关于 grep 使用的详细指南。请查看以下链接以了解有关 grep 命令及其变体的更多信息。

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

  $ grep -l '.*' ./*

  结果如下:

  7.使用LSATTR命令列出文件和目录

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

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

  $ lsattr ./*

  结果如下:

  -------------e-- ./testawk.sh

-------------e-- ./testperl.pl

  如您在输出中所见,lsattr 命令仅显示一级内容。换句话说,它不会显示任何子目录及其内容和隐藏文件。有关 lsattr 命令的更多信息,请查看手册页。

  $ man lsattr

  8.使用GETFACL命令列出文件和目录

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

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

  $ getfacl ./*

  结果如下:

  # file: testawk.sh

# owner: root

# group: root

user::rw-

group::r--

other::r--

# file: testperl.pl

# owner: root

# group: root

user::rw-

group::r--

other::r--

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

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

  另一种列出目录内容的方法是使用 for 循环。我在 BASH 中对此进行了测试,并且按预期运行得非常好。

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

  结果如下:

  testawk.sh

testperl.pl

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

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

  最后但并非最不重要的一点是,Vim 编辑器还可用于列出文件和目录。您可能已经知道,Linux 中的一切都是文件。从技术上讲,目录是收录文件和/或子目录列表的文件。

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

  $ vim .

  请注意最后一个点 (.)。

  如下:

  " ============================================================================

" Netrw Directory Listing (netrw v149)

" /root

" Sorted by name

" Sort sequence: [\/]$,\,\.h$,\.c$,\.cpp$,\~\=\*$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$

" Quick Help: :help -:go up dir D:delete R:rename s:sort-by x:exec

" ============================================================================

../

./

.cache/

.oracle_jre_usage/

.pip/

.ssh/

.bash_history

.bash_logout

.bash_profile

.bashrc

.cshrc

.pydistutils.cfg

.tcshrc

.viminfo

testawk.sh

testperl.pl

~

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线