从 Apache 2.4 开始,所有/etc/apache2/sites-available
和中的文件都sites-enabled
必须以以下结尾命名.conf
现在在我的服务器上有很多这样的文件,重命名这些文件sites-available
很容易:
for i in /etc/apache2/sites-available/*; do
if [[ $i != *.conf ]]; then
mv -v $i $i.conf;
fi
done
sites-enabled
但是我怎样才能用一个命令重命名它们的所有链接呢?
答案1
仅需要一个命令是一件很难实现的事情UNIX哲学心里。
另一方面:你可以用俏皮话来统治你世界的主要部分。
sites-available
首先使用问题中的脚本修复配置文件,然后使用以下代码在sites-enabled
.
cd /etc/apache2/sites-enabled
find . -type l -ls \
| awk '{print $13 ".conf -> " $11 ".conf"}' \
| mmv -s -n
这将使用您现有的链接并创建新链接并附.conf
加到源和目标。
mmv -n
是个试运行这仅表明会发生什么。如果您对结果满意,请再次运行,无需-n
然后在不带 -n 的情况下运行 mmv 后,使用以下命令删除旧的悬空符号链接
find -L /etc/apache2/sites-enabled -type l -delete