如何使用 `scp` 部署网站的 `.htaccess` 文件?
-
09-06-2019 - |
题
我目前正在使用以下命令上传我的网站内容:
scp -r web/* user@site.com:site.com/
除了不发送 .htaccess 文件之外,这非常有效。据推测,这是因为它被隐藏了。
我尝试添加第二行来明确发送文件:
scp -r web/.htaccess user@site.com:site.com/.htaccess
这非常有效,只是现在我必须输入密码两次。
关于如何仅使用 1 或 0 条密码进行此部署,您有什么想法吗?
解决方案
其他提示
一些背景信息:这 *
通配符与所谓的“点文件”不匹配(即名称以点开头的文件)。
有些 shell 允许您设置一个选项,以便 将要 然而,匹配点文件,这样做会带来很多痛苦:现在 *
也将匹配 .
(当前目录)和 ..
(父目录),这通常不是预期的,并且可能非常令人惊讶!(rm -rf *
删除父目录可能不是开始新的一天的最佳方式......)
警告一句 - 不要尝试匹配点文件(例如 .htaccess
) 和 .*
- 这也不方便也匹配 ..
, ,并将导致将路径上的所有文件复制到根目录。我这样做过一次(与 rm
, ,不少!)我不得不重建服务器,因为我弄乱了 /var
.
@jwmittag:
我刚刚在 Ubuntu 上做了测试 .*
当我使用时匹配 cp
. 。这是一个例子:
root@krash:/# mkdir a
root@krash:/# mkdir b
root@krash:/# mkdir a/c
root@krash:/# touch a/d
root@krash:/# touch a/c/e
root@krash:/# cp -r a/c/.* b
cp: will not create hard link `b/c' to directory `b/.'
root@krash:/# ls b
d e
如果 .*
不匹配 ..
, , 然后 d
不应该在 b
.
不隶属于 StackOverflow