说明:记得第一次接触Linux时,最简单vi命令都不太会用,总是习惯性的在window下编辑好文件上传,结果各种编码问题。工作N年后,带过不少接触Liunx较少的同学,经常遇到的问题也都大同小异(比如:要替换的包在哪个位置?为什么老是报端口被占用异常?为什么配置都对就是应用启不来等),我把平时常用的命令总结了20条左右,以供参考。
说明1:时间充分还是建议系统学习一下linux系统。
说明2:这里总结的大多是单一命令,不太适合运维直接使用。
建议:==现实工作中,记不清的东西查笔记叫善于总结积累,遇问题就查网络叫LOW(尤其背后站着领导时),所以多记笔记总没错==
1、基本命令
cd //切换目录
cd .. //退出到上一级
pwd //输出当前绝对路径
ls //列出当前目录下所有的文件或目录
mkdir //创建文件目录
kill (-9) //杀死(强制)进程
cp (-r) a b //-r递归复制
mv a b //移动或者重命名
rm (-rf) //删除文件 小心rm rf /
ping //命令向网络主机发送ICMP回传请求,简单说是两台机器网络是否连通
ifconfig //显示当前所有网络状态
touch //创建文件或者更新文件时间
file 显示文件属性
history 显示历史操作命令
2、文件查找
#根据文件名查找
find /path -name 'logback.xml' 查找path目录下文件名为logback.xml
#根据大小查找
find /path -size +200M 查找path目录下大于200M的文件
#查找当前目录下以.gz结尾的文件
ls -l | grep '.gz'
#递归查询以xml结尾并且包含"logCollect"关键字
find . -name "*.xml" |xargs grep "logCollect"
#从多个文件中搜"logCollect"
grep 'logCollect' logback.xml logback1.xml
3、查看正在监听的端口
netstat -ntpl(lntup)
4、显示各个进程对内存的使用情况,从大到小排序
ps aux --sort -rss
5、查看3306端口在和谁通信
netstat -na | grep 3306
6、查看本机xxxx进程的相关信息
ps aux | grep xxxx
7、查看进程xxxx占用的端口
netstat -nap | grep xxxx
netstat -lnp|grep xxxx
8、查看端口2181的运行情况
lsof -i:2181
lsof -p 进 程id //查看应用文件位置
9、查看进程
ps 显示进程快照
ps -ef | grep 应用名 //最常用
10、查看文件大小
ls -lht
11、监控内存
top -d 1 然后使用shift + m 排列内存
free -g(m) 查看内存使用
12、查看硬盘信息
df -lh
du /home/flume 查看该目录占用空间大小
13、监控网络状态
# 此命令用于显示整个系统目前的网络情况。例如目前的连接、数据包传递数据、或是路由表内容。
netstat -anp|more
#查看网络占用端口号
netstat -n |grep 9080| awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
#查看apache当前并发访问数
netstat -an | grep ESTABLISHED | wc -l
14、cpu监控
#监控cpu
vmstat 1(单位:秒)
#监控进程
top
#查看cpu位数
getconf LONG_BIT
#查看内存
free -g |grep "Mem" | awk '{print $2}'
#查看CPU核数
cat /proc/cpuinfo |grep -c processor
15、文件解压缩
#压缩文件
tar -czf engine.tar.gz /engine /log
#列出压缩文件列表
tar -tzf engine.tar.gz
#解压文件
tar -xvzf engine.tar.gz
16、查头观尾看动态
#查看日志中的头20行
head -n 20 collect.log
#查看日志中的后20行
tail -n 20 collect.log
#查看全部日志、基本用不到
cat collect.log
#查看动态滚动日志
tail -f collect.log
17、系统文件
#修改IP域名映射
vim /etc/hosts
#修改环境变量
vim /etc/profile
18、查看活跃的nginx进程
netstat -anp | grep nginx | grep ^tcp | wc -l
19、查看端口连通
telnet ip port
20、分隔日志文件按大小(200m)
split -b 200m obj.log