linux常见命令

场见操作

查看内存大小

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

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
      • 某个字符串出现次数
      1. 使用 -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]
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值