我想Insert在 zsh 中完全禁用密钥。这个键没有什么实际用处,只是当我不小心敲到它的时候才会让我烦恼。
我找到了如何删除绑定overwrite-mode
bindkey -r "^[[2~"
Run Code Online (Sandbox Code Playgroud)
但现在,当我实际点击 时,它会打印在光标位置上Insert,而不是激活覆盖模式。~
当我按下 时,会发生类似的事情F12,它与任何东西都没有绑定。它还打印~.
如何Insert完全禁用该键(以及F12),以便按下它不会在 zsh 中执行任何操作?
我不想Insert全局禁用密钥,因为其他一些程序实际上可能将它用于有用的目的。
我想列出所有/usr/使用ls. 我不是ls直接打电话,而是通过xargs. 此外,我正在使用xargs参数-L并-P利用我的所有内核。
find /usr/ -type f -print0 | xargs -0 -L16 -P4 ls -lAd | sort -k9 > /tmp/aaa
Run Code Online (Sandbox Code Playgroud)
上面的命令按预期工作。它产生不错的输出。但是,当我将行-L数参数从 16 增加到 64 时:
find /usr/ -type f -print0 | xargs -0 -L64 -P4 ls -lAd | sort -k9 > /tmp/bbb
Run Code Online (Sandbox Code Playgroud)
结果输出都是乱码。我的意思是,输出不再从新行开始,新行从“上一个”行的中间开始并且都混在一起:
-rw-r--r-- 1 root root 5455 Nov 16 2010 /usr/shareonts/X11/encodings/armscii-8.enc.gz
-rw-r--r-- 1 root root 1285 May 29 2016-rw-r--r-- 1 root root 6205 …Run Code Online (Sandbox Code Playgroud) 假设我的服务器有 IP 地址11.22.33.44和主机名server1.mydomain.com。
当我 ping 时server1.mydomain.com,看起来好像 ping 实际上使用的是公共 IP 地址:
# ping server1.mydomain.com
PING server1.mydomain.com (11.22.33.44) 56(84) bytes of data.
64 bytes from server1.mydomain.com (11.22.33.44): icmp_seq=1 ttl=64 time=0.014 ms
64 bytes from server1.mydomain.com (11.22.33.44): icmp_seq=2 ttl=64 time=0.012 ms
64 bytes from server1.mydomain.com (11.22.33.44): icmp_seq=3 ttl=64 time=0.011 ms
Run Code Online (Sandbox Code Playgroud)
但是使用tcpdump,我看不到ICMP流量eth0,而是看到 ping 通过lo:
# tcpdump -i lo
listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes
08:43:49.076918 IP …Run Code Online (Sandbox Code Playgroud) 给定播客rss feed,如何从命令行下载完整的播客?
我不是在寻找成熟的命令行播客客户端。我只需要一个一次性命令即可以 mp3 格式下载给定播客的完整历史记录(所有剧集)。
例如,这是一个包含近 200 集的 RSS 提要:
http://www.internethistorypodcast.com/feed/
Run Code Online (Sandbox Code Playgroud)
如何将它们全部下载为 mp3 文件?
是否可以zsh在使用TAB完成时告诉不自动完成某些命令?
例子:
我输入chm <tab>和 zsh 完成为我提供了两个选项:
chmem chmod
Run Code Online (Sandbox Code Playgroud)
我从不使用chmem. 而不是有两个选项,我宁愿chm自动完成到chmod.
dmesg有-T打印人类可读时间戳的选项--time-format,新版本有选项,可以更改时间格式,例如:
--time-format iso
Run Code Online (Sandbox Code Playgroud)
不幸的是,iso时间格式也不太可读。我可以使用标准date语法定义我自己的时间格式吗?IE:
date +%F-%T
Run Code Online (Sandbox Code Playgroud) 基于我刚才的问题,从一答的Arkadiusz Drabczyk,我已经设置了fbpanel的3种不同的情况下,单独为每个我的3个监视器:
这就是我启动 fbpanel 的方式:
fbpanel -x 0 --profile left &
fbpanel -x 1 --profile center &
fbpanel -x 2 --profile right &
Run Code Online (Sandbox Code Playgroud)
3 个配置文件left,center并right在我的~/.config/fbpanel/. 配置文件center包含taskbar插件的定义,即当前打开的活动窗口在选项卡上可见,并且可以在 (alt+tab) 或“最小化”之间切换
Plugin {
type = taskbar
expand = true
config {
ShowIconified = true
ShowMapped = true
ShowAllDesks = false
tooltips = true
IconsOnly = false
MaxTaskWidth = 150
}
Run Code Online (Sandbox Code Playgroud)
但是taskbar中央监视器上的包含所有应用程序(来自所有 3 个监视器)。所以我有一个可以taskbar容纳 …
我的默认 umask 是077. 当我创建目录时,它具有权限700:
mkdir AA
$ stat -c'%A %n' AA/
drwx------ AA/
Run Code Online (Sandbox Code Playgroud)
现在我想将默认权限递归设置为 750:
setfacl -R --default --modify g::rx,o::--- AA
Run Code Online (Sandbox Code Playgroud)
并确认其按预期工作:
$ touch AA/zz
$ stat -c'%A %n' AA/zz
-rw-r----- AA/zz
Run Code Online (Sandbox Code Playgroud)
现在我想ZZ在我的新目录中复制另一个现有目录AA:
$ stat -c'%A %n' ZZ ZZ/zz
drwx------ ZZ
-rw------- ZZ/zz
Run Code Online (Sandbox Code Playgroud)
现有目录具有权限700并且内部文件具有600.
$ cp -r --no-preserve=all ZZ/ AA/
$ stat -c'%A %n' AA/ZZ AA/ZZ/zz
drwx------ AA/ZZ
-rw------- AA/ZZ/zz
Run Code Online (Sandbox Code Playgroud)
但我的 umask 不被尊重,即使我曾经--no-preserve=all专门不从现有的ZZ.
如何使行为与我用来创建新文件 …
当打开特定的 pdf 文件时,evince决定以“演示模式”打开它。
我在手册页中看到 evince 可以-s选择以演示模式打开,但我没有调用它。我只是将所有 pdf 文件打开为evince file.pdf
不知何故,evince 自行决定以演示模式打开这种特殊类型的 pdf。
其他 pdf 在普通窗口中打开效果很好。
我怎样才能禁用这种行为?
我有一个以下格式的文本文件,我需要根据日期对行进行排序。有没有一些简单的方法来做到这一点(最好是在 bash 中)?
2013-May-30 2
2013-May-21 10
2013-Jun-27 8
2013-Jun-18 9
2013-Jun-09 17
2013-May-20 21
2013-Jun-10 1
2013-Jun-01 2
2013-Aug-09 6
2013-Aug-08 5
2013-Aug-07 2
...
Run Code Online (Sandbox Code Playgroud)