Linux下提高效率的命令与快捷键

Linux下提高效率的命令与快捷键

一、bash中的快捷键

光标移动命令
Ctrl + a - 跳到命令行行首
Ctrl + e - 跳到命令行尾
Ctrl + b - 回跳一个字符
Ctrl + f -往前跳一个字符

字符删除快捷键
Ctrl + d - 删除光标所在字符
Ctrl + k - 从光标处删除到行未尾
Ctrl + u - 从光标处删除到行首
Ctrl + w - 删除最后输入的单词

中断、停止
Ctrl + c - 中止命令
Ctrl + z - 挂起/停止命令

其它快捷键
Ctrl + l - 清屏,即clear
Ctrl + r - 从历史命令中搜索(非常实用)
Esc + t - 交换光标前面的两个单词
Ctrl + x Ctrl + e - 用默认EDITOR编辑命令行后执行

组合使用实例1
1、先按Ctrl + r,查找到一个长命令后,按Ctrl + x Ctrl + e调出编辑器进行编辑;
2、保存后即可直接运行编辑后的命令。

组合使用实例2
命令组合:Ctrl + u [...] Ctrl + y
1、使用sudo vi /etc/init.d/命令准备编辑一个文件,输入一半时发现忘了文件名;
2、按Ctrl + u,切换到"空白"shell下,这时可以ls /etc/init.d/来查找相关文件;
3、找到后,按Ctrl + y,刚才输入一半的命令会恢复;

二、命令

显示前十个资源占用最大的进程(按内存排序,如果+3则是按CPU排序)
ps aux | sort -nk +4 | tail

将pub key拷贝到目标机器,后续可以无需密码登陆
ssh-copy-id [email protected]

显示当前目录下最大的5个文件/目录
du -s *|sort -rn|head -5

显示每个目录的大小
du -b --max-depth 1 | sort -nr | perl -pe 's{([0-9]+)}{sprintf "%.1f%s", $1>=2**30? ($1/2**30, "G"): $1>=2**20? ($1/2**20, "M"): $1>=2**10? ($1/2**10, "K"): ($1, "")}e'

当前连接互联网的进程
lsof -P -i -n | cut -f 1 -d " "| uniq | tail -n +2

查看某些端口范围的开放情况,如这里查看从555到7000端口
lsof -i :555-7000

用普通用户编辑了无权限的文档时可以使用下面命令sudo
:w !sudo tee %

以当前目录为web根目录的简单WEB Server,如不指定端口,默认开于8000
python -m SimpleHTTPServer 8080

监测Mysql进程列表
watch -n 1 mysqladmin --user=<user> --password=<password> processlist

转换文本文件中DOS换行符号^M
tr -s "\r"  "\n"  <inputfile  >outputfile

快速显示某年某的日历,例如下面例子是显示2010年10月的日历
cal 10 2010

屏幕录像
ffmpeg -f x11grab -r 25 -s 800x600 -i :0.0 /tmp/outputFile.mpg

命令行查看GMAIL的新邮件TITLE
curl -u username:password --silent "https://mail.google.com/mail/feed/atom" | tr -d '\n' | awk -F '<entry>' '{for (i=2; i<=NF; i++) {print $i}}' | sed -n "s/<title>\(.*\)<\/title.*name>\(.*\)<\/name>.*/\2 - \1/p"