我需要一个目录中所有文件的所有文件名的长(垂直)列表。
如何从ls -la
(ll
)列表中仅获取文件名?
只有名称,而不是:
drwxr-xr-x 9 USER GROUP 4096 Jul 20 10:30 filename1
drwxr-xr-x 9 USER GROUP 4096 Jul 20 10:30 filename2
drwxr-xr-x 9 USER GROUP 4096 Jul 20 10:30 filename3
drwxr-xr-x 9 USER GROUP 4096 Jul 20 10:30 filename4
drwxr-xr-x 9 USER GROUP 4096 Jul 20 10:30 filename5
相反,我只需要:
filename1
filename2
filename3
filename4
filename5
仅打印文件名是
ls
. 当你添加-l
你说你想要“长格式”输出。如果你只是删除-l
我认为这会给你你想要的。您可以离开-a
以包含“隐藏”文件同样正如 Stéphane 提到的,
-1
如果您仍然希望每个文件都在自己的行上,您可以添加,这将-1
在重定向到文件或通过管道传输到另一个命令时发生或不发生。如果要将其保存到文件中,可以像使用任何命令一样使用
>
or运算符。>>
请参阅重定向和什么是 shell 的控制和重定向运算符?>
您可以使用或将输出直接重定向到文件>>
。例如
ls -l > somefile.txt
,将创建一个名为的文件,somefile.txt
其中包含ls -l
. 但请注意,因为单曲>
会覆盖您重定向到的文件中的所有内容。使用>>
会将输出附加到您选择写入的文件中。编辑:
ls -1 >> somefile.txt
可能是您正在寻找的命令。对于所有文件,ls -1a >> somefile.txt
.