ls 列出指定目录中的匹配项
ls to list matches in specified directory
如何在指定目录中列出匹配的结果?
在我的 Ubuntu 服务器上,如果我列出目录的内容,它会正确列出它。我的工作目录是 /var/crash.
#pwd
/var/crash
# ls -l
-rw-r--r-- 1 bob bob 121876 Aug 8 2015 results.xml
-rw-rw-r-- 1 bob bob 126 Nov 3 2015 start.txt
-rw-rw-r-- 1 bob bob 43 Jul 28 2015 exit.txt
假设我想列出所有包含 'tar' 的文件。在此示例中,应该只有一个匹配项,即 start.txt
# ls -l *tar*
-rw-rw-r-- 1 bob bob 126 Nov 3 2015 start.txt
到目前为止一切都很好。但是,如果我包含目录 (/var/crash),它会列出所有文件。
# ls -l *tar* /var/crash
-rw-r--r-- 1 bob bob 121876 Aug 8 2015 results.xml
-rw-rw-r-- 1 bob bob 126 Nov 3 2015 start.txt
-rw-rw-r-- 1 bob bob 43 Jul 28 2015 exit.txt
我猜我的语法是告诉 ls 列出 tar 的所有匹配项以及 /var/crash 中的所有内容。在指定目录中列出匹配项的正确语法是什么?
您需要指定模式和目录:
ls -l /var/crash/*tar*
否则,对于 ls -l *tar* /var/crash
,您是在告诉 ls
针对两个参数采取行动:/var/crash
和 *tar*
。 事实上,*tar*
会在ls
到达之前展开,所以ls
的参数可能会更多。
如何在指定目录中列出匹配的结果?
在我的 Ubuntu 服务器上,如果我列出目录的内容,它会正确列出它。我的工作目录是 /var/crash.
#pwd
/var/crash
# ls -l
-rw-r--r-- 1 bob bob 121876 Aug 8 2015 results.xml
-rw-rw-r-- 1 bob bob 126 Nov 3 2015 start.txt
-rw-rw-r-- 1 bob bob 43 Jul 28 2015 exit.txt
假设我想列出所有包含 'tar' 的文件。在此示例中,应该只有一个匹配项,即 start.txt
# ls -l *tar*
-rw-rw-r-- 1 bob bob 126 Nov 3 2015 start.txt
到目前为止一切都很好。但是,如果我包含目录 (/var/crash),它会列出所有文件。
# ls -l *tar* /var/crash
-rw-r--r-- 1 bob bob 121876 Aug 8 2015 results.xml
-rw-rw-r-- 1 bob bob 126 Nov 3 2015 start.txt
-rw-rw-r-- 1 bob bob 43 Jul 28 2015 exit.txt
我猜我的语法是告诉 ls 列出 tar 的所有匹配项以及 /var/crash 中的所有内容。在指定目录中列出匹配项的正确语法是什么?
您需要指定模式和目录:
ls -l /var/crash/*tar*
否则,对于 ls -l *tar* /var/crash
,您是在告诉 ls
针对两个参数采取行动:/var/crash
和 *tar*
。 事实上,*tar*
会在ls
到达之前展开,所以ls
的参数可能会更多。