Linux - 列出文件的命令(ls 除外)

Linux - 列出文件的命令(ls 除外)

想象一下,您正在系统上工作,有人意外删除了 ls命令 ( /bin/ls)。如何获取当前目录中的文件列表?尝试一下。

我尝试了很多方法,也在网上搜索过,但没有任何结果。我想问除了ls命令之外,我们还可以使用什么命令来列出所有文件。

答案1

echo *

...将通过 Bourne 兼容 shell 上的文件通配显示当前文件夹中的文件。

这列出了下一级的所有文件:

echo */*

在 Bash 中,如果设置了 globstar(用 来设置shopt -s globstar,用 来取消设置shopt -u globstar),这将递归地列出所有文件:

echo **

答案2

find -maxdepth 1 
find -maxdepth 1 -ls

较少的 TAB TAB

发现 -ls 开关独立于 /bin/ls 并且有自己的格式,并显示详细信息:

127432    0 drwxr-xr-x   2 stefan   stefan         48 Apr  8 22:51 ./temp/falsch/.hiddenfalsch
127447    0 lrwxrwxrwx   1 stefan   stefan          9 Apr  8 22:51 ./temp/falsch/linkfalsch -> subfalsch
127427    0 drwxr-xr-x   2 stefan   stefan         48 Apr  8 22:51 ./temp/.hiddenmusik

另一个细节显示了可能性,是stat

stat *
  File: `halx0o'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 807h/2055d  Inode: 102701      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/  stefan)   Gid: ( 1000/  stefan)
Access: 2011-04-08 22:38:18.000000000 +0200
Modify: 2009-07-23 03:16:15.000000000 +0200
Change: 2011-04-09 23:29:13.000000000 +0200
  File: `ho ho ho'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 807h/2055d  Inode: 115835      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/  stefan)   Gid: ( 1000/  stefan)
Access: 2011-04-08 22:38:18.000000000 +0200
Modify: 2010-07-24 14:12:48.000000000 +0200
Change: 2011-04-09 23:29:13.000000000 +0200

答案3

为了让它看起来像ls,我会使用 Bash 的for循环:

for i in *; do echo $i; done

如果这不起作用,我会尝试 Python ;)

python -c "import glob; print '\n'.join(glob.glob('/home/*'))"

答案4

find .

尽管您可能希望输入所需的任何限制参数。

相关内容