近几个月刚从windows上转过来,开始慢慢熟悉linux,先不撕比到底哪个更好,首先要怀着相互借鉴的精神去了解各个平台。
Linux上做开发,除去使用文本编辑器做开发的大神之外,大家(包括我这种菜鸟新手)都需要掌握的应该就是Linux上的常用命令,能让一些时不时冒出来的琐碎而又麻烦的需求简单化。这次先整理几个。
- cat
- paste
- cut
- grep
一个一个来,先从cat开始,昨天面试被问到了答不上来。。。
cat
主要是三个功能:显示文件内容、创建文件、合并文件
最基本的语法就是:cat [-参数] 文件名
具体有哪些参数,请自己输入cat --help查看,这里先介绍几个我觉得常用的
- 单纯显示一个文件
cat test.cpp
终端小黑窗会直接打印出这个文件的所有内容,如果文件太长的话,可以通过管道传给less来慢慢查看
cat test.cpp|less
- 显示一个文件并添加行号
给所有行添加行号
cat -n test.cpp
给非空白行添加行号
cat -b test.cpp
- 创建一个文件
cat > test.txt << EOF
单纯执行cat > test.txt,则终端会等待你继续输入,所有你输入的东西都会写入到test.txt当中,最后可以使用CTRL+C来结束,但是这样一点都不优(zhuang)雅(bi),这里的<<EOF的意思是,当终端检测到你输入的是EOF这个字符串的时候,结束输入。
- 合并文件(和paste的基本功能差不多)
cat test.cpp test.txt > testAll
这句话的意思就是 按顺序输出test.cpp与test.txt,然后把结果放进testAll这个文件中,注意这里的>如果改成>>那就是拼接到testAll原有内容之后,否则是覆盖原有内容
暂时先介绍这么多,其他几个命令后续再说。顺带提一下,cat还可以通过管道和paste、grep等组合使用,例如:
cat test.cpp|grep -A 3 ‘haha‘ 作用是取出test.cpp的所有内容输入到grep中去查找haha字符串,并输入满足条件的字符串所在的行以及后3行
参考资料:
http://www.cnblogs.com/perfy/archive/2012/07/23/2605550.html
http://my.oschina.net/hebad/blog/346408