Linux排查问题常用命令
一、服务器状态查询
1、查看内存(指的是物理运行内存,不是硬盘内存)
free 可选参数 -m(以mb为单位) -g(以G为单位)
total:表示物理内存总量。
used:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。
free:未被分配的内存。
shared:共享内存,一般系统不会用到,这里也不讨论。
buffers:系统分配但未被使用的buffers 数量。
cached:系统分配但未被使用的cache 数量。buffer 与cache 的区别见后面。
available:空余的可用的内存大小
2、磁盘使用情况
df 可选参数-h(以更容易读的方式展示)
3、观察端口被哪个应用(占用输出详细信息,没有占用则没有输出)
lsof -i:端口号
如查看80被哪个程序占用,被占用则输出占用的程序,否则无输出
二、文本操作
文本操作命令能用管道符随意结合,发挥最大的作用
1、cat
直接输出文件所有内容,文件内容较大时可以用grep进行过滤
cat fileName
2、more
more fileNmae
Enter(向下翻滚一行)
空格(向下滚动一屏)
Q(退出命令)
B(向上滚动一屏)
3、less
less fileName
PageUp 键向上翻页
PageDown键向下翻页
4、tail
查看文件的尾行,默认数组最后10行
# 输出文件的最后100行
tail -n 100 fileName
# 实时查看文件的最后内容,一般用来实时查看日志
tail -f fileName
5、head
和tail类似,输出头部
head fileName
# 输出文件的前100行
head -n 100 fileName
6、uniq
对内容去重,只把相邻且相同的去重,如果想要全局去重,需要先用sort排序
# 文件排序并去重
cat fileName | sort | uniq
# 文件排序并去重,且输出每行出现的次数
cat file | sort | uniq -c
7、sort
对内容进行排序,数据按字典序排列,如果想按数值排,加-n选项
cat fileName | sort
8、wc
# 文件里有多少行
wc -l fileName
# 文件有多少个单词
wc -w fileName
# 文件有多少个字节
wc -c fileName
# 文件有多少个字符
wc -m fileName
可以和管道符结合使用
cat fileName | wc -l
9、grep
第一种形式
grep [option] [pattern] [file1,file2]
如查找show.txt里面包含content的行
grep content show.txt
第二种形式
command | grep [option] [pattern]
如查看某个服务信息
ps -ef | grep mongo
ps aux | grep mongo(能看到以那个用户名在运行程序的)
如查找show.txt里面包含content的行
cat show.txt | grep content
查找某个文件夹下包含某个字符串的文件及内容
grep -r -e GetRedisData app/ | grep 1794577
二、网络
1、远程传输文件scp
先保证服务器间,ssh间能互相跳转
命令格式
scp -r 源目录 用户名@ip:目标目录
-r参数的作用是递归复制源目录,及复制目录下的子目录和文件
scp -r ~/app hadoop@hadoop001:~/
scp -r ~/app hadoop@hadoop002:~/
## 分发环境变量
scp ~/.bash_profile hadoop@hadoop001:~/
scp ~/.bash_profile hadoop@hadoop002:~/
2、查看网络是否连通
ping www.baidu.com
3、查看端口是否开启
ping www.baidu.com -p 80
4、下载文件
wget 文件地址