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

  • linux下不使用ls命令列出目录内容已关闭评论
  • 286 views
  • A+
所属分类:linux
linux下不使用ls命令列出目录内容
 

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

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

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

$ ls /root
结果如下:
testawk.sh testperl.pl

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

1.使用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 -maxdepth 1

Or,

$ 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 '.*' ./*
结果如下:
./testawk.sh
./testperl.pl
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: [\/]$,\<core\%(\.\d\+\)\=\>,\.h$,\.c$,\.cpp$,\~\=\*$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$
" Quick Help: <F1>: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
~

只需使用向上/向下箭头即可浏览列表。要列出子目录内容,只需将鼠标光标放在其上,然后按Enter,就可以查看文件内容。

 

  • 安卓客户端下载
  • 微信扫一扫
  • weinxin
  • 微信公众号
  • 微信公众号扫一扫
  • weinxin
avatar