声明:本文纯属个人随手笔记,如果对您有参考价值我十分开心,如果有存在错误,或者有更好的解决办法也麻烦您留言告诉我,大家共同成长,切勿恶言相。 欢迎加入资源共享QQ群:275343679,一起发现知识、了解知识、学习知识、分享知识。个人网站:www.itlantian.top
================================================================================
/*-------------------------------Linux----------------------------------*/
1. 在 LINUX 命令平台输入 1-2 个字符后按 Tab 键会自动补全后面的部分(前提是要有这个东西,例如在装了 tomcat 的前提下, 输入 tomcat 的 to 按 tab)。
2. ps 命令用于查看当前正在运行的进程。
grep 是搜索
例如:
ps -ef | grep java
表示查看所有进程里 CMD 是 java 的进程信息
ps -aux | grep java
-aux 显示所有状态
ps
-ef查看进程 pid
ps -ef pid
3. kill 命令用于终止进程
例如:
kill -9 [PID]
-9 表示强迫进程立即停止
通常用 ps 查看进程 PID ,用 kill 命令终止进程
4. nohup启动服务
例如:
nohup java -DLOG_HOME=stock-inner -Xms2048m -Xmx2048m -Xss512K -XX:PermSize=512m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/netty/jvmdump -jar /opt/app/netty/running/test/test.jar start 7320 7411 &
## 应用输出
tail -f catalina.out
## 容器输出
vi / vim localhost.2016-05-10.log
## 显示行数
:set nu
## 不显示行数
:set nonu
## 删除多少行(1~100)
:1,100d
## 快速到第40 行:
40 + shift + G
## 定位到n行
:n
## 准确查询(正则表达式)
/text 准确查询
## 显示隐藏文件
ls -a
## 删除文件
rm -rf fileName
## 创建文件
mkdir fileName
## 登录跳板机******************
ssh 1.0.0.ip
## 上传文件********************
scp test.jar root@10.23.37.77:/opt/app/spring/running/test/
## 查找 (统计)
cat test.log | grep 'Ask APP getRequest sessionID' | wc -l
## 查看底部即最新300条日志记录,并实时刷新
tail web.2016-06-06.log -n 300 -f
## 进到日志目录查看文件大小,
df -lh
du -sh *
## 哪个大就清哪个,
echo >文件名
## 清空日志
echo "" > /usr/local/tomcat/tms2api.wuliusys.com/logs/catalina.out
## 查找占空间大,且没用的文件或文件夹,删除掉。
find / -size +100M -exec ls -lh {} \;
##切割字符
tail -100 test.log |awk -F'goodsId:' '{print $2}'|awk -F' ,' '{print $1}'|awk '!a[$1]++' |sort -n
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort
O: read-only, 只读,不能改
E: 可以改,从前的修改都丢失
R: 恢复(从前的修改)
D: 删去(我没用过,估计是删去.test.txt.swp)
Q: 退出(什么也不做)
A: 半途放弃(没用过)
*************************************************************************
## 在服务器的日常维护过程中,会经常用到下面的命令:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
## 查询并标识颜色
grep --color "100000002689192" test.log
grep --color -n2 '关键字' cat test*.log |grep -n1 'true'
[oracle@DB-Server bdump]$ rm -v epps_q001_*
-bash: /bin/rm: Argument list too long
## 查看总共有多少个这类文件,如下所示,总共有8348个文件
[oracle@DB-Server bdump]$ ls -lrt epps_q001_* | wc -l
-bash: /bin/ls: Argument list too long
0
[oracle@DB-Server bdump]$ find . -name "epps_q001_*" | wc -l
8438
**顶部************
GG
**底部************
shift + gg
## 此时可以通过xargs命令来解决这个问题。如下所示:
[oracle@DB-Server bdump]$ find . -name "epps_q001_*" | xargs rm -r
## 获取节点名称
ps aux|grep java|grep -v 'grep'|awk -F'=' '{print $2}'|awk '{print $1}'
## 获取节点IP
ifconfig|grep Bcast|awk -F':' '{print $2}'|awk '{print $1}'
## 查看日志大小
ls -lh /opt/logs/netty/test.*.log
## ********************************请求方式*********************************** ##
curl -H 'Content-Type: application/json' -d '<ADSRequest><tid>test1</tid></ADSRequest>' 'http://接口地址 '
1.get请求
##1、使用curl命令:
curl "http://www.baidu.com" 如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地
curl -i "http://www.baidu.com" 显示全部信息
curl -l "http://www.baidu.com" 只显示头部信息
curl -v "http://www.baidu.com" 显示get请求全过程解析
##2、使用wget命令:
wget "http://www.baidu.com"也可以
2.post请求
##1、使用curl命令(通过-d参数,把访问参数放在里面):
curl -d "param1=value1¶m2=value2" "http://www.baidu.com"
curl -d "activityCode=11111&goodsId=111" "http://接口地址"
curl -H 'Content-Type: application/json' -d '<ADSRequest><tid>yiqifa</tid></ADSRequest>' 'http://接口地址 '
curl -H 'Content-Type: application/json' -d '{}' 'http://接口地址 '
##2、使用wget命令:(--post-data参数来实现)
wget --post-data ‘user=foo&password=bar’ http://www.baidu.com
##1 查看CPU
1.1 查看CPU个数
cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
2 **uniq命令:删除重复行;wc –l命令:统计行数**
1.2 查看CPU核数
cat /proc/cpuinfo | grep "cpu cores" | uniq
cpu cores : 4
1.3 查看CPU型号
cat /proc/cpuinfo | grep 'model name' |uniq
model name : Intel(R) Xeon(R) CPU E5630 @ 2.53GHz
总结:该服务器有2个4核CPU,型号Intel(R) Xeon(R) CPU E5630 @ 2.53GHz
##2 查看内存
2.1 查看内存总数
cat /proc/meminfo | grep MemTotal
MemTotal: 32941268 kB //内存32G
-----------telnet---查询端口------------------- 相差 differ currSaleSum
##shell命令字段拼接
1. cat test.csv |awk '{print "\"goodsSid\":"$1",\"shopAndStoreCode\":\""$2"\",\"shopSid\":\""$3"\""}'|while read l; do echo '{'$l',"saleStockSum":1}'; done > r.sh
2. bash kgen.sh(快到家格式脚本) r.sh > kdj.run ##sgen(搜索格式脚本)
3. bash kdj.run
4. screen -r (screen bash kdj.run)
5.切割字符(-n升序,默认降序)
tail -100 stock-syn.log |awk -F'goodsId:' '{print $2}'|awk -F' ,' '{print $1}'|awk '!a[$1]++' |sort -n
cat test.csv |awk -F ',' '{print "\"goodsSid\":"$1",\"shopAndStoreCode\":\""$3"\",\"shopSid\":\""$2"\""}'|while read l; do echo '{'$l',"saleStockSum":0}'; done > kdj0711_2.sh
bash kgen.sh kdj0705.sh > kdj0705.run
## 替换双引号
cat aa.txt |sed 's/\"//g' 结果是:hello
head -10 上架但是库存为0数据2.csv | awk -F ',' '{print $1 " " $1}'
vim aa.txt
:% s/"//g
【终端操作】 (需要在物理shell中操作)
screen:创建一个虚拟终端并且登录之
screen -ls:列出当前所有虚拟终端
screen [-d] -r sessionid:进入指定的虚拟终端
screen -X -S 16168 quit 杀掉本次挂起
【终端中的窗口操作】(挂载某个终端)
Ctrl+a c :创建窗口
Ctrl+a w :窗口列表
Ctrl+a n :下一个窗口
Ctrl+a p :上一个窗口
Ctrl+a 0-9 :在第0个窗口和第9个窗口之间切换
Ctrl+a K(大写) :关闭当前窗口,并且切换到下一个窗口(当退出最后一个窗口时,该终端自动终止,并且退回到原始shell状态)
exit :关闭当前窗口,并且切换到下一个窗口(当退出最后一个窗口时,该终端自动终止,并且退回到原始shell状态)
Ctrl+a d :退出当前终端,返回加载screen前的shell命令状态
如何关闭一个终端?
如果需要关闭一个终端,可以先进入此终端,然后将所有窗口关闭,当所有窗口都关闭的时候,终端自动关闭,并且出现“[screen is terminating]”。
【友情提醒】
使用screen创建的虚拟终端虽然实用上大大提高工作的安全性,但是,如果终端创建得太多,很容易让人找不到原来的程序在哪个终端中的哪个窗口中执行,令人迷惑,所以,终端的数目不宜创建过多,并且要时刻记住您程序所运行的具体终端、窗口。