我学到的Linux命令-cd,grep,less,tail,vi
对于Linux我懂得不多。也是在应用的过程中,慢慢学会一些。因为也是小白起步的,所以希望给各位亟待入门的兄弟姐妹一个参考吧。linux命令不单单是用来操作服务器,更是前辈们的精华,好些命令都是经典啊。我琢磨在“把代码写好”这事情上,这些命令也是一个参考标准。1.cd = change directory 切换目录到某一个目录。必备技能。特别的是:cd ~ 到当前用户
对于Linux我懂得不多。也是在应用的过程中,慢慢学会一些。因为也是小白起步的,所以希望给各位亟待入门的兄弟姐妹一个参考吧。
linux命令不单单是用来操作服务器,更是前辈们的精华,好些命令都是经典啊。我琢磨在“把代码写好”这事情上,这些命令也是一个参考标准。
1.cd = change directory 切换目录
到某一个目录。必备技能。特别的是:
cd ~ 到当前用户的home目录,也就是登录进来时默认的目录
cd / 到根目录
cd - 到之前一个目录。类似电视遥控器的回看功能。挺好用的。
2.grep
一般用法1:grep 'keyword' application.log
用于在文本中搜索
这样可以搜索出application.log 这个文件中的所有含有keywor这个词的行。当你需要看搜索出的行的前后部分是需要用到以下参数
-An 是往前n行 如-A50就是往前50行
-Bn 是往后n行 如-B50就是往后50行
-Cn 是前后都各n行 如-C50就是往前后各50行
另外,--color 也是必备,用途是高亮关键字。可以缩写作--col.
适合于在文件中查找某个关键字,不适合跟踪业务流程执行情况,这种需求推荐用less或者vi
一般用法2:grep ‘keyword’ application.log -c
用于统计keyword在application.log 中出现的次数
一般用法3:grep 'keyword' application.log.2013-01-* -c
这种假设当前目录下有
application.log.2013-01-01
application.log.2013-01-02
application.log.2013-01-03
...
等这种格式的多个文件,将列出每个文件中关键词的出现次数。我经常用它查找某个流水号在具体哪天发生了操作。当然前提是日志必须是每天滚动的。
3.tail 查看文件尾的数据
一般用法:tail -f application.log
application.log 是需要查看的文件名
-f 表示跟随,就跟eclipse控制台输出的效果是相同的。
比较适用于看实时输出的内容。不适合查找静态的文本。
4.less
强大的文本查看工具。不会修改文本内容。
这里需要提到cat命令是全文查看,如同Windows下的notepad打开一个文件一样直白简单。但是过于直白了,对于生产环境里动则几百兆的日志,几乎无用。
vi也可以用,但是会将文本都加载到内存。据同事说,如果文件较大,vi跟less的查看文件的效率差距比较大。
一般用法:less application.log
打开后进入了操作页面。就像Windows下打开一个新的软件一样,进入word你就可以它相应的快捷键了。less下的操作跟vi一致。
最常用的如下:
G :也就是shift+g一起按,到文件尾
gg:到文件头
h:向上移动一行
j:向下移动一行
k:往左移动一格
l:往右移动一格(注意hjkl在键盘的位置)
/:按关键字往下搜索,比如要搜keword这个词,输入/keword按下enter键,就会从当前位置往下搜索,移动到第一个找到的行,此时如果按下n,就会到下一个出现的位置,如果按下shift+n,也就是N,就会往回找到上一次出现的位置
?:按关键字往上搜索,如果是搜索keyword,输入?keyword按下enter键,就会从当前位置往上搜索,定位到搜索到的第一个关键字所在的位置。n和N的作用一致,但是因为/和?方向相反,n和N的方向也会相反。总结就是,搜索出来后,n是按着当前方向查找下一处出现的位置,N就是当前方向的反方向的下一次出现位置。
&:只保留关键字所在的行。可以将不需要的部分过滤掉。
我一般查看日志的方式是:
预先拷贝好流水号或者关键字
1.)如果不知道在哪个日志,会用 grep ‘流水号’ application.log -c --col 找到所在的日志文件。再在对文件less。
2.)less application.log
3.)如果知道是在下午发生的就用G到文件尾,用‘?流水号’倒着搜索,找到最后一次出现的位置,用h或者j上下查看。如果不是,就用n往上接着找。
如果是在上午,就是gg到文件头,然后用‘/流水号’往下搜索。
4.)找到进程号,/进程号,看这个进程处理的过程,找到问题
5.vi
或者vim。适用于编辑文件。经典的文本编辑工具。体系庞大,不能够详讲。提一句是vi有模式。ESC键到normal模式,就是默认模式,i键到输入模式。
上面提的less的命令基本适用。
G :也就是shift+g一起按,到文件尾
gg:到文件头
h:向上移动一行
j:向下移动一行
k:往左移动一格
l:往右移动一格
i:insert模式,可以输入修改
d:删除
x:删除一个字母
y:拷贝
p:粘帖
推荐Windows下装个gvim用一用。建议使用gvim来学习vi的使用。学习曲线起初是比较陡的,但是确实入了门,还是挺有成就感的。
另外,推荐使用cygwin,可以在Windows下学习linux命令。
to be continued...
(find/sort/sed/awk)
更多推荐
所有评论(0)