平常工作中需要使用到的一些Linux基本命令,简单记录:
通过订单号查看日志:
cat /---/---/xxxx20190908.log | grep C52918588112261 -C 5
1. 查看大型日志文件
- linux查看日志文件内容命令tail、cat、tac、head、echo、tail -f test.log
- 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C
---------------------------
- linux 如何显示一个文件的某几行(中间几行):
-
- 从第3000行开始,显示1000行。即显示3000~3999行
-
-
- cat filename | tail -n +3000 | head -n 1000
-
-
- 显示1000行到3000行
-
-
- cat filename| head -n 3000 | tail -n +1000
-
*注意两种方法的顺序
分解:
tail -n 1000:显示最后1000行
tail -n +1000:从1000行开始显示,显示1000行以后的
head -n 1000:显示前面1000行
用sed命令
sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。
例:cat mylog.log | tail -n 1000 #输出mylog.log 文件最后一千行
---------------------------
cat主要有三大功能:
1.一次显示整个文件。$ cat filename
2.从键盘创建一个文件。$ cat > filename
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件: $cat file1 file2 > file
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
例:
把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3
把test.txt文件扔进垃圾箱,赋空值test.txt
cat /dev/null > /etc/test.txt
注意:>意思是创建,>>是追加。千万不要弄混了。
------------------------------------------
tac (反向列示)
tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,
而 tac 则是由最后一行到第一行反向在萤幕上显示出来!
------------------------------------------
在Linux中echo命令用来在标准输出上显示一段字符,比如:
echo "the echo command test!"
这个就会输出“the echo command test!”这一行文字!
echo "the echo command test!">a.sh
这个就会在a.sh文件中输出“the echo command test!”这一行文字!
该命令的一般格式为: echo [ -n ] 字符串其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。
用echo命令输出加引号的字符串时,将字符串原样输出;
用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割
2. Linux 日志文件清理
- Linux清空日志内容
在测试环境定位问题时,如果发现日志文件内容太多或太大,有时需要删除该日志,如Tomcat,Nginx日志。以前每次都是先rm -rf ***.log,然后重启应用。直到后来发现了以下命令,原来可以不用重启应用直接清空日志。
权限要求: 至少执行用户对该文件有写的权限
--w------- 1 QA_Deploy QA_Deploy 1 Jun 27 17:35 test.out
$ : > filename
$ > filename
$ echo "" > filename
$ echo > filename
个人推荐最简单的方式,直接 > filename.
执行操作后,细心操作可以发现文件大小是不一样的。
1和2 两种方式,是0kb
3和4 两种方式,是1kb
还有一种方式为:cat /dev/null > file.log
这条命令的意思是:清空messages文件。
可以把/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到.
因此, /dev/null 对命令行和脚本都非常的有用.