Linux:找到一个目录并在其中创建一个文件
Linux: Find a directory and creat a file in it
我想在服务器上的所有 'uploads' 目录中创建一个 .htaccess 文件。
我从这个开始:
find / -type d -name 'uploads'
我得到了一长串包含上传目录的所有目录。
现在我想在其中创建一个包含以下内容的 .htaccess 文件:
Order deny,allow
Deny from all
<FilesMatch "\.(jpg|gif|png)$">
Order Deny,Allow
Allow from all
</FilesMatch>
有人能帮忙吗?
如果您使用 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
命令将其输入复制到输出。在这种情况下,它的输出由 >
后面的文件名决定;换句话说,它是您要写入的 .htaccess
文件的完整路径。
<<EOF
意味着 cat
应该从后面的内容中获取输入,直到它再次遇到字符串 EOF
。这就是为什么 EOF
再次出现在您要复制到文件中的输入的末尾。
创建此文件一次后,您可以使用 find
将其复制到任何需要的地方,使用 -exec
开关,如果这是您想要的。
查找可用于在特定路径下的每个目录的上下文中执行命令。
以下命令会将模板 .htaccess 复制到符合查找条件的每个目录中。您必须创建 .htaccess.template 并在以下命令中修改它的路径:
find / -type d -name 'uploads' -exec cp /home/user/.htaccess.template {}/.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
我想在服务器上的所有 'uploads' 目录中创建一个 .htaccess 文件。
我从这个开始:
find / -type d -name 'uploads'
我得到了一长串包含上传目录的所有目录。
现在我想在其中创建一个包含以下内容的 .htaccess 文件:
Order deny,allow
Deny from all
<FilesMatch "\.(jpg|gif|png)$">
Order Deny,Allow
Allow from all
</FilesMatch>
有人能帮忙吗?
如果您使用 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
命令将其输入复制到输出。在这种情况下,它的输出由 >
后面的文件名决定;换句话说,它是您要写入的 .htaccess
文件的完整路径。
<<EOF
意味着 cat
应该从后面的内容中获取输入,直到它再次遇到字符串 EOF
。这就是为什么 EOF
再次出现在您要复制到文件中的输入的末尾。
创建此文件一次后,您可以使用 find
将其复制到任何需要的地方,使用 -exec
开关,如果这是您想要的。
查找可用于在特定路径下的每个目录的上下文中执行命令。
以下命令会将模板 .htaccess 复制到符合查找条件的每个目录中。您必须创建 .htaccess.template 并在以下命令中修改它的路径:
find / -type d -name 'uploads' -exec cp /home/user/.htaccess.template {}/.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