六、java-操作系统-1
1. 操作系统
1.1 Linux里如何查看一个想知道的进程?
参考回答
查看进程运行状态的指令:ps命令。“ps -aux | grep PID”,用来查看某PID进程状态
答案解析
//ps使用示例 //显示当前所有进程 ps -A //与grep联用查找某进程 ps -aux | grep apache //查看进程运行状态、查看内存使用情况的指令均可使用top指令。 top
1.2 Linux里如何查看带有关键字的日志文件?
参考回答
- cat 路径/文件名 | grep 关键词
# 返回test.log中包含http的所有行 cat test.log | grep "http"
- grep -i 关键词 路径/文件名 (与方法一效果相同,不同写法而已)
# 返回test.log中包含http的所有行(-i忽略大小写) grep -i "http" ./test.log
1.3 说说你对grep命令的了解?
参考回答
grep 命令。强大的文本搜索命令,grep(Global Regular Expression Print) 全局正则表达式搜索。
grep 的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。
答案解析
1. //参数 2. -A n --after-context显示匹配字符后n行 3. -B n --before-context显示匹配字符前n行 4. -C n --context 显示匹配字符前后n行 5. -c --count 计算符合样式的列数 6. -i 忽略大小写 7. -l 只列出文件内容符合指定的样式的文件名称 8. -f 从文件中读取关键词 9. -n 显示匹配内容的所在文件中行数 10. -R 递归查找文件夹 11. 12. //grep 的规则表达式: 13. ^ #锚定行的开始 如:'^grep'匹配所有以grep开头的行。 14. $ #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。 15. . #匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。 16. * #匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。 17. .* #一起用代表任意字符。 18. [] #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。 19. [^] #匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。 20. \(..\) #标记匹配字符,如'\(love\)',love被标记为1。 21. \< #锚定单词的开始,如:'\<grep'匹配包含以grep开头的单词的行。 22. \> #锚定单词的结束,如'grep\>'匹配包含以grep结尾的单词的行。 23. x\{m\} #重复字符x,m次,如:'0\{5\}'匹配包含5个o的行。 24. x\{m,\} #重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。 25. x\{m,n\}#重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。 26. \w #匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。 27. \W #\w的反置形式,匹配一个或多个非单词字符,如点号句号等。 28. \b #单词锁定符,如: '\bgrep\b'只匹配grep。 //实例: 1. //查找指定进程 2. ps -ef | grep svn 3. 4. //查找指定进程个数 5. ps -ef | grep svn -c 6. 7. //从文件中读取关键词 8. cat test1.txt | grep -f key.log 9. 10. //显示包含 ed 或者 at 字符的内容行 11. grep -E 'ed|at' test.txt
1.4 Linux修改主机名的命令是什么?
参考回答
如果只需要临时更改主机名,可以使用hostname命令。
sudo hostname <new-hostname> # 例如: sudo hostname myDebian #myDebian为修改名
如果想永久改变主机名,可以使用hostnamectl命令
sudo hostnamectl set-hostname myDebian #myDebian为修改名
1.5 Linux开机自动执行命令如何实现?
参考回答
方法 #1 - 使用 cron 任务
除了常用格式(分 / 时 / 日 / 月 / 周)外,cron 调度器还支持 @reboot 指令。这个指令后面的参数是脚本(启动时要执行的那个脚本)的绝对路径。
然而,这种方法需要注意两点:
a) cron 守护进程必须处于运行状态(通常情况下都会运行),同时
b) 脚本或 crontab 文件必须包含需要的环境变量。
方法 #2 - 使用 /etc/rc.d/rc.local
这个方法对于 systemd-based 发行版 Linux 同样有效。不过,使用这个方法,需要授予 /etc/rc.d/rc.local 文件执行权限:
# chmod +x /etc/rc.d/rc.local
然后在这个文件底部添加脚本。