tail -f bar/somefile.log
当 somefile.log 不存在时会立即失败。如何让 tail 无限期地等待创建该文件(稍后会发生)?
更新:使用-F
,我看到:
tail: cannot open `bar/somefile.log' for reading: No such file or directory
tail: cannot watch parent directory of `bar/somefile.log': No such file or directory
Run Code Online (Sandbox Code Playgroud)
因为bar
尚不存在(稍后将创建)。当bar
创建somefile.log
并被触摸时,tail 根本没有接受更改。
从这个维基页面:
WPA 和 WPA2 使用从 EAPOL 握手派生的密钥来加密流量。除非您尝试解密的会话的所有四个握手数据包都存在,否则Wireshark 将无法解密流量。您可以使用显示过滤器 eapol 来定位捕获中的 EAPOL 数据包。
我注意到解密也适用于 (1, 2, 4),但不适用于 (1, 2, 3)。据我所知,前两个数据包就足够了,至少对于单播流量而言是这样的。有人可以解释一下 Wireshark 是如何处理的,换句话说,为什么只有前一个序列有效,因为第四个数据包只是一个确认?另外,是否保证 (1, 2, 4) 在 (1, 2, 3, 4) 工作时总是工作?
这是 gzipped 握手 (1, 2, 4) 和加密ARP
数据包 (SSID: SSID
, password: password
)base64
编码:
H4sICEarjU8AA2hhbmRzaGFrZS5jYXAAu3J400ImBhYGGPj/n4GhHkhfXNHr37KQgWEqAwQzMAgx 6HkAKbFWzgUMhxgZGDiYrjIwKGUqcW5g4Ldd3rcFQn5IXbWKGaiso4+RmSH+H0MngwLUZMarj4Rn S8vInf5yfO7mgrMyr9g/Jpa9XVbRdaxH58v1fO3vDCQDkCNv7mFgWMsAwXBHMoEceQ3kSMZbDFDn ITk1gBnJkeX/GDkRjmyccfus4BKl75HC2cnW1eXrjExNf66uYz+VGLl+snrF7j2EnHQy3JjDKPb9 3fOd9zT0TmofYZC4K8YQ8IkR6JaAT0zIJMjxtWaMmCEMdvwNnI5PYEYJYSTHM5EegqhggYbFhgsJ 9gJXy42PMx9JzYKEcFkcG0MJULYE2ZEGrZwHIMnASwc1GSw4mmH1JCCNQYEF7C7tjasVT+0/J3LP gie59HFL+5RDIdmZ8rGMeldN5s668eb/tp8vQ+7OrT9jPj/B7425QIGJI3Pft72dLxav8BefvcGU 7+kfABxJX+SjAgAA
解码:
$ base64 -d | gunzip > handshake.cap
Run Code Online (Sandbox Code Playgroud)
运行tshark
以查看是否正确解密了ARP
数据包:
$ tshark -r handshake.cap -o wlan.enable_decryption:TRUE -o …
Run Code Online (Sandbox Code Playgroud) 我可以通过以下方式操纵这样的值:
ip route change ... initcwnd 10
Run Code Online (Sandbox Code Playgroud)
然后有一个反馈:
ip route show
Run Code Online (Sandbox Code Playgroud)
但是在任何修改之前的默认值呢?有没有办法从系统中查询该值?
或者,您能否提供一个有效的参考,显示每个内核版本的默认硬编码值?
的输出wmctrl -lx
如下所示:
0x020002f5 0 Plasma.Plasma lnx plasma-desktop
0x02a00015 0 okular.Okular lnx TCP/IP Protocol Suite – Okular
0x032000fe 1 amarok.Amarok lnx Billy Talent - This Suffering :: Amarok
0x03e00001 0 Google-chrome.Google-chrome lnx wmctrl based on class - Google Search - Google Chrome
0x04400001 1 Chromium.Chromium lnx openSUSE - Chromium
0x05400050 0 gvim.Gvim lnx activate_or_run.sh (~/bin/repo) - GVIM
0x04a0001a 0 konsole.Konsole lnx user@lnx:/home – Konsole
Run Code Online (Sandbox Code Playgroud)
我想第二列表示窗口类。
现在我想根据它的类而不是它的标题来激活窗口。假设选择的窗口是gvim.Gvim
。
所以我尝试了wmctrl -ax gvim.Gvim
不同的组合,gvim.Gvim
用引号括起来,只使用gvim
然后Gvim
但没有成功。 …
来自man bash
:
一个简单的命令是一系列可选的变量赋值 后跟空格分隔的单词和重定向,以及 由控制操作员终止。第一个词指定 要执行的命令,并作为参数零传递。这 剩余的单词作为参数传递给调用的命令。
所以这样写是完全合法的:
foo=bar echo $foo
Run Code Online (Sandbox Code Playgroud)
但它不像我预期的那样工作(它只打印一个换行符)。这对我来说很奇怪,因为:
$ foo=bar printenv
foo=bar
TERM=rxvt-unicode
[...]
Run Code Online (Sandbox Code Playgroud)
有人可以解释我哪里做错了吗?
我正在使用 Emacs,我发现默认框架(又名窗口)标题非常烦人,尤其是user@host
当我打开了多个框架时。搜索周围我发现可以通过编辑变量来改变它frame-title-format
;所以我做到了,我将其更改为"%b"
(例如)并且有效。
现在的问题是:正好 30 秒后,我最小化了标题切换回的框架,user@host
直到我再次将注意力集中在该框架上。
我尝试在我的中写~/.emacs
:
(setq frame-title-format "%b")
Run Code Online (Sandbox Code Playgroud)
我什至尝试自定义它:
(自定义设置变量 ; [...] '(框架标题格式“%b”) )
没有运气。
细节:
GNU Emacs 23.2.1
Debian 挤压
开箱
我错过了什么吗?
当我运行以下命令时:
tar -c music.tar iTunes\ Music/
Run Code Online (Sandbox Code Playgroud)
但我得到以下垃圾输出。b????n5???z???V_o?P?O3|?b???i?Pl?jH??8??z5??????~D|_($?|b ??:???š`?s7 ?%z\??Jj????K????Z??V?)?A4 2??}?4?(??#?P??ykX ?Q?e<?w?U??Y?8n??s?1B??Ff??X9Lb=8??@????|?h?d???I??L?] ??????-????gx??l????n?cs{f???f???6?M(?u??6??|pX?nH?V?? ?$???????7??n?H???Yua??Xn?;{?JP?????7?@R?f_?j?*????3M?z? s9???"??0?$1??7:w???????|D_?????EjtO????????P?Y?-? xVF???Uwky? u?Yt?h ???K ?nJh?]K?J-?2??#Q????~?~B)O?M???“??6#?Q,uNG?~? ?4t?>=^C
我真的不在乎我是否只是缺少一些字体库。但我还没有完成它,因为......好吧,我不确定它在做什么。
任何帮助表示赞赏。