场见操作
查看内存大小
//查看系统中文件的使用情况
df -h
//查看当前目录下各个文件及目录占用空间大小
du -sh *
//方法一:切换到要删除的目录,删除目录下的所有文件
rm -f * /rm -rf *
//方法二:删除logs文件夹下的所有文件,而不删除文件夹本身
rm -rf log/*
查找文件
查找文件指定内容
- grep “内容关键字” filename
- 查找指定内容
- (1)grep ‘test’ d* #显示所有以d开头的文件中包含 test的行
- (2)grep ‘test’ aa.txt bb.txt cc.txt #显示在aa,bb,cc文件中包含test的行
- (3)grep ‘[a-z]{5}’ aa #显示所有包含每行字符串至少有5个连续小写字符的字符串的行
- (4)grep magic /usr/src #显示/usr/src目录下的文件(不含子目录)包含magic的行
- (5)grep -r magic /usr/src #显示/usr/src目录下的文件(包含子目录)包含magic的行
- (6)grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
- grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行
- grep -B 5 foo file 显示foo及前5行
- grep -A 5 foo file 显示foo及后5行
- options
- -c:只输出匹配行的计数。
- -i:不区分大小写
- -h:查询多文件时不显示文件名。
- -l:查询多文件时只输出包含匹配字符的文件名。
- -n:显示匹配行及行号。
- -s:不显示不存在或无匹配文本的错误信息。
- -v:显示不包含匹配文本的所有行。
- pattern
- \: 忽略正则表达式中特殊字符的原有含义。
- ^:匹配正则表达式的开始行。
- $: 匹配正则表达式的结束行。
- <:从匹配正则表达 式的行开始。
- >:到匹配正则表达式的行结束。
- [ ]:单个字符,如[A]即A符合要求 。
- [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
- .:所有的单个字符。
- * :有字符,长度可以为0。
- grep -o objStr filename|wc -l
- 某个字符串出现次数
-
- 使用 -E ‘pattern1.*pattern2’
- grep命令本身不提供AND功能。但是,使用 -E 选项可以实现AND操作。
- grep -E ‘pattern1.*pattern2’ filename
- grep -E ‘123|abc’ filename // 找出文件(filename)中包含123或者包含abc的行
- grep -E ‘pattern1.*pattern2|pattern2.*pattern1’ filename
- 查找指定内容
查找文件
- 按照文件名查找
- (1)find / -name httpd.conf #在根目录下查找文件httpd.conf,表示在整个硬盘查找
- (2)find /etc -name httpd.conf #在/etc目录下文件httpd.conf
- (3)find /etc -name ‘srm’ #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
- (4)find . -name ‘srm*’ #表示当前目录下查找文件名开头是字符串‘srm’的文件
- 按照文件特征查找
- (1)find / -amin -10 # 查找在系统中最后10分钟访问的文件(access time)
- (2)find / -atime -2 # 查找在系统中最后48小时访问的文件
- (3)find / -empty # 查找在系统中为空的文件或者文件夹
- (4)find / -group cat # 查找在系统中属于 group为cat的文件
- (5)find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件(modify time)
- (6)find / -mtime -1 #查找在系统中最后24小时里修改过的文件
- (7)find / -user fred #查找在系统中属于fred这个用户的文件
- (8)find / -size +10000c #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
- (9)find / -size -1000k #查找出小于1000KB的文件
- 使用混合查找方式查找文件
- (1)find /tmp -size +10000c -and -mtime +2 #在/tmp目录下查找大于10000字节并在最后2分钟内修改的文件
- (2)find / -user fred -or -user george #在/目录下查找用户是fred或者george的文件文件
- (3)find /tmp ! -user panda #在/tmp目录中查找所有不属于panda用户的文件
删除文件
删除文件夹: rm -rf dir
- rm -rf a.txt b.txt c.txt
- rm -rf a.txt
- rm -rf *
#删除keep文件之外的所有文件
- rm -rf !(keep) #删除keep文件之外的所有文件
rm -rf !(folder)
#删除folder1和folder2文件之外的所有文件
rm -rf !(folder1 | folder2)
移动
mv build/ config/ shell/ src/ static/ index.html package.json README.md -t ido-cp-guide/
- 同时移动build/ config/ shell/ src/ static/ index.html package.json README.md 内容到ido-cp-guide 目录。
选择操作
& 表示任务在后台执行,如要在后台运行redis-server,则有 redis-server &
&& 表示前一条命令执行成功时,才执行后一条命令 ,如 echo '1‘ && echo ‘2’
| 表示管道,上一条命令的输出,作为下一条命令参数,如 echo ‘yes’ | wc -l
|| 表示上一条命令执行失败后,才执行下一条命令,如 cat nofile || echo “fail”
less more
网络连通
curl
- curl -H “Content-Type:application/json” -H “deviceid:11” -X POST --data ‘{“sysCode”:“123”,“cityCode”:“755”,“orgCode”:“755G”}’ url -v
telnet
- telnet ip port
ping
- ping ip
查看端口
- netstat -tunlp
查看ip
- ifconfig
- ip addr
部署
nohup java -jar onemilion.jar &
- 优化方法一:
- java -jar xxx.jar &
- & 表示后台运行,ssh窗口不被锁定,但是关闭窗口时,程序还是会退出
- 优化方法二:
- nohup java -jar xxx.jar &
- nohup 表示不挂断运行命令行,当账号退出或关闭终端时,程序仍然运行
- 当用 nohup 命令执行作业时,该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。
- 优化方法三:
- nohup java -jar xxx.jar >/usr/local/temp.txt &
- > /usr/local/temp.txt 表示将所有启动的日志信息记录到temp.txt文件中
- 原文:https://blog.csdn.net/husong_/article/details/80811224
内存监控
top操作
- jvm排查
-
找到具体进程
- top | grep “java”
-
top -c
-
找到线程id
- ps -mp 26178 -o THREAD,tid,time | sort -rn | more (sort -rn 以数值的方式进行逆序排列)
-
找出几个占用cpu时间比较高的TID,进行16进制转换
- printf “%x\n” 26217
-
再使用jstack命名查询是哪个线程
- jstack 55273(pid)|grep -100 d7fc
-
ps -ef | grep httpd :
-
检查httpd进程是否存在
* jps
* top -H -p查看某个进程内部线程占用情况分析
* 总结
* jstack 打印线程状态,分析线程负载状况:先通过top命令找到CPU占用资源较高的进程pid,然后同top -Hp 23344查看该进程中各个线程的CPU使用情况,可以看出pid为25077的线程占了较多的cpu资源,利用jstack命令可以继续查看该线程当前的堆栈状态。在top命令中,已经获取到了占用cpu资源较高的线程pid,将该pid转成16进制的值,在thread dump中每个线程都有一个nid,找到对应的nid即可;
- 按P – 以 CPU 占用率大小的顺序排列进程列表
- 按M – 以内存占用率大小的顺序排列进程列表
- top -d 1 -n 1000
- 这一行命令表示延迟1秒为周期,打印1000次。
- 运行中参数
- s – 改变画面更新频率
- l – 关闭或开启第一部分第一行 top 信息的表示
- t – 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示
- m – 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示
- N – 以 PID 的大小的顺序排列表示进程列表
- P – 以 CPU 占用率大小的顺序排列进程列表
- M – 以内存占用率大小的顺序排列进程列表
- h – 显示帮助
- n – 设置在进程列表所显示进程的数量
- q – 退出 top
- s – 改变画面更新周期
ps
- 自由命令
- 按内存升序排列:ps aux --sort=rss
- 按CPU降序排列:ps aux --sort=-%cpu
- ps aux --sort=-%mem
- 按内存降序
- ps aux --sort=-%cpu
- ps+sort
- ps -eo rss,pmem,pcpu,vsize,args | sort -k 1 -r -n | less
- 按内存使用进行降序排列
- ps , -e 是显示所有进程, -o是定制显示信息的格式
-
rss: resident set size, 表示进程占用RAM(内存)的大小,单位是KB
-
pmem: %M, 占用内存的百分比
-
pcpu:%C,占用cpu的百分比
-
vsize: 表示进程占用的虚拟内存的大小,KB
-
args:进程名(command)
-
sort命令对ps结果进行排序
-
-k 1 :按第一个参数 rss进行排
-
-r:逆序
-
-n:numeric,按数字来排序
ps命令:可以查看进程的瞬间信息。
top命令:可以持续的监视进程的信息。
jmap
- jmap -heap [pid]
- 就可查看整个JVM中内存的状况
- jmap -histo
- 即可查看jvm堆中对象的详细占用情况
- jmap -dump:format=b,file=文件名 [pid]