Linux:查找目录并在其中创建文件
我想在服务器上的所有“上载”目录中创建一个.htaccess文件 我从这个开始:Linux:查找目录并在其中创建文件,linux,.htaccess,directory,find,Linux,.htaccess,Directory,Find,我想在服务器上的所有“上载”目录中创建一个.htaccess文件 我从这个开始: find / -type d -name 'uploads' 我得到了一个很长的目录列表,其中有一个上传目录 现在,我想在其中创建一个包含以下内容的.htaccess文件: Order deny,allow Deny from all <FilesMatch "\.(jpg|gif|png)$"> Order Deny,Allow Allow from all </FilesMatch&
find / -type d -name 'uploads'
我得到了一个很长的目录列表,其中有一个上传目录
现在,我想在其中创建一个包含以下内容的.htaccess文件:
Order deny,allow
Deny from all
<FilesMatch "\.(jpg|gif|png)$">
Order Deny,Allow
Allow from all
</FilesMatch>
订单拒绝,允许
全盘否定
命令拒绝,允许
通融
有人能帮助plz吗?如果您使用bash作为shell,您可以这样做:
cat > /path/to/.htaccess <<EOF
Order deny,allow
Deny from all
<FilesMatch "\.(jpg|gif|png)$">
Order Deny,Allow
Allow from all
</FilesMatch>
EOF
cat>/path/to/.htaccessFind可用于在特定路径下每个目录的上下文中执行命令
以下命令将template.htaccess复制到与查找条件匹配的每个目录中。您必须创建.htaccess.template并在下面的命令中修改其路径:
find / -type d -name 'uploads' -exec cp /home/user/.htaccess.template {}/.htaccess \;
'find/-type d-name'uploads'中的i的`
做
触摸$i/.htaccess
echo“Order deny,allow\ndey from all\n\nOrder deny,allow\n\tAllow from all”>.htaccess
完成
在这方面你需要相当小心。如果任何路径名中有空格,它将无法正常运行。
for i in `find / -type d -name 'uploads'`
do
touch $i/.htaccess
echo "Order deny,allow\nDeny from all\n<FilesMatch "\.(jpg|gif|png)$">\nOrder Deny,Allow\n\tAllow from all\n</FilesMatch>">.htaccess
done