服务端常用的Linux命令

一、错误日志篇
1、在日志中根据关键字查找,并用标色

tail my-app.log | grep 'bestfei' —color -C10 less my-app.log | grep 'bestfei' —color -C10

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、保留文件,但清除文件内容
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

输出
COMMANDPIDUSERFDTYPEDEVICE SIZE/OFF NODE NAME java5215 bestfei47uIPv6 0xcc3a15d77ee0d8c10t0TCP *:http-alt (LISTEN)

2、查看占用程序
ps -ef|grep 5215

输出
501 5250910 四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 6828507:25下午 ttys0010:00.00 grep 52509

五、 查看文件大小
du -sh *|sort -nr192Kweb.xml 11MROOT.war 8.0Kserver.xml 4.0KDockerfile

六、压缩包
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
【服务端常用的Linux命令】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

    推荐阅读