原
创文章,转载请注明出处!
目录
1.打开文件
2.光标移动
3.模式转换
4.进入插入模式
5.复制
6.粘贴
7.删除
8.查找
9.替换
10.保存及退出
11.多文件操作
12.分屏
13.其他
—进阶篇
可以从这里下载文本格式文件。
入门篇
1.打开文件
[shell]
vim
vim abc.txt
vim abc.txt def.txt(多个文件的操作见11节)
vim +10 abc.txt
vim + abc.txt
vim +/eer abc.txt 或者 vim +/"eer" abc.txt
vimdiff abc.txt def.txt
[/shell]
2.光标移动
2.1字符移动
[shell]
h 或 5h 或 [回退键 Backspace]
l 或 5l 或 [空格键 Space]
[/shell]
2.2单词移动
[shell]
w 6w
W 6W
b 6b
B 6B
e 6e
E 6E
[/shell]
2.3行移动
[shell]
0 (数字0)行首
^ 非空白字符行首
g_ 非空白字符行尾
$ 行尾
k 或 5k 或 (ctrl+p)
j 或 5j 或 (ctrl+n) 或 (Enter)
6-
6+
(
)
10G 或 :10
[/shell]
阅读全文…
find
[shell]
//查找所有tar文件然后移动到目录
find . -name “*.tar” -exec mv {} ./backup/ \;
//去掉行首的.字符
find . -name *.html|sed ‘s/^.//g’
//遍历查找结果
for i in `find . -name *.html|sed ‘s/\.//g’|sed ‘s/html/.html/g’` ;do echo http://192.168.0.170:8017$i ; done
//查找文件,然后备份到其他目录:
find . -name nginx.conf.tgz -exec cp {} dir/ \;
[/shell]
tar
du
[shell]
//统计apache访问日志,访问量排在前20 ip地址
cat access.log |awk ‘{print $1}’|sort|uniq -c |sort -nr |head -20
//显示最常用的20条命令:
cat .bash_history |grep -v ^# |awk ‘{print $1}’ |sort |uniq -c |sort -nr |head -20
//在所有行前添加http://img.map.com,并在最后添加/
sed -e ‘s/^/http:\/\/img.map.com\/maplite\/map\/subway\/1.1\//’ -e ‘s/$/\//’ a.txt
//查看apache并发连接数,及相关转发状态
netstat -n |awk ‘/^tcp/’|awk ‘{print $NF}’|sort |uniq -c |sort -nr
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’
//网络抓包:tcpdump
tcpdump -nn host 192.168.56.7 and port 80 抓取56.7通过80请求的数据包。
tcpdump -nn host 192.168.56.7 or ! host 192.168.0.22 and port 80 排除0.22 80端口!
tcp/ip 7层协议 物理层–数据链路层-网络层-传输层-会话层-表示层-应用层。
[/shell]
netstat
telnet
curl
linux正则表达式分类:BREs、EREs、PREs
awk
默认EREs
sed
-r=EREs
-i直接修改文件
grep
-E=EREs=egrep
-P=PREs
-v查找不包含匹配项的行
sort
[code]
# -k语法格式:[FStart[.CStart]][Modifier][,[FEnd[.CEnd]][Modifier]]
sort -t ‘ ‘ -k 1 facebook.txt
sort -n -t ‘ ‘ -k 2 facebook.txt
sort -n -t ‘ ‘ -k 2 -k 3 facebook.txt
sort -n -t ‘ ‘ -k 3r -k 2 facebook.txt
sort -t ‘ ‘ -k 3nr -k 2n facebook.txt
sort -t ‘ ‘ -k 1.2 facebook.txt
sort -t ‘ ‘ -k 1.2,1.2 -k 3,3nr facebook.txt
sort -k 1 -u facebook.txt
sort -k 1.1,1.1 -u facebook.txt
sort -n -k 2 -k 3 -u facebook.txt
/*原来“跨域的设定是个假象”,sort只会比较第二个域的第二个字符到第二个域的最后一个字符的部分,
而不会把第三个域的开头字符纳入比较范围。当发现00和00相同时,sort就会自动比较第一个域去了。
*/
sort -n -k 2.2,3.1 facebook.txt
#加号表示Start部分,减号表示End部分
sort -t: +1 -2 -n +0 -1 -r vegetables
或
sort -t: -k2,2 n -k1,1 r vegetables
[/code]
在modifier部分还可以用到哪些选项?
可以用到b、d、f、i、n 或 r。
其中n和r你肯定已经很熟悉了。
b表示忽略本域的签到空白符号。
d表示对本域按照字典顺序排序(即,只考虑空白和字母)。
f表示对本域忽略大小写进行排序(会将小写字母都转换为大写字母来进行比较)。
i表示忽略“不可打印字符”,只针对可打印字符进行排序。(有些ASCII就是不可打印字符,比如\a是报警,\b是退格,\n是换行,\r是回车等等)
常用文本处理工具:http://www.cnblogs.com/me115/archive/2013/11/17/3427319.html
根据ip查询主机名
[code]
nmblookup -A 10.19.30.17 //linux
nbtstat -a 10.16.214.60 //windows
[/code]
———————————-
让你提升命令行效率的 Bash 快捷键
也许光看标题就感觉,这是一篇晦涩无趣的article,但我想表达的东西很重要,所以我还是写了下来。
这篇文章,基本可以针对除腾讯、百度、阿里、搜狐、新浪、网易、人人、360以及谷歌、微软、甲骨文等等之类的公司(因为这些公司,至少在技术上,我还是比较欣赏的,虽然他们并不欣赏我,嘿嘿)之外的大约90%的it公司。
写这篇文章时,我有3年基于javaEE的管理系统开发经验(这貌似也没啥好说的),大约就职过三个公司;也做过项目管理,review过别人代码,很多时候对别人开发的功能不太满意。
如果你只经历了一个不满意的项目,你可能会认为,只是自己运气差,遇到了一个管理不好的项目,你会认定这只是你所在的公司的问题,而大多数公司其项目管理都是很好的,真的是这样吗?当你跳了一次又一次之后,你失望了,这项目管理咋都这么乱!你的大脑突然的某一刻一不小心站在了一个更高的层面,俯视了一下所有的it公司,问了一个问题,有多少公司的项目管理是跟过家家似的?答案是,很多!你开始相信,项目管理混乱根本就是绝大多数公司的通病,而管理有序的项目,可能只存在于那少数的几个公司(那些毕业就能进这些公司的童鞋,你们真的好幸运)。
听说聚美优品搞周年庆,刚开局服务器就撑不住了,聚美优品也算是名牌公司了,很多人都知道,但又怎样!反问,为何天猫双11没挂?
阅读全文…