使用shell命令我需要以下列目录模式列出我服务器上的所有文件:
/家庭/ * /的public_html /图像/ *。PHP
有几个人需要很长时间才能手动执行此操作。我真的不知道这些命令是什么。
答案 0 :(得分:14)
find /path/to/directory/. -path "*/match/this/path/*" -type f -name "*.php"
答案 1 :(得分:12)
Shell脚本:
find /home/*/public_html/images -iname "*php" -exec echo {} \;
然后,您可以更改-exec命令以对返回的文件执行任何操作。在这种情况下,我们回应它们,但您也可以轻松地执行其他操作。
答案 2 :(得分:5)
让bash为您展开文件并使用ls
列出它们:
ls /home/*/public_html/images/*.php
示例输出:
/home/grant/public_html/images/bar.php
/home/grant/public_html/images/foo.php
/home/marcog/public_html/images/helloworld.php
答案 3 :(得分:-2)
使用PHP glob函数
glob('/home/*/public_html/images/*.php')
它将返回匹配路径字符串的数组。您也可以使用:
ls /home/*/public_html/images/*.php
或:
for i in /tmp/*/public_html/images/*.php;
do
some_command "$i"
done
来自shell的。