一、日志查询篇
1、在日志中根据关键字查找,并用标色
tail my-app.log | grep 'bestfei' —color -C10
less my-app.log | grep 'bestfei' —color -C10
less my-app.log | grep 'best' | grep 'fei' —color -C10
多个关键词查询
less my-app.log | grep -E 'best|fei'
2、查找日志里的错误和异常
tail -10000f catalina.out | grep 'Exception'(查找日志10000行内的异常)
tail -10000f catalina.out | grep 'Error'(查找日志10000行内的错误)
3、不区分大小写查找关键字
grep –i "被查找的字符串" 文件名
例如: 在文件best.txt 中不区分大小写查找含有 fei 的行
grep -i "fei" best.txt
4、日志的上下文
grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行
grep -B 5 foo file 显示foo及前5行
grep -A 5 foo file 显示foo及后5行
5、保留文件,但清除文件内容
cat /dev/null > file_name
二、将本地文件传到远程服务器
scp jacocoagent.jar bestfei@10.103.106.187:/data/fei
三、自定义快速启动别名
1、新建脚本并赋权限
cd /usr/bin
sudo touch fei
sudo chmod 755 fei
sudo chown bestfei fei
2、fei脚本编写登录远程服务器命令
#!/usr/bin/expect -f
set timeout 5
spawn ssh bestfei@10.101.94.31
expect {
"*password*" { send "passw0rd\r" }
}
interact
四、端口篇
1、查看端口占用情况
lsof -i tcp:port
sudo lsof -i :8080
输出
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 5215 bestfei 47u IPv6 0xcc3a15d77ee0d8c1 0t0 TCP *:http-alt (LISTEN)
2、查看占用程序
ps -ef|grep 5215
输出
501 52509 1 0 四03下午 ?? 5:35.64 /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/bin/java -Djava.util.logging.config.file=/Users/feiyong/tools/apache-tomcat-9.0.6/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs= -classpath /Users/feiyong/tools/apache-tomcat-9.0.6/bin/bootstrap.jar:/Users/feiyong/tools/apache-tomcat-9.0.6/bin/tomcat-juli.jar -Dcatalina.base=/Users/feiyong/tools/apache-tomcat-9.0.6 -Dcatalina.home=/Users/feiyong/tools/apache-tomcat-9.0.6 -Djava.io.tmpdir=/Users/feiyong/tools/apache-tomcat-9.0.6/temp org.apache.catalina.startup.Bootstrap start
501 77121 68285 0 7:25下午 ttys001 0:00.00 grep 52509
五、 查看文件大小
du -sh *|sort -nr
192K web.xml
11M ROOT.war
8.0K server.xml
4.0K Dockerfile
六、压缩包
1、压缩一个文件 test.txt
tar -cvf test.tar test.txt
2、压缩多个文件 test1.txt test2.txt
tar -cvf test.tar test1.txt test2.txt
3、压缩文件夹 test/
tar -cvf test.tar test/
4、将当前目录,所有jpg文件打包成Jpgs.tar
tar -cvf Jpgs.tar *.jpg
5、将当前目录,所有jpg文件打包成Jpgs.tar.gz
tar -zcvf Jpgs.tar.gz *.jpg
6、解压 test.tar
tar -xvf test.tar
7、解压 test.tar.gz
tar -zxvf test.tar.gz
七、wget下载命令
1、下载test.jpg文件
wget http://test.linux.com/test.jpg
2、下载test.jpg文件,并存储名为test2.jpg
wget -o test2.jpg http://test.linux.com/test.jpg
3、下载test.jpg文件,后台形式下载
wget -b http://test.linux.com/test.jpg
八、find命令
1、在/root/test 目录及其子目录下面查找名字为test.txt的文件
find /root/test/ -name test.txt
2、在当前目录及其子目录中查找任何扩展名为“ini”的文件
find . -name "*.ini"
3、在/root/test目录下查找更改时间在5日以内的文件
find /root/test/ -mtime -5
4、在/root/test目录下查找更改时间在3日以前的文件
find /root/test/ -mtime +3
5、在/root/test目录下查找所有的目录
find . -type d
6、在/root/test目录下查找所有的文件
find /root/test/ -type f
7、在当前目录,所有的普通文件中搜索error这个词
find ./ -type f |xargs grep "error"
8、在当前目录,删除1天以内的所有东西
find ./ -mtime -1 -print | xargs rm -rf
9、在当前目录,删除10天以前的所有东西
find ./ -mtime +10 -print | xargs rm -rf
10、删除文件大小为零的文件
find ./ -size 0 | xargs rm -rf
九、批量创建文件
1、同时创建文件 test1.txt test2.txt
touch test1.txt test2.txt
2、同时创建2000个文件 test0001.txt - test2000.txt
touch test{0001..2000}.txt
十、查看文件系列 命令
cat 由第一行开始显示档案内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
more 一页一页的显示档案内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
nl 显示的时候,顺道输出 行号!
看文件 isTester.ini前20行内容
head -n 20 isTester.ini
看文件 isTester.ini最后30行内容
tail -n 30 isTester.ini
显示文件isTester.ini 的第10至20行的内容
head -n 20 isTester.ini | tail -n 10
倒序显示文件isTester.ini 前10行的内容
tac isTester.ini | head -n 10
显示文件isTester.ini 前10行的内容,并显示行号
nl isTester.ini | head -n 10
满足任意条件(word1、word2和word3之一)将匹配
grep -E "word1|word2|word3" file.txt
必须同时满足三个条件(word1、word2和word3)才匹配
grep word1 file.txt | grep word2 |grep word3