我有以下场景:
计算机 A: 198.51.100.8
, 网络掩码255.255.255.0
计算机 B: 203.0.113.9
, 网络掩码255.255.255.0
两台计算机在同一个局域网段上;在这两种情况下都没有指定默认网关。
为了让这两台计算机相互通信,我添加了两条静态路由,如下所示:
route add 203.0.113.9 mask 255.255.255.255 198.51.100.8
Run Code Online (Sandbox Code Playgroud)
但是,我更愿意通过指定网络接口而不是指定网关 IP 地址来添加静态路由。
Linux 可以通过使用以下命令来实现这一点:
ip route add 203.0.113.9 dev eth0
Run Code Online (Sandbox Code Playgroud)
在 FreeBSD 中类似:
route add 203.0.113.9/32 -iface fxp0 -cloning
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何使用 Windows 执行此操作。理想情况下,我想做类似的事情:
route add 203.0.113.9 mask 255.255.255.255 if 2
Run Code Online (Sandbox Code Playgroud)
但这只是打印出route
命令的用法,这告诉我我做错了。我也尝试使用netsh
,它告诉我:
> netsh routing ip add persistentroute 203.0.113.9 255.255.255.255 "Local Area Connection"
Specify the next-hop for non point-to-point interfaces.
Run Code Online (Sandbox Code Playgroud)
有什么想法或建议吗?
更新 …
我有一个使用 mail() 函数发送邮件的 php 文件。问题是其中一种表单发送到在我的服务器上注册的域,同时在另一台服务器上处理邮件。Postfix 只在本地查找。当它找不到电子邮件地址时,它会拒绝该邮件。如何配置 postfix 以通过 Internet 而不是本地向所有域发送邮件?
好的。所以这根本不是后缀问题。我只需要从命令行关闭到该域的邮件。对于需要该命令的任何人(至少在我的系统上):
/usr/local/psa/bin/domain --update example.com -mail_service false
Run Code Online (Sandbox Code Playgroud) 我有一个用 utf8 编码的 bash 脚本。
在脚本中,我使用 sed 命令§
作为分隔符。
现在,当我运行执行此脚本时会sed
抱怨分隔符。
如果我使用普通字符作为 ex 的分隔符,@
那么一切正常。
我已经在 putty[set utf8 in putty] 中查看了脚本,并且字符看起来很好。
还有来自locale
命令的Linux 默认字符集显示
LC_CSET=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)
可能出了什么问题?
早些时候,我曾经对 shell 脚本使用 windows-1252 编码,这曾经有效。
我使用 rsync(rsync-3.0.6-5.el6_0.1.x86_64
在 Scientific Linux 6 上)将文件从 VFAT 磁盘传输到 NFS 安装的 ext3 文件系统。我在 ext3 系统上设置了 ACL,并且在创建新文件或目录(通过 NFS 挂载,通过命令行或 Nautilus)时,一切都按预期工作。但是当 rsync-ing 或 cp-ing 时,不会为 ext3 分区上复制的文件创建 ACL。
背景是 VFAT 来自相机,间歇性安装,并且不会为目录或文件创建 acl。有没有办法 rsync(甚至复制)让 ie 默认 ACL 规则将 ACL 应用于 rsync-ed 或 cp-ed 文件和目录?
我有一个包含许多文件的文件夹。我想删除超过 30 天的文件,所以我使用以下命令:
find cache/ -mtime +30 -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)
但是我的 SSH 会话在命令完成之前断开连接。
如何限制一次删除的文件数量?例如:
find cache/ -mtime +30 -LIMIT 10000 -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)