grep查找文件中的关键字
# 从以sql结尾的文件中找 iu
grep 'iu' *.sql
# 匹配多个关键字
grep -E "test|update" test.log
# 匹配多个关键字,查看之后的3行
grep -A 3 -E "test|update" test.log
# 匹配多个关键字,查看前后的3行
grep -C 3 -E "test|update" test.log
# 显示红色
grep -C 3 -E "test|update" test.log --color
# 同时查包括这两个关键字的行
grep "apple" file.txt | grep "banana"
ls查看文件
# 查看所有名字带有test的文件
ls | grep 'test'
统计文件中出现login的次数
grep -o "login" run.log | wc -l
查看磁盘使用情况
# 显示当前目录下每个文件/文件夹的大小【不涉及子目录】
du -sh *
# 显示磁盘的使用情况
df -lh
# 只显示当前目录下一级子目录的大小
du -h --max-depth=1
# 磁盘满了可以清理/home下面的各种文件,/var /tmp不属于/dev/mapper的计算范围
# 如果清理后依然爆满,可能是文件句柄被占用没有释放,可以重启应用。比如nohup文件直接被删掉了,但应用没有重启。一般推荐通过以下方法清空文件
cat /dev/null > filename
回到上一个文件夹
判断端口是否被占用
# 判断端口是否被占用
lsof -i:6379
# 查看当前所有tcp端口
netstat -ntlp
# 查看所有80端口使用情况
netstat -ntulp | grep 80
# 查看所有3306端口使用情况
netstat -an | grep 3306
# 查看当前所有监听端口
netstat -nlp | grep LISTEN
curl 测试接口
# POST 提交 JSON 数据
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer 写token" -d '{"username":"hello", "password":"123456"}' http://localhost/login
判断网络是否通畅
# 测试端口是否开放
telnet ip port
# 测试目标机器的连通性和域名解析
ping ip/域名
查看进程堆栈
# 把整个进程的堆栈都打印出来
jstack -l 进程ID(进程用服务的)
# 存储到某个文件里
jstack -l pid > jstack20250625.txt
查找可执行文件
which redis-server
whereis redis-server
find / -name redis
chown权限改造
# 给当前目录所有文件把所有人和属组都转给dgadmin
chown -R dgadmin:dgadmin *
Linux定时任务
# 查看当前定时任务
crontab -l
# 修改定时任务
crontab -e
# 比如:添加每天3点跑的清理日志的任务
* 3 * * * /home/dgadmin/clear_old_logs.sh
# 注意要给clear_old_logs.sh赋权限
chmod 777 clear.sh
# 执行的日志文件可在以下目录中被看到
/var/log/cron