grep 高级用法
#grep -An -Bm -n -v [--color=auto] '搜索字符串' filename
-An 输出找到行之后的n行
-Bm 输出找到行之前的m行
//复习之前的用法
-n 附带输出相应行号
-v 反向选择
-i 忽视大小写
#grep -An -Bm -n -v [--color=auto] '搜索字符串' filename
-An 输出找到行之后的n行
-Bm 输出找到行之前的m行
//复习之前的用法
-n 附带输出相应行号
-v 反向选择
-i 忽视大小写
在一行中执行多条命令可能用到的用法
//不管cmd1是否执行成功,都会执行cmd2. 就是依次执行cmd1和cmd2
#cmd1;cmd2
//若cmd1执行完成并正确执行,则开始执行cmd2;若执行出错则跳过cmd2
#cmd1 && cmd2
//若cmd1执行完成并正确执行,则跳过cmd2;若执行出错则执行cmd2
#cmd1 || cmd2
如果你正在使用一台服务器,并且想通知每一个新登录这台服务器的用户一个消息。
比如你需要在服务器上进行一些测试工作,肯定希望其他登录进来的用户不要跑别的程序。这时你可以在/etc/motd文件中编辑你的通知消息,每一个新登录的用户都会看到这个消息。
#cat /etc/motd
Hello everyone,
This server will be used to run some test-programs at 2013/04/12 0:00 ~ 24:00
Please do not login server at this time. ^_^
#grep -ir (string-to-find) (search-files)
cat:从第一行开始显示文件
tac:从最后一行开始显示文件
nl:显示的时候顺便显示行数
more:一页一页地显示文件内容
less:与more类似,但是支持向上翻页
head:只看头几行
tail:只看结尾几行
od:以二进制的方式读取文件内容(效果不太好,希望以后找到合适的工具)
#cd /var/mail
#pwd //显示当前完整路径
/var/mail
#pwd -P //显示当前真实路径,而非使用链接的路径
/var/spool/mail
#ls -al
(前面略去...)/var/mail -> /var/spool/mail
注:当一个文件夹是一个链接文件时,上述两个命令的执行结果会出现上例中的不同