/etc/networks文件的实际用途是什么?据我了解,可以在此文件中为网络命名。例如:
root@fw-test:~# cat /etc/networks
default 0.0.0.0
loopback 127.0.0.0
link-local 169.254.0.0
google-dns 8.8.4.4
root@fw-test:~#
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试在ip实用程序中使用此网络名称,则它不起作用:
root@fw-test:~# ip route add google-dns via 104.236.63.1 dev eth0
Error: an inet prefix is expected rather than "google-dns".
root@fw-test:~# ip route add 8.8.4.4 via 104.236.64.1 dev eth0
root@fw-test:~#
Run Code Online (Sandbox Code Playgroud)
/etc/networks文件的实际用途是什么?
当我查看终端模拟器的长度和宽度时,stty size它长 271 个字符,高 71 行。当我通过 SSH 登录到另一台服务器并执行时stty size,它也是 271 个字符长和 71 行高。我什至可以登录一些 Cisco IOS 设备,终端仍然是 271 个字符长和 71 行高:
C1841#show terminal | i Len|Wid
Length: 71 lines, Width: 271 columns
C1841#
Run Code Online (Sandbox Code Playgroud)
现在,如果我在本地机器上调整终端模拟器(Gnome 终端)窗口的大小stty size,远程服务器和 IOS 中的“显示终端”都会显示不同的行长和行数。终端长度和宽度如何通过 SSH 和 telnet 转发?
我有一个名为变量descr可以包含字符串Blah: -> r1-ae0-2 / [123],-> s7-Gi0-0-1:1-US / Foo等等。我想要得到的-> r1-ae0-2,-> s7-Gi0-0-1:1-US部分从字符串。目前我用descr=$(grep -oP '\->\s*\S+' <<< "$descr"这个。有一个更好的方法吗?是否也可以通过参数扩展来做到这一点?
远程机器 10.10.10.1 具有名为“user”的用户的密码“asdFGH12”。即使我在“asdFGH12”字符串后输入密码“asdFGH12dasdkjlkjasdus”或任何其他字符,我也可以登录。
$ ssh -v 10.10.10.1
OpenSSH_5.2p1 FreeBSD-20090522, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to 10.10.10.1 [10.10.10.1] port 22.
debug1: Connection established.
debug1: identity file /home/user/.ssh/identity type 0
debug1: identity file /home/user/.ssh/id_rsa type -1
debug1: identity file /home/user/.ssh/id_dsa type 2
debug1: Remote protocol version 1.99, remote software version OpenSSH_4.1
debug1: match: OpenSSH_4.1 pat OpenSSH_4*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.2p1 FreeBSD-20090522
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received …Run Code Online (Sandbox Code Playgroud) 我有一个qemu虚拟机崩溃了几次,因为管理程序中的 HDD 没有剩余空间。这让我想知道是否有可能为quemu虚拟机设置日志记录/调试。我尝试使用以下-D /tmp/qemu-debug-log命令启动虚拟机:
qemu-system-i386 -D /tmp/qemu-debug-log -monitor pty -device e1000,netdev=tap0 -netdev tap,id=tap0 -m 512M -display vnc=:1 -drive file=FreeBSD10.2
Run Code Online (Sandbox Code Playgroud)
..但这甚至没有创建/tmp/qemu-debug-log文件。
此外,qemu似乎没有写入messages或内核环形缓冲区( dmesg)。为qemu虚拟机启用日志记录的最佳做法是什么?
我已经生成了en_US.utf8、et_EE.iso88591和ru_RU.utf8本地化文件。现在,如果我尝试将任何语言环境变量更改为ru_RU.utf8或en_US.utf8,那么这没有任何效果:
# locale -a
C
en_US.utf8
et_EE
et_EE.iso88591
POSIX
ru_RU.utf8
# LC_TIME=ru_RU.utf8
# locale | grep LC_TIME
LC_TIME="et_EE.iso88591"
# LC_TIME="ru_RU.utf8"
# locale | grep LC_TIME
LC_TIME="et_EE.iso88591"
#
Run Code Online (Sandbox Code Playgroud)
但是,如果我更改LANG=变量,则除LANGUAGE=和LC_ALL= 之外的所有其他变量都采用LANG=变量的值。有没有办法分别修改每个语言环境变量?另外,语言环境变量不是常规的 shell 变量,而是更像是语言环境实用程序的参数,我是否正确?
如果我test在 bash 中执行命令,test(评估条件表达式)内置实用程序将启动:
$ type test
test is a shell builtin
$ type -a test
test is a shell builtin
test is /usr/local/bin/test
test is /usr/bin/test
$
Run Code Online (Sandbox Code Playgroud)
但是,如type -a test上面的输出所示,test在 /usr/local/bin 目录中有另一个,在 /usr/bin 目录中有另一个。可执行文件是如何排序的,即总是首选内置命令,然后其余命令取决于 $PATH 变量中的目录顺序?此外,是否可以更改启动的可执行文件的顺序,例如,如果我输入test,则启动 /usr/bin/test 而不是 bash-builtin test?
我无法以root用户身份启动任何 GUI 应用程序:
# pgrep -lf Xorg
1590 /usr/bin/Xorg -br -nolisten tcp :0 vt7 -auth /var/lib/xdm/authdir/authfiles/A:0-PNnJzp
# echo $DISPLAY
:0
# xeyes
No protocol specified
Error: Can't open display: :0
# firefox
No protocol specified
No protocol specified
Error: cannot open display: :0
# xcalc
No protocol specified
Error: Can't open display: :0
#
Run Code Online (Sandbox Code Playgroud)
发行版为 openSUSE 11.2(2.6.31.5-0.1-default),X.Org X Server 版本为 1.6.5。我的 DISPLAY 变量设置正确,不是吗?任何想法可能导致这个问题?
在以下命令中,cat 获取 here-doc 的内容并将其重定向到名为 conf 的文件:
cat > conf << EOF
var1="cat"
var2="dog"
var3="hamster"
EOF
Run Code Online (Sandbox Code Playgroud)
如何理解这里的命令顺序?是否bash首先处理其他所有内容(此处为文档部分),并作为最后一步,它看起来像> conf部分?
我保留了相当长的 bash 历史记录,有时当我使用 bash 反向搜索功能(Ctrl+ r)搜索某些内容时,我最终在搜索历史记录的开头,但仍然没有找到我需要的内容,然后我想回到最后的历史文件。一种选择是使用向前搜索功能(Ctrl+ s),它更接近历史记录的末尾或 execute #,但是否还有直接移动到 bash 历史记录末尾的键盘快捷键?