Linux知识点记录
1. 后台运行应用程序
参考文章:https://blog.csdn.net/Pan_peter/article/details/128875714
https://www.cnblogs.com/yunwangjun-python-520/p/10713564.html
方法一:&
在执行程序的时候后面加上 &
# 后台执行该应用程序
./test &
查看任务是否在运行:ps -ef | grep test
可以通过kill
指令来关闭该程序
注意::该种方法当用户挂起或退出的时候,命令会自动结束,即当前终端退出的时候,程序也会自动结束
方法二:nohup + &
nohup
是指不挂断的运行,即使终端关闭也会继续运行
nohup ./test &
可以通过输出重定向的方式将程序运行日志保存到文件中:
nohup ./test > log.txt &
2. 一个shell脚本中执行多个应用程序
和上面后台运行程序
的方法一致 ,例如:后台运行test1和test2程序
#! /bin/bash
echo "start program!!!"
./test1 &
./test2 &
echo "program start finished!!!"
sleep 1
exit 0
注意:如果test1
程序不指定为后台运行,test2
程序便不会执行
3. 2>&1
参考文章:https://blog.csdn.net/zhaominpro/article/details/82630528
这里的0,1,2分别代表标准输入(stdin),标准输出(stdout),标准错误(stderr)
2>&1
的含义:将标准错误输出重新定向到标准输出。
4. shell脚本清除日志
参考文章:https://zhuanlan.zhihu.com/p/94482036
https://www.cnblogs.com/dongye95/p/11810224.html
find /home/logs/ -mtime +3 -name "*.log" -exec rm -rf {} \;
find
: linux查找指令/home/logs
: 需要查找文件的目录-mtime
用于指定时间参数+3
: 表示查找3天前的文件*.log
表示需要查找的文件类型-exec rm -rf {} \
固定写法表示强制删除前面查找到的文件
5. 通过grep查找匹配字符串
grep -rn "aaa" *
-r
表示递归查找-n
表示显示查找到的信息在对应文件的行号"aaa"
表示需要查找的字符串*
表示查找当前文件夹的所有文件