在《Command Line Kung Fu》书中看到不少有用的命令,遂志于此。
Shell历史
- 以root身份执行之前的命令:
$ sudo!! 或者 su -c “!!”
- 执行之前以给定字符串开头的命令:
1
2
3
4
5➜ ~ whoami
jiezhi
➜ ~ !w
➜ ~ whoami
jiezhi
!^复用前一个命令的首个参数(第二个词), **!$**复用前个命令的末个参数,如:
1
2
3
4➜ ~ open source/_posts/interesting-shell-command.md -a Atom
➜ ~ !^ // 回车后会看到*source/_posts/interesting-shell-command.md*
//按<C+u>清除当前命令行后
➜ ~ !$ // 回车后可以看到*Atom*!!:N复用前个命令第N个参数
第一个参数为1,如!!:1,而第一个单词即命令本身为0
如在命令open source/_posts/interesting-shell-command.md -a Atom中
!!:0为open, !!:1为source/_posts/interesting-shell-command.md查看你用的最多的命令:
1
history | awk '{print $2}' | sort | uniq -c | sort -rn | head
清除历史记录
1
history -c
###文本处理
使用vim通过网络编辑文件
1
2vim csp://remote-host//path/to/file
vim scp://remote-user@remote-host//path/to/file以表格格式展示输出column -t,可以看出输出结果可读性更好了:
1
2
3
4
5
6➜ ~ echo -e 'one two\nthree four'
one two
three four
➜ ~ echo -e 'one two\nthree four' | column -t
one two
three four借助sudo向文件添加文本:
1
echo text | sudo tee -a file
使用tr命令,替换字符:
1
echo $PATH | tr ':' '\n'
网络和SSH
- 在当前目录下搭建服务器:
1
2python -m SimpleHTTPServer [8080]
python3 -m http.server
*通过SSh远程挂载目录至本地
1 | sshfs remote-host:/directory mountpoint |
- 通过命令获取你的公共IP未完待续:-D
1
2
3curl ifconfig.me
curl ifconfig.me/ip
curl ifconfig.me/host