小编Mar*_*ter的帖子

删除键盘映射并完全禁用 zsh 中的键

我想Insert在 zsh 中完全禁用密钥。这个键没有什么实际用处,只是当我不小心敲到它的时候才会让我烦恼。

我找到了如何删除绑定overwrite-mode

bindkey -r "^[[2~"
Run Code Online (Sandbox Code Playgroud)

但现在,当我实际点击 时,它会打印在光标位置上Insert,而不是激活覆盖模式。~

当我按下 时,会发生类似的事情F12,它与任何东西都没有绑定。它还打印~.

如何Insert完全禁用该键(以及F12),以便按下它不会在 zsh 中执行任何操作?

我不想Insert全局禁用密钥,因为其他一些程序实际上可能将它用于有用的目的。

keyboard-shortcuts zsh

5
推荐指数
1
解决办法
1264
查看次数

并行运行“xargs ls”时输出乱码

我想列出所有/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)

ls find xargs sort

5
推荐指数
1
解决办法
880
查看次数

'ping' 使用 localhost 而不是公共 IP 地址

假设我的服务器有 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)

networking routing wget ping tcpdump

5
推荐指数
1
解决办法
1131
查看次数

从 RSS 提要下载完整播客的命令行工具

给定播客rss feed,如何从命令行下载完整的播客?

我不是在寻找成熟的命令行播客客户端。我只需要一个一次性命令即可以 mp3 格式下载给定播客的完整历史记录(所有剧集)。

例如,这是一个包含近 200 集的 RSS 提要:

http://www.internethistorypodcast.com/feed/
Run Code Online (Sandbox Code Playgroud)

如何将它们全部下载为 mp3 文件?

command-line rss-aggregator

5
推荐指数
2
解决办法
2814
查看次数

忽略来自 zsh 完成的特定命令

是否可以zsh在使用TAB完成时告诉不自动完成某些命令?

例子:

我输入chm <tab>和 zsh 完成为我提供了两个选项:

chmem  chmod
Run Code Online (Sandbox Code Playgroud)

我从不使用chmem. 而不是有两个选项,我宁愿chm自动完成到chmod.

zsh autocomplete

5
推荐指数
1
解决办法
347
查看次数

dmesg:自定义时间格式

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)

date dmesg

5
推荐指数
1
解决办法
449
查看次数

多台显示器上的 Fbpanel:如何过滤每个屏幕显示的应用程序?

基于我刚才的问题,从一答的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 个配置文件leftcenterright在我的~/.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容纳 …

openbox x11 multi-monitor fbpanel

5
推荐指数
0
解决办法
210
查看次数

使用以下命令复制文件时 cp 会覆盖我的默认权限设置: cp -r --no-preserve=all

我的默认 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.

如何使行为与我用来创建新文件 …

shell permissions umask cp stat

5
推荐指数
1
解决办法
1078
查看次数

evince 在“演示模式”下打开 pdf

当打开特定的 pdf 文件时,evince决定以“演示模式”打开它。

我在手册页中看到 evince 可以-s选择以演示模式打开,但我没有调用它。我只是将所有 pdf 文件打开为evince file.pdf

不知何故,evince 自行决定以演示模式打开这种特殊类型的 pdf。

其他 pdf 在普通窗口中打开效果很好。

我怎样才能禁用这种行为?

pdf evince file-metadata

5
推荐指数
2
解决办法
320
查看次数

按天对行进行排序

我有一个以下格式的文本文件,我需要根据日期对行进行排序。有没有一些简单的方法来做到这一点(最好是在 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)

date sort

4
推荐指数
1
解决办法
4275
查看次数