Linux常用命令

linux
# mac常用
vim
gg 第一行
G 最后一行
^ (shift+6) 行首
$(shift+4)行尾
u 撤消操作
ctrl+r 恢复上一步的撤销操作

open .	# 打开当前目录、文件
open -n /Applications/Safari.app/ # 开启新Safari窗口
caffeinate -t 3600	# 一小时不进入睡眠状态
purge  # 清除内存和硬盘缓存,相当于重启
chflags hidden ~/Desktop/macx #隐藏文件
chflags nohidden ~/Desktop/macx #取消隐藏
zip -e test.zip ~/Desktop/test.txt #压缩zip
diff dual.txt dual2.txt #比较两个文件的不同
command+R 刷新

# 查找命令
lsof -i:5601
netstat -tunlp | grep 5601
netstat -an | grep 9100


# 数据分析命令 head、tail、wc
# grep 查找、sed 编辑、awk 根据内容分析并处理

# 查看行数、单词数、字符数
wc -lwc a.txt 
# 看前20行
head -20 sys.log 
# 倒数20行并进入实时监听文件写入模式
tail -20f sys.log 
# 查找文件
find /home -name "*.txt"
find /Users/yuanhua /usr -name \*.log #多目录查找
find /home/yuanhua -atime -1 #一天内访问的文件
find /home/yuanhua -size +100000k #查找文件大于100M的文件
## grep 查找内容
grep 'hello' f.txt #文件查找内容
grep 'hello'est f.txt cpf.txt #多文件查找内容
grep -rn "helloword" * #查找内容
cat f.txt | grep -i 'hello'
grep 'hello' /home/yann -rn --include *.{vm,java} #指定文件后缀
grep 'hello' /home/yan -rn --exclude *.{vm,java} #反匹配
cat f.txt | grep 'hello' -A 2 #上匹配
cat f.txt | grep 'hello' -B 2 #下匹配
cat f.txt | grep 'hello' -C 2 #上下匹配,hello所在行的上下2行
cat f.txt | grep -c 'hello' # 出现的次数

# sed
sed [-nefri] ‘command’ 输入文本 d:删除 p:列印 a:新增 c:取代 s:替换 i:插入
sed '/test/d' b.txt 删除有test的行,但源文件不变
sed '1d' ab              #删除第一行 
sed '$d' ab              #删除最后一行
sed '1,2d' ab           #删除第一行到第二行
sed '2,$d' ab           #删除第二行到最后一行
sed -n '/test/p' ab    查询包括关键字test所在所有行
sed -n '1p' ab           #显示第一行 
sed -n '$p' ab           #显示最后一行
sed -n '1,2p' ab        #显示第一行到第二行
sed -n '2,$p' ab        #显示第二行到最后一行
sed 's/要替换的字符串/新的字符串/g'   (要替换的字符串可以用正则表达式)
sed -i '/匹配字符串/d'  filename  (注:若匹配字符串是变量,则需要“”,而不是‘’。记得好像是)

# awk
awk [-F  field-separator]  'commands'  input-file(s)
last -5 | awk  '{print $1}'
cat /etc/passwd | awk  -F ':'  '{print $1}' 
cat /etc/passwd | awk  -F ':'  '{print $1"\t"$7}'
awk '/yann/ {print}' hh.txt #匹配yann
awk '!/yann/ {print}' hh.txt #不匹配yann
awk '/yann/ && /hua/ {print}' f.txt #匹配yann和hua
awk '$5 ~ /yann/ {print}' f.txt #第五列匹配yann


strings #命令在对象文件或二进制文件中查找可打印的字符串。


# 查看196.124.2.1是否开放8081端口
telnet 196.124.2.1 8081
# 查看进程详情
jps -m -l
# 显示进程当前状态
ps aux | grep kibana
ps aux | less
ps -ef | grep java

问题:使用 kill -9 PID 无法杀死一个进程.
原因: 这个进程可能是一个僵尸进程(Zombie Process)
解决:
1. 查看僵尸进程:
ps -ef | grep defunct
#子进程, 父进程
ps -ef | grep defunct | more
ps -ef |grep boco|grep -v grep|awk '{print "kill -9 "$2}' | sh
2. 杀死僵尸进程的父进程:
kill -9 PPID

ps -ef | grep start_pord.sh | awk '{print "kill -9 "$2}' | sh

# 查看防火墙
service iptables status
/etc/init.d/iptables status

# 永久生效,重启不会复原
chkconfig iptables on/off
# 即时生效,重启后复原
service iptables start/stop

# 检查
chkconfig --list iptables
# 关闭selinux
setenforce 0
# 永久关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config


# 清空cache
echo 3 > /proc/sys/vm/drop_caches
# 查看内存
free -h 
# 查看硬盘
df -h
# 查看当前每个文件夹的大小
du -h

# 性能分析命令
top 能够实时显示系统中各个进程的资源占用状况。类似于Windows的任务管理器
vmstat 虚拟内存的统计。实时监控cpu运行队列和系统关键的性能指标,如磁盘,上下文交换,cpu使用率等。 
iostat 主要用于监控系统设备的IO负载情况
netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态
jstat -gcutil 7753 1000

# 运行jar
一、java -jar XXX.jar
这是最基本的jar包执行方式,但是当我们用ctrl+c中断或者关闭窗口时,程序也会中断执行。
二、java -jar XXX.jar &
&代表在后台运行,使用ctrl+c不会中断程序的运行,但是关闭窗口会中断程序的运行。
三、nohup java -jar XXX.jar &
使用这种方式运行的程序日志会输出到当前目录下的nohup.out文件,使用ctrl+c中断或者关闭窗口都不会中断程序的执行。
三、nohup java -jar XXX.jar >temp.out &

>temp.out的意思是将日志输出重定向到temp.out文件,使用ctrl+c中断或者关闭窗口都不会中断程序的执行。

nohup sh /home/edh/flink_sx_restart/start_ch.sh  >/home/edh/flink_sx_restart/temp.log 2>&1 &

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值