#103 dd 替代品
Linux 2022-12-25dd if=image.iso of=/dev/sdb bs=4M
# 用 cat 就行:
cat image.iso >/dev/sdb
# 如果想要进度信息:
cat image.iso | pv >/dev/sdb
dd if=/dev/zero of=image.iso bs=4MB count=25
# 用 head:
head -c 100MB /dev/zero >image.iso
coding in a complicated world
dd if=image.iso of=/dev/sdb bs=4M
# 用 cat 就行:
cat image.iso >/dev/sdb
# 如果想要进度信息:
cat image.iso | pv >/dev/sdb
dd if=/dev/zero of=image.iso bs=4MB count=25
# 用 head:
head -c 100MB /dev/zero >image.iso
我一直用 zsh + omz,但是毕竟 bash 才是大多数情况下的默认 Shell。
zsh 和 bash 都是用上下键来搜索历史记录,但是不同的是,zsh 会利用已经输入部分做前缀匹配,而 bash 不会,只是简单的上一条、下一条。
今天学会一个方法(Bash history search, partial + up-arrow):
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
凑活凑活吧。
已经加到我个人的 bash 配置中。
我们编写程序 write 数据到文件中时,其实数据不会立马写入磁盘,而是会经过层层缓存。每层缓存都有自己的刷新时机,每层缓存都刷新后才会写入磁盘。这些缓存的存在是为了加速读写操作,因为如果每次读写都对应真实磁盘操作,那么读写的效率会大大降低。带来的坏处是如果期间发生掉电或者别的故障,还未写入磁盘的数据就丢失了。对于数据安全敏感的应用,比如数据库,比如交易程序,这是无法忍受的。所以操作系统提供了保证文件落盘的机制。我们来看下这些机制的原理和使用。
Debian / Ubuntu 和 RHEL / CentOS 衍生版本太多,就不列了。
我们常见的 Linux 发行版应该差不多都能找到自己的位置。
图形库主要就是两种:GTK,Qt
Restart GNOME without rebooting
Ctrl–Alt–Backspace
sudo /etc/init.d/gdm restart
killall gnome-panel
以上方法没有用,下面这个方法挺好的 (My Choice):
killall -HUP gnome-shell
在桌面还有响应的时候(比如桌面组件出了一些乱码之类的问题):
Alt + F2, and restart/r
Left/Right:快进, 快退Up/Down:快进, 快退[/]:倍速 x0.9, x1.1{/}:倍速 x0.5, x2Space (p):暂停/播放,/.: 暂停,然后逐帧前进,逐帧后退9/0: 音量s: 截图q: 退出v: 字幕开关j: 切换字幕o: 显示进度f: 全屏开关i: 显示视频信息#: 切换音轨l: 设置循环 A-B 点, 循环播放,清除循环系统配置:/etc/mpv/mpv.conf
cat /etc/mpv/mpv.conf
hwdec=vaapi
用户配置 (需要自己创建):
~/.config/mpv/mpv.conf~/.config/mpv/input.conf~/.config/mpv/fonts.conf~/.config/mpv/script-opts/osc.confno-border
idle=yes
osd-font-size=24
save-position-on-quit
hwdec=auto
screenshot-directory=~/Pictures/Screenshots
screenshot-format=png
screenshot-template="%tY%tm%td-%tH%tM%tS-mpv-%F-%wH%wM%wS%wT"
mkdir -p ~/.config/mpv/scripts ~/.config/mpv/script-opts
find ~/.config/mpv/ -ls
GH=https://raw.githubusercontent.com
wget $GH/jonniek/mpv-menu/master/menu.lua -P ~/.config/mpv/scripts/
wget $GH/jonniek/mpv-playlistmanager/master/playlistmanager.lua -P ~/.config/mpv/scripts/
wget $GH/jonniek/mpv-playlistmanager/master/playlistmanager.conf -P ~/.config/mpv/script-opts/
wget $GH/jonniek/mpv-playlistmanager/master/menu.json -P ~/.config/mpv/script-opts/
今天发现一个奇怪的现象,相同的代码在 CentOS 7 服务器上发起 HTTP 请求 3 秒之后超时,报 “TimeoutError: [Errno 110] Connection timed out”。
在我本地就按我们的定义的超时时间 5 秒超时,报 “tornado.simple_httpclient.HTTPTimeoutError: Timeout while connecting”。
set file capabilities, 设置文件权限
setcap
usage: setcap [-q] [-v] [-n <rootid>] (-r|-|<caps>) <filename> [ ... (-r|-|<capsN>) <filenameN> ]
Note <filename> must be a regular (non-symlink) file.

flowchart LR
WRT54G --> Alchemy --> DD-WRT
WRT54G --> HyperWRT --> Tomato --> ASUSWRT --> Asuswrt-Merlin[Asuswrt-Merlin 梅林]
ASUSWRT --> Padavan[Padavan 老毛子]
WRT54G --> OpenWRT
2014 年,作为 Linux 嵌入式发行版发行。
2015 年,与 LibreWRT 项目(研究项目)合并。
2017 年,基于 LEDE 17。
2020 年,基于 OpenWrt 19。
iKuai / iKuic (海外)
北京丰台一家网络设备厂商的闭源路由器系统,有商业版和免费版。
https://www.ikuai8.com/component/download
常规的系统自带工具就不提了。
htop 代替 topjq JSONbat 代替 catdog DNS 查询tldr 替代 man 文档ack ag 代替 grepfzffuckmtr 代替 traceroutehttppie 代替 wget 和 curlncdu 代替 duduf 代替 dfpydf 代替 dffd 代替 findeva 代替 lsneovim 代替 vimlftp 代替 ftparia2nnn