服务端常用的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 [email protected]:/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 [email protected]
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

你可能感兴趣的:(服务端常用的Linux命令)