记录一些常用的命令行工具,方便随时取用。
| 1
 | git remote add origin ssh://user@my.git.svr/path/to/repo
 | 
# 每次系统重启时,都会运行 ss.sh
@reboot ss.sh
- xxd
- 以十六进制形式 dump 文件内容
- xxd -b
- 以二进制形式 dump 文件内容
- xxd -r
- 从 dump 内容还原出原始文件,例如 xxd file | xxd -r和cat file的输出是一致的
- uniq
- 相同行仅打印一次
- uniq -c
- 行首插入该行重复出现的次数
- uniq -d
- 仅输出相同行
- uniq -u
- 仅输出不同行
| 1
 | grep -c 'model name' /proc/cpuinfo
 | 
例如查看 /bin 目录下的程序可能会创建哪些临时文件:
| 1
 | strings /bin/* | grep tmp
 | 
|  1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
 | core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 9788
cpu time               (seconds, -t) unlimited
max user processes              (-u) 2784
virtual memory          (kbytes, -v) unlimited
 | 
| 1
2
3
4
5
 | # bs 默认为 512 字节,单位支持 k/m (macOS 平台如此,Linux 上不一样)
# write
dd of=${path_on_disk} if=/dev/zero bs=1m count=1000
# read
dd if=${path_on_disk} of=/dev/null bs=1m
 | 
| 1
2
3
4
5
6
 | 1000+0 records in
1000+0 records out
1048576000 bytes transferred in 0.619836 secs (1691698844 bytes/sec)
1000+0 records in
1000+0 records out
1048576000 bytes transferred in 0.246972 secs (4245726816 bytes/sec)
 | 
| 1
2
3
 |               disk0               disk2               disk3       cpu    load average
    KB/t  tps  MB/s     KB/t  tps  MB/s     KB/t  tps  MB/s  us sy id   1m   5m   15m
   26.18   95  2.42    25.87    0  0.00   287.74    0  0.00   4  2 94  1.95 1.64 1.56
 | 
以下命令会自动安装 yarn 包管理工具:
| 1
 | curl --compressed -o- -L https://yarnpkg.com/install.sh | bash
 | 
参数解释:
- –compressed
- 请求压缩方式传输,节省流量、提高速度
- -o-
- -o 指定保存的文件路径,参数指定为 -则强制输出到 stdout
- -L
- 跟随重定向