linux 常用命令

cat

cat a.txt > b.txt 将a.txt中的内容写入b.txt(如有有b.txt则覆盖,没有则创建)。
cat a.txt >> b.txt 将 a.txt的的内容追加到b.txt,如果b.txt不存在,则创建。

vi

vi 打开文件时
    dd:移动光标到指定行,摁dd可删除该行。
    ctrl + f:往下翻页
    ctrl + b:往上翻页
    gg:移动该文件的第一行的第一个非空白处
    :n:移动到第 n 行,如果 n > 总行数,则移动到最后一行
    /:查找

grep

grep -r 'xxx' a.txt:输出a.txt中匹配xxx的行
grep -c 'xxx' a.txt:输出a.txt中匹配xxx的行数
grep -i 'xxx' a.txt:忽略大小写输出匹配xxx的行数

ps

ps -ef:查看进程
ps x|grep java:查看java进程

zip / unzip

zip -r a.zip a/ :将 a/压缩为 a.zip,有多个文件则以空格分割
unzip a.zip     解压缩
unzip -v a.zip  不解压缩,查看文件里的内容

sudo

sudo -u admin ls 以 admin 用户执行 ls 命令

lsof -i:port

查看端口占用情况

jstack 命令

jstack pid:查看该 pid 的线程信息
    注:如果返回 pid: well-known file is not secure,说明 pid 不是当前用户启动的,可以去 /tmp/hsperfdata_$USER/$PID ,找到对应的 pid 的父目录,就知道是谁启动的了。比如是 admin 启动的,则用  sudo -u admin jstack pid 就行
    可通过打出来的结果查看线程信息,是否死锁,是否等待中的线程过多,如打印出的线程状态:
java.lang.Thread.State: 
    BLOCKED: 被阻塞,可能死锁
    Runnable: 线程准备运行或正在运行
    Wait on condition: 线程等待某个条件才发生(比如网络读写),或者该线程正在 sleep
    Waiting for monitor entry:线程等待进入 synchronized 的代码段,排队等候时就进入了 entry set,此时的状态就是:Waiting for monitor entry。该状态会马上变为 Runnable    
    in Object.wait():对象调用了 wait() 方法,则加入到 wait set 中,此时的状态就是 in Object.wait(),等待别的线程在该对象上调用 notify() 或 notifyAll()方法,才有机会重新进入 entry set
    Waiting:线程闲置中,等待任务来。(可能是设置的线程池太大,可考虑减小)

df -h

查看磁盘容量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值