当我搜索手册页时,搜索区分大小写,但仅限于大写字母。例如,x将匹配x而X而X只匹配x。这是man-dbman的版本,默认用于 Fedora 派生系统,也可用于其他系统。 man man说默认寻呼机是less -s. $LESS未在环境中定义,my$PAGER只是less,并且我没有 less 的别名。
这不是我less自己调用时的行为。
无论如何,在使用时是否强制小写字母x只匹配小写字母?xman
我刚刚遇到了 rsyslog 的 imjournal 模块的问题,可能是这里描述的问题,即 systemd 日志导致的并发症
日志在一个紧密的循环中无休止地返回相同的数据。这会导致 rsyslog 中的大量消息重复,可能会在系统资源耗尽时导致拒绝服务
无论如何,它确实使处理器最大程度地消除了几个月前的重复消息。我没有意识到 rsyslog 和 journald 在默认情况下是如此紧密耦合,所以我重新配置了前者,使用更传统、更高效的实时套接字作为输入,按照以下说明:
$ModLoad imuxsock
$OmitLocalLogging off
Run Code Online (Sandbox Code Playgroud)
就创建和使用套接字而言,这似乎有效。但是,我在测试它时注意到了一个奇怪的事情。
> logger "hello world"
Run Code Online (Sandbox Code Playgroud)
结果在 中/var/log/syslog,仅在 中提到过一次rsyslog.conf:
Apr 17 10:35:45 pidora logger: hello world
Apr 17 10:35:45 pidora logger: hello world
Run Code Online (Sandbox Code Playgroud)
该消息被重复,似乎所有其他消息也是如此。有的完全一样,有的只有一个方面不同:
Apr 17 10:42:26 pidora systemd[1]: Stopping System Time Synchronized.
Apr 17 10:42:26 pidora systemd: Stopping System Time Synchronized.
Run Code Online (Sandbox Code Playgroud)
该[1]是PID。我相信正在发生的事情是 rsyslog 从应用程序获取一次消息,然后从 journald 再次获取消息。 …
我的终端模拟器中的颜色有问题。我LXTerminal用作我的终端模拟器和LXDE我的桌面环境。
以下命令应该在灰色背景上打印红色文本:
printf "\n\033[1;31;40m"hello"\033[00m\n\n"
Run Code Online (Sandbox Code Playgroud)
但这不起作用。缺少灰色背景(红色文本可以)。在我的旧机器 ( Gnome/Gnome Terminal) 上一切正常
我已经尝试安装其他几个终端模拟器,但问题仍然存在。我什至不确定这个问题是否与终端模拟器有关,还是其他什么。在控制台 (CTRL+ALT+F1) 中,背景灰色在任何一台机器上都不起作用)
此问题仅限于灰色背景。所有其他颜色都可以正常工作,例如以下在绿色背景上打印红色文本。
printf "\n\033[1;31;42m"hello"\033[00m\n\n"
Run Code Online (Sandbox Code Playgroud)
我将不胜感激任何帮助。我什至不知道从哪里开始故障排除。
我只是在阅读 iptables,最后。我有点困惑,因为来自过滤器表的输入链(已安装,fedora 17)如下所示:
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT udp -- anywhere 224.0.0.251 state NEW udp dpt:mdns
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Run Code Online (Sandbox Code Playgroud)
根据我一直在阅读的内容,第三条规则应该接受任何内容,但事实并非如此(我必须禁用 iptables 以允许访问 sshd 或 https 服务器)。所有其他表的所有其他链都是策略 ACCEPT,没有规则,除了过滤器 FORWARD 拒绝所有内容。
那么 ACCEPT 到底有什么作用呢?
iptables -v -L
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
36625 38M ACCEPT all -- any …Run Code Online (Sandbox Code Playgroud) 我有一组目录,其中一些包含 makefile,一些 makefile 有clean目标。在父目录中,我有一个简单的脚本:
#!/bin/bash
for f in *; do
if [[ -d $f && -f $f/makefile ]]; then
echo "Making clean in $f..."
make -f $f/makefile clean
fi
done
Run Code Online (Sandbox Code Playgroud)
当它使用没有(定义的)“干净”目标的 makefile 访问目录时,这会做一件奇怪的事情。例如,给定两个目录,one和two,包含;
一个/makefile
clean:
-rm *.x
Run Code Online (Sandbox Code Playgroud)
两个/makefile
clean:
Run Code Online (Sandbox Code Playgroud)
在第二种情况下,“clean”没有指令,所以如果你运行“make clean”,two你会得到:
make: Nothing to be done for `clean'.
Run Code Online (Sandbox Code Playgroud)
对比如果没有“干净”:
make: *** No rule to make target `clean'. Stop.
Run Code Online (Sandbox Code Playgroud)
但是,对于我将要描述的问题,无论目标存在但未定义或不存在,结果都是相同的。clean.sh从父目录运行;
Making clean in one...
rm *.x
rm: cannot remove `*.x': No …Run Code Online (Sandbox Code Playgroud) 我找到了测试 Bash 中是否存在错误的指南。即,当
x='() { :;}; echo VULNERABLE' bash -c x
Run Code Online (Sandbox Code Playgroud)
不返回任何东西,它很脆弱。但是有没有像 C 中那样 bash 可以返回一些东西但用户看不到它的情况?
我正在设置远程服务器。该sshd配置为仅使用公钥。远程机器上有两个相同的帐户.ssh/authorized_keys,因此我可以使用相同的密钥登录。两者之一是 root,当我尝试时:
ssh -i /path/to/privatekey root@remote.serverRun Code Online (Sandbox Code Playgroud)
我进去,没问题。但是,当我尝试其他(非特权)用户时:
ssh -i /path/to/privatekey bob@remote.serverRun Code Online (Sandbox Code Playgroud)
它失败。 -v显示:
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering DSA public key: /path/to/privatekey
debug1: Authentications that can continue: publickey
debug1: Trying private key: /path/to/privatekey
**debug1: key_parse_private_pem: PEM_read_PrivateKey failed**
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/path/to/privatekey':
Run Code Online (Sandbox Code Playgroud)
成功登录 root@server 时不会出现星号行。这也很奇怪,因为ssh-agent已经有了这个密钥的密码;我没有被问到 root@server 登录名。失败的 …
运行iftop5 秒钟,捕获屏幕截图并将其保存到文件中。
iftop 是一个用于可视化网络流量的漂亮程序,但它没有批处理模式,我可以运行它几秒钟并将输出捕获到文件中。
screen创建虚拟显示并iftop在其中运行之类的命令。screendump) 来截取screen.关于我该怎么做的任何想法?
这是来自 linux syslog 的一行:
watchdog[2423]: shutting down the system because of error 101
Run Code Online (Sandbox Code Playgroud)
但是,在网上和中搜索后man watchdog,我找不到任何关于错误代码的讨论或解释。有没有这样的事情?
这是我对这个问题的评论之一,关于bc在 shell 脚本中的使用。 bc大量换行,例如:
> num=$(echo 6^6^3 | bc)
> echo $num
12041208676482351082020900568572834033367326934574532243581212211450\ 20555710636789704085475234591191603986789604949502079328192358826561\ 895781636115334656050057189523456
Run Code Online (Sandbox Code Playgroud)
但是请注意,它们并不是变量中的真正换行符——或者至少如果不加引号使用的话,它们就不是换行符。例如,在分配中使用更多管道进行鬼混,例如:
num=$(echo 6^6^3 | bc | perl -pne 's/\\\n//g')
Run Code Online (Sandbox Code Playgroud)
我意识到,虽然确实是一个\n在bc输出,检查echo $num > tmp.txt与hexdump示出了\n(ASCII 10)具有绝对成为变量赋值的空间(ASCII 32)。
或者至少,在 unquoted 的输出中$num >。这是为什么?
正如 fedorqui 指出的那样,如果您使用引号: echo "$num",您将再次获得换行符。通过检查hexdumpecho $num > tmp.1和echo "$num" > tmp.2hexdump之间的区别,这一点很明显;前者包含\(反斜杠空格)而后者包含\\n(反斜杠换行符)。