排查线上问题实用的Linux命令

#vim查看日志

$ vim app.log

{查找:打开以后,使用“ / ” + ”关键字“ ,回车即可;

: q! 放弃所有修改,退出编辑程序

: sudo vim /etc/hosts

}

#less查看日志

$ less app.log //跟vim类似,但是只查看,不能修改

#查看动态后10条日志

$ tail -f app.log

$ tail -n 20 app.log(查看后20条)

ctrl+c: 停止打印

#curl get请求 执行后,该URL的html就会显示在屏幕上了

curl "http://api.stanlee.wacai.info/faceless/proxy/lgd_score?aid=27223225&uid=26073973"

#查看curl的执行时间

time curl 'http://api.loan.wacai.info/goblin/web-api/voice/agent/queryByMobile?loginUser=donghuang&phone=13764268709' -v

##curl post 请求

curl -X POST -H 'Content-Type: application/json' -d '{ "agentList": [ "aiye", "bajiao" ], "beginDate": "20170828" }' 'http://api.loan.wacai.info/yo/ivr/report/list'

#把结果存起来

curl "http://collections/0/contactCallRecordsStats?userPhoneNumber=18078158526" -O /baota/log.txt

#取出文件app.log中包含kafka的行,并把找到的关键字加上颜色

grep --color=auto 'kafka' app.log

#ll的输出过滤出app.log文件

ls -l | grep -i "app.log"

# 找出当前目录下名称为app.log的文件

find . -name "app.log*"

#cat命令,用于查看文本文件的内容,可用管道less一起使用

cat text | less app.log

#cp命令把文件file1、file2复制到目录dir中

cp file1 file2 dir

#把文件。zshrc 复制一份重命名为.zshrc.orig

cp ~/.zshrc ~/.zshrc.orig

#mv命令 移动文件

cp file1 file2 dir

假设复制源目录 为 dir1 ,目标目录为dir2。怎样才能将dir1下所有文件复制到dir2下了

如果dir2目录不存在,则可以直接使用

cp -r dir1 dir2

即可。

如果dir2目录已存在,则需要使用

cp -r dir1/. dir2

如果这时使用cp -r dir1 dir2,则也会将dir1目录复制到dir2中,明显不符合要求。

# 当前进程

$ ls /proc/

#查看内存信息

$ cat /proc/memi

#查看CPU信息

$ cat /proc/CPUinfo

#查看IP信息(等同ifconfig)

ip -a

#可用内存

$ free -h

//查看系统中文件的使用情况

df -h

//查看当前目录下各个文件及目录占用空间大小

du -sh *

//方法一:切换到要删除的目录,删除目录下的所有文件

rm -f *

//方法二:删除logs文件夹下的所有文件,而不删除文件夹本身

rm -rf log/*

#当前目录大小

$ du -sh

#硬盘使用情况

$ df -h

#目录下每个文件大小

ll -ash

#也会列出当前文件夹下所有文件对应的大小

du -sh *

#清空日志文件内容

: > common-error.log

echo "" > std_out.log

#cd

$ cd /data/program/logs/com.wacai.loan/assignment-service/app_log(测试日志目录)

#新建文件夹

$ mkdir test

#pwd 查看当前目录

#whoami 当前登录用户

#以长数据串的形式列出当前目录下的数据文件和目录

$ ls -l

#echo 输出变量

$ echo $PATH

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/appweb/bin:/data/program/java/bin

#查找日志

less app-2017-05-21.2.log | grep 'getM1Risk'

#模糊查找某天日志

grep -i 'voiceApplication' app-2017-08-03*.log(-i 不区分大小写)

n:下翻

ctrl + n :上翻

ctrl+f(forward):下翻

ctrl + b (back):上翻

#搜索日志

/str

n:查找内容的下一个

N:查找内容的上一个(向上查找)

ctrl+a:到命令行的头

ctrl +e(end) :到命令行的尾巴

#.bash_profile配置环境变量

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home

export M2_HOME=/Users/bingpo/Bin/apache-maven-3.5.0

export MYSQL_HOME=/usr/local/mysql

export PATH=$JAVA_HOME/bin:$MYSQL_HOME/bin:$M2_HOME/bin:$PATH

##

1。 把日志存到当前服务器当前目录

grep -i 'start update auto call' app-2017-08-04*.log |grep '2017-08-03 09:' >> baota.txt

2.可在当前路径查看 less baota.txt(看完删了,rm baota.txt)

3.登到跳板机,下到跳板机

远程拷贝文件的命令, scp 源文件 目标文件

scp root@10.10.10.10:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

scp appweb@10.1.13.209:/data/program/logs/com.wacai.loan/goblin-web-api/app_log/baota.txt ./

4.下到本地

sz baota.txt

##

1.找系统的一个进程

ps -ef|grep SecureCRT

501 8522 1 0 12:30下午 ?? 0:10.87 /Applications/SecureCRT.app/Contents/MacOS/SecureCRT

ps 86835//Pid

2.查看占用该端口的进程

lsof -i:2181

3.杀死这个进程

kill -9 8522

#登录远程机器

telnet 127.0.0.1 8080

#redis 客户端登录

redis-cli -h 127.0.0.1 -p 8080

##

netstat -ano|grep 80

##查看线程

top -p 4576 -H

4786 appweb 20 0 5851m 1.4g 14m S 0.3 38.1 1:12.19 java

4787 appweb 20 0 5851m 1.4g 14m S 0.3 38.1 1:11.01 java

##

1.转16进制

printf '%x\n' 4800

12c0

查看进程所有线程的快照(ThreadDump) jstack -l [pid] -l表示锁的相关信息

jstack 4576|grep 12c0 -A 50

jstack -l 999 |grep kkk >> ./baotatxt

/// 一个线程的所有信息demo

"commons-pool-EvictionTimer" #23 daemon prio=5 os_prio=31 tid=0x00007fc0e4476000 nid=0x5c03 in Object.wait() [0x0000700003b2b000]

java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)

at java.util.TimerThread.mainLoop(Timer.java:552)

- locked <0x000000078ec2a590> (a java.util.TaskQueue)

at java.util.TimerThread.run(Timer.java:505)

Locked ownable synchronizers:

- None

///

##

cat /etc/hosts

##定时执行脚本文件

1.创建脚本文件

cat > risk.sh(linux的脚本是.sh格式)

2.写入curl语句(postman看code里的curl)

curl -X GET \

'http://faceless.stanlee.test.wacai.info/faceless/proxy/lgd_score?aid=26234987&uid=86125675' \

3.改变文件的权限

chmod 777 risk.sh

ls -l 查看文件的权限

4.执行并转存输出结果

./risk.sh >> 1.txt

##crontab定时任务

1.编辑定时任务

crontab -e

01 15 * * 1-6 /User/baota/dingcan.sh >> 2.txt

2.查看定时任务

crontab -l

##########超级管理员打开修改系统配置文件,不用sudo 不能修改。

#1本地hosts文件

sudo vim /etc/hosts

#2 用户下的环境变量

echo $PATH 查看环境变量 //echo 打印 ;$:表示变量

sudo vi /users/baota/.bash_profile

source ./.bash_profile //改完运行一下,配置直接生效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铁甲小宝摸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值