Skip to content

Commit be1692f

Browse files
authored
Update Linux面试题.md
1 parent 2b4a167 commit be1692f

File tree

1 file changed

+64
-7
lines changed

1 file changed

+64
-7
lines changed

docs/Linux面试题.md

Lines changed: 64 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,75 @@
1-
## 检索文件内容 grep
1+
# Linux面试题
2+
3+
如今程序员生产的代码99%都部署在linux环境下,代码发现缺陷,程序员的第一反应是到 Linux 上拉日志下来看。程序员不是运维,不需要掌握非常多复杂命令。
4+
5+
# 推荐终端工具
6+
7+
- SecureCRT
8+
- xshell
9+
10+
## 常用命令(重要)
11+
12+
ls/ll、cd、mkdir、rm-rf、cp、mv、ps -ef | grep xxx、kill、free-m、tar -xvf file.tar
13+
14+
**查看进程:**(例:如何查看所有xx进程)
15+
16+
 ps -ef | grep xxx
17+
18+
​ ps -aux | grep xxx(-aux显示所有状态)
19+
20+
**查看日志:**
21+
22+
tail -f *.log : 适用于实时查看日志,开发环境还行,生产就算了,日志会很多。
23+
24+
**tail -f error.log** :生产中一般用这个实时看异常日志
25+
26+
**编辑 vi/vim : **
27+
28+
**vi x.log** 编辑你的日志文件
29+
30+
i 写入
31+
32+
:wq 保存退出
33+
34+
:q! 或者 ctrl+c 退出不保存
35+
36+
Shift+g 跳至当前文本最后一行,看最新的日志,都在最下面
37+
38+
## grep 查找(重要)
39+
40+
**grep 是必备日志分析命令**
41+
42+
**grep -r '关键字如商品ID' \*.log (使用频率最高)**
43+
44+
**grep '关键字如商品ID' \*.log | grep 免费商品(在管道符前条件结果中,在加条件筛选下) **
45+
46+
**grep '关键字如商品ID' \*.log >> anan.txt 【相关日志输入到一个txt中,下载到本地慢慢看,我最喜欢】**
47+
248
grep "被查找的字符串" 文件名
349
`grep -n 2019-10-24 00:01:11' *.log`
4-
可以.log文件中,查到时间内的所有信息
50+
可以查找 *.log文件中,查到时间内的所有信息
51+
52+
## 查找特定文件 find
53+
54+
**find ~ -name "需要查找的文件名"**
55+
56+
比如:`find ~ -name "本机ip.txt"` 就可以得到文件名所在的目录
557

6-
参数:
7-
-o 或 --only-matching : 只显示匹配PATTERN 部分。
8-
-v 或 --revert-match : 显示不包含匹配到的文本的所有行。 (过滤掉自己当前操作的信息,就是-v后面的内容)
958
### 管道操作符 |
59+
1060
可将指令连接起来,前一个指令的输出作为后一个指令的输入
1161

62+
### 杀僵尸进程
63+
64+
部分程序员,肯定喜欢下面命令
65+
66+
ps -ef | grep java 【先查java进程ID】
67+
68+
kill -9 java进程ID 【生产环境谨慎使用】
69+
1270
## 对文件内容做统计 awk
13-
awk
14-
类似一个函数的命令,更复杂的检索。
1571

1672

1773
## 批量替换 sed
74+
1875
sed 配合正则表达式批量替换文本内容

0 commit comments

Comments
 (0)