是否可以这样做:ls -l *
打印所有目录的内容。并添加例外,例如,test.cpp
为了打印除 之外的所有文件test.cpp
。
答案1
如果已启用,则可以使用 glob 来完成extglob
。您可以使用以下命令启用它:
shopt -s extglob
你可以像这样使用它:
ls -l !(test.cpp)
它也可以用于其他用途:
ls -l !(*.jpg) # list all files that don't have .jpg extensions
由于这是一个 shell glob,因此它也可以与其他命令一起使用。但是,一个副作用是它会导致任何子目录被明确列出,这意味着也会ls
列出它们。但是,这可以轻松处理:
ls -ld !(test.cpp)
答案2
实现此目的的经典(天真的?)方法是
ls -l * | grep -v test.cpp
然而,正如 Lamar 所评论的,GNUls
有忽略某些文件名的选项
ls -l -I test.cpp *
注意ls -l *
列出当前目录中的文件以及第一级子目录中的文件。你可能指的是ls -l
没有*