之前零零散散写过一些经验分享的文章,不系统,对读者也不友好。现在整理到一块,随时更新,如果值得深入还可以单独写文章。主要针对自由/开源软件,也可能涉及科学软件、商业软件。

目标:今年整理50条在中文圈里稀罕的小技巧。

  1. Grep可以用--include="*.md"指定搜索的文件类型,比如grep Chris -r . --include="*.md",在当前目录递归的检索*.md文件中的“Chris”。

  2. 对于大规模的搜索,简单的把grep命令换成ag (当然前提是安装了这个软件),可以大幅加速搜索速度。还有一个最新的软件ripgrep,据称比ag (The Silver Searcher)更快。

  3. Fontconfig的配置文件推荐放在~/.config/fontconfig/fonts.conf里,放在别处是废弃的用法,可能导致出错。

  4. Cron脚本不执行的一个原因:Cron脚本不能不能包含后缀名,如果你不确定写的对不对,可以用run-parts --test /etc/cron.monthly/测试一下。askubuntu上的解答

  5. 7-Zip的-r会递归的在目录里搜索制定的路径,而不是我们期望的在指定目录中递归,所以不要用。详解

  6. Markdown中,用#.代表编号只在pandoc中支持,不要期望它在其他地方获得支持,对于非pandoc的情况用传统的1.是正道。

  7. 为了移动端友好没有必要在robots.txt中禁止抓取CSS等文件。详解

  8. 在服务端打开一次性认证的方法是在配置文件中加入"auth":true详解

  9. 对于MIUI 8,开启开发者模式后,选择不使用锁屏界面,就不用看锁屏画报了。我之前写过

  10. 除非有好的设备并且非常认真听,320 Kbps的音质已经足够好了。我的经验

  11. 在MS Word中,=rand(8, 10)可以生成随机的文字,=lorem(8, 10)生成的是Lorem ipsum。详解

  12. ORCA计算金属配合物遇到SCF不收敛的情况,可以使用! SlowConv,如果不行可以试试! KDIIS更多信息

  13. 多进程使用下载工具wget的方法:cat /tmp/url.txt | xargs -n 1 -P 8 wget -c;url.txt里一行一个地址,-P 8表示最多同时运行8个进程,相比加&后台运行的方法可以指定进程数。

  14. MS Word里用Ctrl + *(实际是Ctrl + Shift + 8)可以显示额外的格式符号,比如空格用·表示,对于一些编辑工作可能有用。(Emacs里等价的功能是M-x whitespace-mode)。

  15. Bash中如果要实现某条指令成功后再并行运行几条命令,可以这样写:echo && { sleep 12 & sleep 12 & }; wait; echo && { sleep 12 & sleep 12 &};

  16. 同一个域名下混合使用HTTP和HTTPS会导致很多问题,不要这样。一个我的折腾实例

  17. MPV如果要批量播放视频,可以在视频所在目录里运行mpv *

  18. 可以用ffmpeg合并视频,一个例子是:

1
ffmpeg -i "Cloud.Atlas.2012.RUS.Blu-Ray.1080p.AC3.x264.mkv" -i "Cloud.Atlas.2012.English.Audio.AC3.DD5.1.448K.Angrybirdy@CHD.ac3" -c copy -map 0:0 -map 1:0 out.mkv
  1. *NIX世界的cut命令很好用,有时候比正则好用,而且可以写一些比较“dirty”的代码。

  2. grep -o可以只显示匹配的部分。

  3. Octave里在向量最后增加一个元素的写法是a(end + 1) = 5;,删除最后一个元素的写法是a(end) = [];手册里的解释

  4. Shadowsocks的“ss-stunnel”是用来进行转发的,数据走的是Shadowsocks的协议,用法类似ss-tunnel.exe -u -c "C:/msys64/etc/shadowsocks/config.json" -L "8.8.8.8:53" -l 53,实现在本地的53端口起一个DNS服务器,而DNS的解析被转发到谷歌的DNS。

  5. 永久性的将Word的宏转为文字:Ctrl+Shift+F9出处

  6. 批量复制URL的Firefox扩展Copy Link URL

  7. 将URL保存到文件后用wget的-i参数批量下载,比如wget -i ./list.txt

  8. 对于v1.06以上版本的GNU bc,设置BC_LINE_LENGTH可以控制自动断行的特性,例子

1
BC_LINE_LENGTH=0 bc -l <<< "scale = 100; a(1) * 4
  1. 开启mpv硬件加速的方法:在配置文件里写入hwdec=auto。对于Windows,配置文件是配置文件是%appdata%/mpv/mpv.conf