相关疑难解决方法(0)

仅列出当前目录中的常规文件(但不列出目录)

我可以ls -ld */用来列出当前目录中的所有目录条目。有没有类似的简单方法来列出当前目录中的所有常规文件?我知道我可以使用 find

find . -maxdepth 1 -type f
Run Code Online (Sandbox Code Playgroud)

或统计

stat -c "%F %n" * | grep "regular file" | cut -d' ' -f 3-
Run Code Online (Sandbox Code Playgroud)

但这些并没有让我觉得过于优雅。有没有一个很好的简短方法来只列出常规文件(我不关心设备、管道等)而不是当前目录的子目录?列出符号链接也是一个加分项,但不是必需的。

ls shell wildcards files

150
推荐指数
5
解决办法
36万
查看次数

如何在 ls -Al 中仅输出文件名(带空格)?

我应该只用这种结构回显文件或目录的名称:

ls -Al | while read string
do
...
done
Run Code Online (Sandbox Code Playgroud)

ls -Al 输出 :

drwxr-xr-x  12 s162103  studs         12 march 28 12:49 personal domain
drwxr-xr-x   2 s162103  studs          3 march 28 22:32 public_html
drwxr-xr-x   7 s162103  studs          8 march 28 13:59 WebApplication1
Run Code Online (Sandbox Code Playgroud)

例如,如果我尝试:

ls -Al | while read string
do
echo "$string" | awk '{print $9}
done
Run Code Online (Sandbox Code Playgroud)

然后只输出没有空格的文件和目录。如果文件或目录有“个人域”之类的空格,则只有“个人”一词。

我需要非常简单的解决方案。也许有比 awk 更好的解决方案。

linux command-line ls

116
推荐指数
4
解决办法
30万
查看次数

标签 统计

ls ×2

command-line ×1

files ×1

linux ×1

shell ×1

wildcards ×1