Ctrl-R
- 在bash中, Ctrl-R用于在历史命令中搜索
Ctrl-W, Ctrl-U, Alt-BackSpace
- bash中,Ctrl-W删除最后一个词,Ctrl-U删除最后一行, Alt-BackSpace 删除光标前的一个词
man readline
中包含了大量bash中的默认热键绑定. cd -
- 返回前一个工作路径
xargs
- 非常强大的命令。如果你还不确定是否能正确的执行任务,可以先用xargs echo查看。下面是一个用该功能的例子:
12find . -name \*.py | xargs grep some_functioncat hosts | xargs -l {} ssh root@{} hostname parallel
一个更加强大的命令. 可以实现并行执行任务,并可以分割输入文件, 指定多个节点同时运行命令等功能.详细的功能可以参考这个链接.pstree -p
打用进程树的得力工具pgrep,pkill
使用名字查找进程,或者直接向指定名字的进程发送信号。
- 了解用户能发送给进程的一些信号。比如
kill -STOP [pid]
,让pid进程挂起。
nohup,disown,screen, tmux
当你需要将进程永远处在后台运行是,这两个命令很有用。lsof, netstat -lntp
查询当前什么进程在监听什么端口。set
在bash脚本中, 使用set -x
获得debug输出,使用set -e
获得错误输出。;
分号用于开启一个子shell并运行至结束后关闭。 例如:
123#在当前路径下执行一些命令(cd /some/other/dir; other-command)# 工作路径仍然是当前目录- 了解用户能发送给进程的一些信号。比如
- 了解shell中的多种参数表达式
${name:?error message}
- 检查某个变量是否存在,若不存在输出 error message。
${var%suffix}, ${var#prefix}
- 输出var变量除前缀或者后缀外的部分。如下面的代码输出为foo.txt.
12var = foo.pdfecho ${var%pdf}.txt <,>
输入输出重定向操作。some_command > logfile 2>&1
将some_command
运行过程中的标准输出和标准错误输出都输出到文件logfile中。man ascii
获得一个好用的ASCII表格,包含10进制和16进制的值。screen,dtach
在远程ssh绘画中,使用这两个命令可以保存你的会话,避免因为网络问题导致中断。curl, curl -l, wget
在web页面调试中,这几个命令能帮你下载网页代码,很有用。lynx -dump -stdin
将HTML转换为文本xmlstarlet
需要处理XML时,这个命令很有用。ssh -L, ssh -D
需要利用远程服务器访问网页时,这命令可以帮助你在远程服务器和你的机器之间建立ssh 隧道。ssh连接优化
如下配置能帮你避免链接丢失,不需要每次都输入yes确认和远程服务器的链接,以及在链接中启用压缩。建议将它放到.ssh/config中。- 123456TCPKeepAlive=yesServerAliveInterval=15ServerAliveCountMax=6StrictHostKeyChecking=noCompression=yesForwardAgent=yes
在正输入的命令前加#
- 命令已经输入一半,忽然间改主意想少收运行时,
可以使用Alt-#
在命令前加‘#’,将整个命令变成注释。这样你稍后就能在命令历史中找到该命令了。 cron
- 可以帮助你制定一些定时执行的计划任务。
Ctrl-S Ctrl-C
- 将一不小心需要大量输出文本时,依次输入这两个操作,
比单纯的频繁按Ctrl-C能更快让程序终止。
Wednesday, 14 September 2016
高效实用日常Linux/Unix 命令
Labels:
Unix/Linux
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment