使用 bash 列出所有文件夹和子文件夹

使用 bash 列出所有文件夹和子文件夹

我尝试使用 PHP 读取我的文件夹和子文件夹来创建一个供我使用的基本的菜单,但我注意到这样做需要一些时间,因为每次我转到该页面时都必须运行它。

然后我就想,为什么不使用 bash 并让它创建一个 PHP 可以读取的文本文件,然后让它每晚使用 crontab 运行呢?所以我搜索并尝试了,但这并不容易。

使用此代码我可以得到一个子文件夹

for D in /var/www/html/lib/*; do
    if [ -d "${D}" ]; then
        echo "${D}"
    fi
done

它给了我

/var/www/html/lib/folder1
/var/www/html/lib/folder2
/var/www/html/lib/folder3
...

但这些文件夹都有子文件夹,例如

/var/html/lib/folder1/1990
...

我的想法是创建一个循环然后使用

myfolder= "${D}"
addresstoremove="var/www/html/"

printf '%s\n' "${myfolder//$addresstoremove/}" >> textfile.txt

所以它删除了我在 PHP 代码中不需要的地址

答案1

find /var/www/html/lib/ -type d

或者

find /var/www/html/lib/ -type d >> file.txt

相关内容