目录
最近在面试,计划是面试几个初级的运维工程师,面试了好多个,暂时还没遇到合适的,可能是之前没有面试别人的经验,所以没有掌握好问的尺度。
看到简历中都写的蛮高大上的,问的难度不免大了些,看到有写k8和容器的,结果一问,要不就是不是自己做的,要不就是回答的不清不楚。
结果最后问了一句,要查看日志的最后10行的话,用什么命令,结果还迟疑了蛮久,这才发现小丑竟是自己,这里想说的是,虽然现在很多都是云资源,很多时候一些基础的内容,有人替完成了,但是一些最基础的,还是要清楚的啊。
这篇文章的话,完全是根据我自己经验,总结的,现在可能用的少了,但是在之前的话,基本是每天都要用到的。
每天用到几十次的命令
1.cd
每天几十次其实算少的了,尤其是对于日常运维还没有那么自动化的公司
作用就是切换目录了
cd .. 切换到上一层目录
cd ~ 切换到根目录
cd - 切换到上次所在的目录,这个命令某些时候是可以起到大作用的
2.cp
复制,-r,-a 这两个属性用到比较多
-r 是递归复制,可以用来复制目录
-a 的话,会复制对应的属性,比如有些是可执行的文件
3.ls
查看对应目录下文件
用到最多的选项有 -l ,-a
-l 可以显示具体文件的一些创建时间,文件大小等
-a 可以显示隐藏文件,如.ssh等
4.rm
很多开发会和我们开玩笑,什么rm -rf
但对于运维来说,这个命令真的是每天很多遍的,这么多年也没有错删过
当然了,新人还是使用谨慎些,-f就少用吧
-r 的话,是递归删除
5.mv
可以给文件换位置,也可以改文件名字
6.cat
查看文件内容
看大日志文件慎用
每天用到十次左右的命令
7.ps
查看进程
用的最多的就是 -ef
或者是 -aux
8.top
简单说就是查看负载
服务器整体的负载,单个进程的负载,都可以看到
按a可以看到所有cpu核的负载
按m可以查看占用内存最多的进程
9.free
查看内存
可以-h、-m
10.tail
文件最后10行
-n 可以指定行数
-f 可以实时刷新
11.head
查看文件前10行
可以加 -n 查看固定行数
12.ip ad
其实完整的是 ip add show
ip ad可以直接显示
用来最多的是查看ip
linux下也可以用ipconfig
cmd下可以用ifconfig
13.netstat
还有类似的命令 nc 有时候也可以使用lsof
用来查看端口
netstat -an |grep port
可以根据进程号查看端口
netstat -antlp|grep pid
其它常用命令
14.touch
建一个文件
15.history
查看历史命令
其实在运维工作中,查看历史命令是很有用的
尤其是一些历史系统,长久没有人动的
还得看历史命令才可以找到一些记录
16.find
这个命令,其实很强大
用到最多的就是查找文件
可以根据名字查找,也可以根据时间去查找,也可以根据文件类型查找
find / -name test*
find / -mtime 10
find / -type f
17.awk
常用的是-F
根据指定字段进行分割
如:echo "1-2-3"|awk -F'-'‘{print $2}’
18.sed
用的最多的就是替换字段
sed -i 可以直接对文件生效 不加-i可以输出 查看替换效果
sed -i ‘s/原字段/替换字段/g’ 文件名
19.telnet
探测对端端口 是否通
可以判断对端服务是否正常
当然了, 也可能是有墙
20.pwd
当前位置路径
比如复制文件啥的,有时候会用到