1. 查看端口和进程
netstat -unltp|grep fdfs //查看fdfs占用端口
ps aux|grep nginx //查看nginx进程号
2. 设置程序开机自启
vi /etc/rc.d/rc.local
3. 根据名字查找文件
find / -name *.txt
4. mkdir创建多级目录
mkdir -p aaa/bbb/ccc
5. 删除指定文件
/root/gaojun/hahah/eeeeeeeeeeeeee
find / -name eeeeeeeeeeeeee |xargs rm -rf //只会删除eeeeeeeeeeeeee
6. 杀死指定进程
kill -9 pid
7. shell执行
chmod u+x zookeeper_stop_all.sh
8. 检索文件内容
grep -v 或 --revert-match : 显示不包含匹配文本的所有行。
grep -v
grep -o 或 --only-matching : 只显示匹配PATTERN 部分。
9. 统计日志内容
awk 处理结构化的数据
- 一次读取一行文本,按输入分隔符进行切片,切片分成多个组成部分
- 将切片直接保存在内建的变量中,
$1,$2… ($0表示行的全部)
测试数据:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 19842/java
tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 19842/java
tcp 1 0 0.0.0.0:8080 0.0.0.0:* LISTEN 19842/java
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2617/sshd
tcp 0 0 0.0.0.0:6939 0.0.0.0:* LISTEN 18788/./redis-serve
tcp6 1 0 :::3637 :::* LISTEN 17036/mysqld
tcp6 1 0 :::6939 :::* LISTEN 18788/./redis-serve
udp 0 0 0.0.0.0:68 0.0.0.0:* 817/dhclient
1. 显示文本中第一列和第三列的内容。
awk '{print $1,$4}' netstat.txt
2. 满足条件时打印出第一行和第三行的内容
awk '$1=="tcp" && $2=="1"{print $0}' netstat.txt
3. 打印带上行头
awk '($1=="tcp" && $2=="1") || NR==1 {print $0}' netstat.txt
4. 以逗号作为分隔符输出第二列
awk -F "," '{print $2}' awk.txt
5. 统计出现的次数
awk '{sum[$2]+=1}END{for(i in sum)print i"\t"sum[i]}' netstat.txt
- 批量替换文本内容
sed 处理非结构化的数据
语法:sed [option] 'sed command' filename
全名stream editor,流编辑器
适合用于对文本的行内容进行处理
1. 把Javba换成Java,-i是为了在文件中存入改动
sed -i 's/^Javba/Java/' sed.txt
2. 找到以.结尾的行,并将.替换为;
sed -i 's/\.$/;/' sed.txt
3. -g对整行的内容进行替换,不加只替换每一行的第一个
sed -i 's/,/;/g' sed.txt
4. -d删除文件中空行(符合条件的行)
sed -i '/^ *$/d' sed.txt
网友评论