运维面试准备(一)

运维面试准备

常见岗位要求

1.熟悉windows系统、熟悉linux系统知识及常用命令
2.了解网络知识,熟悉常见网络设备,如路由器、交换机、子网划分
3.具备一定的网络基础,掌握TCP/IP、http、VRRP等常用协议,熟练使用strace、netstat、sed等命令
4.熟练使用shell或者python,具备编写和维护自动化脚本的能力
5.docker/k8s、redis、nginx、mysql、MQ、NFS、ES等,有公有云类产品的运维经验
6.熟练gitlab、jenkins配置使用,需要有搭建和维护经验
7.至少精通一种数据库(如mysql、pgsql、oracle等)的管理、优化和故障排除技术

这是我看完某些招聘后的面试准备,同时也是对自己工作4年的知识梳理归纳,以及查缺补漏

windows系统相关

1.查看本机ip
 ipconfig
2.netstat 查看网络连接状态
 netstat -ano  #查看网络连接、状态以及对应的进程id
 netstat -ano | find "10.242.254.123"  #通过管道符查找特定ip的网络连接及进程号
3.路由跟踪
  tracert www.baidu.com  #探测数据包从源地址到目的地址经过的路由
4.测试主机是否连通 的常用方法
  ping 10.242.254.123
  telnet 10.242.254.123 80 #测试端口是否通
  Test-NetConnection -ComputerName 10.242.254.123 -Port 80 #通过powershell测试端口连通性,如果端口是通的,TcpTestSucceeded 属性为True,否则为False。
  nmap -p 80 10.242.254.123  #这个需要安装Nmap工具,才可以用
5.windows配置多用户远程登录
参考:
https://blog.csdn.net/happymagic/article/details/79448752
https://blog.csdn.net/happymagic/article/details/79448752

windows下使用wget

1.进入安装目录 然后cmd
  输入wget --version 可以查看版本
2.下载文件
下载文件重命名:
  wget -o 重命名.zip 网址
下载文件到指定目录:
  wget -P 目录 网址
例如:
  wget -P D:\xxx.zip http://www.xdown.com/xxx.zip
下载整个目录加-r参数
  wget -o -r 重命名.zip 网址

linux常用命令

1.查看日志

#查看实时日志
tail -f 
过滤实时日志
#查看含有'appid'关键字的前后5行
tail -f filename |grep 'appid' -C5

过滤需要的日志
cat filename |grep '关键字' -C10  #显示关键字的前后10行        
cat filename |grep '关键字' -A10  #显示关键字的后10行             
cat filename |grep '关键字' -B10  #显示关键字的前10行 
cat filename | grep --color 'appid'    #搜索日志中所有包含appid的行,–color匹配到的数据变红     
grep -i 'get' filename    #无视大小写过滤,等同于cat filename | grep -i 'get'
# 将过滤出来的 appid 所在的行 追加到 名字为test.log文件里,如果没有此文件,会默认创建;
grep 'appid' filename >> test.log
# 反选,将appid除外的行,覆盖到 test.log 文件里;
grep -v 'appid' filename > test.log

其他基础命令
tail  -n  10  filename  查询日志尾部最后10行的日志; 
tail -n +10 filename    查询10行之后的所有日志;
head -n 10  filename   查询日志文件中的头10行日志;
head -n -10  filename   查询日志文件除了最后10行的其他所有日志;

2.文件用户所属组及权限

# ls -lh 查询当前目录下文件夹/文件用户所属组及权限
# 将/xxx目录下的所有文件与子目录的拥有者皆设为runoob,群体的使用者runoob
chown -R runoob:runoob /xxx

#把 /var/run/httpd.pid 的所有者设置 root:
chown root /var/run/httpd.pid
#将文件 file1.txt 的拥有者设为 runoob,群体的使用者 runoobgroup :
chown runoob:runoobgroup file1.txt
#将当前前目录下的所有文件与子目录的拥有者皆设为 runoob,群体的使用者 runoobgroup:
chown -R runoob:runoobgroup *
#把 /home/runoob 的关联组设置为 512 (关联组ID),不改变所有者:
chown :512 /home/runoob

chmod  ug  +rw  log  表示给属主以及与属主相同组的用户添加读写权限。            
chmod  -r  log      表示所有用户都删除读log文件的权限
chmod 640 log :所有者有读和写的权限,组用户只有读的权限,其他用户无任何权限           
chmod 777 log :每个人都有读和写以及执行的权限
chown user log  表示把log的所有者设置为user         
chown .users log  表示把log的属组设置为users,注意组名前加点         
chown user.users log  表示把log的所有者设置为user,属组设置为users         
chown -R user Desktop  表示把Desktop目录及其下的所有文件和子目录的属主改为user
chgrp  -R  users Desktop  表示把Desktop目录及其下的所有文件和子目录的属组改为users

3.进程相关

ps -ef | head
# 查看tomcat进程数
ps -ef | grep -v grep | grep tomcat | wc -l 
# 查看父进程的子进程
ps -T -p 1137
# 统计子进程数
ps -T -p pid | grep -v grep | wc -l 

ps查看CPU和内存占用前10的进程
# 内存增序
ps aux --sort rss
# 内存减序
ps aux --sort -rss
# cpu增序
ps auxw --sort=%cpu
# cpu减序
ps auxw --sort=-%cpu
# 找出占用内存资源最多的前 10 个进程
ps -auxf | sort -nr -k 4 | head -10
# 找出占用 CPU 资源最多的前 10 个进程
ps -auxf | sort -nr -k 3 | head -10

4.磁盘相关

#查看磁盘
df -hl
#查看文件大小
du -sh *
#查看服务器内存磁盘等情况
free -h
top
df -hl
uname -a  #查看操作系统架构

free -h命令解析
[root@xxx ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           7.6G        3.8G        447M        368M        2.0G        1.7G
Swap:          8.0G        1.2G        6.8G
字段含义:
total:#服务器内存总大小:7.6G
used:#已经使用了多少内存:3.8G,已用内存总量(used = total-free-buffers-cache,这里没减去shared,我理解是shared是used的其中一部分)
free:#未被任何应用使用的真实空闲内存,也叫未被分配出去的内存,(真正尚未被使用的物理内存数)
shared:#表示多个进程共享的内存总额。
buff/cache: #表示buffers和cache所用总量的总和(buffers为内核缓冲区所用的内存,cache为页缓存和slabs所用的内存容量),也有人说是表示磁盘缓存的大小。

linux跟目录扩容
1.查看可以分配容量
vgs
2.把剩余的容量扩容到跟目录
lvextend  -l  +100%free  sysvg/lv_root
resize2fs  /dev/sysvg/lv_root
3.查看/dev/vda数据盘容量为500G,所以还有340G可以进行分区
lsblk
4.开始新建第三个分区/dev/vda3
fdisk /dev/vdb
n
p
w
5.使用vgextend命令向卷组"sysvg"中添加物理卷
vgextend sysvg  /dev/vda3    #将物理卷"/dev/vda3"加入卷组"sysvg"
6.把123G的容量扩容到跟目录
lvextend  -L  +123G  /dev/mapper/sys-lv_root
resize2fs  /dev/sysvg/lv_root

其他:
1.使用vgremove命令删除LVM卷组"vg1000"
[root@xxx ~]# vgremove vg1000    #删除卷组"vg1000"
Volume group "vg1000" successfully removed
2.逻辑卷扩容
lvextend  -l  +100%free  sysvg/lv_root 等同于 lvextend  -l  +100%free  /dev/mapper/sys-lv_root
证明,可以看到他们都是指向同一个

5.解压缩文件

压缩文件
#同时将test001,test002中的所有文件压缩打包成test.zip
zip -r test.zip test001 test002
#压缩当前目录的所有文件、子目录、子文件
zip -r /home/user_name/lib_words.zip ./*  

解压文件
#解压缩 unzip:将test.zip解压缩到某个目录下
unzip test.zip -d /home/user_name/test
详情查看:https://www.cnblogs.com/qi-yuan-008/p/11863114.html

6.删除文件

#删除xxx开头的文件或者文件夹
rm -rf xxx*
#使用rm 命令按扩展名删除文件
rm -rf *.gif
#同时删除多个扩展名的文件
rm -rf *.txt *.pdf

#使用find命令递归删除具有特定扩展名的文件
#rm命令仅删除当前目录中的文件。即使使用递归选项,它也不会从子目录中删除文件。
#要递归删除具有特定扩展名的文件,可以组合find命令和rm命令。
find . -type f -name "*.gif" -exec rm -v {} \
详情:
https://blog.csdn.net/yaxuan88521/article/details/127994960

7.查找

Linux下在文件夹所有文件中查找相关内容
grep -nr "str" path
在yaml结尾的文件里面,查找字符串xxx
find / -name "*.yaml" | xargs grep "wecarecims8kwe8de887393bb78a6949"
查找包含salt的文件或者目录
find / -type f -name "*salt*"

#删除对应时间点 日志行
grep -v '2024-04-07' app.log > app1.log
mv app1.log app.log
rm -rf  app1.log

使用grep命令配合-v参数删除特定行,写到中间文件中
grep -v '2024-04-07' app.log > app1.log
筛选出的结果 回写到源文件
mv -f ./app1.log  ./app.log
注意:指令>>>区别
指令 > : 如果文件存在,将原来文件的内容覆盖;原文件不存在则创建文件,再添加信息。
指令 >>:不会覆盖原文件内容,将内容追加到文件的尾部。

Linux快速删除特定行的方法
https://blog.csdn.net/u011807844/article/details/135011065
https://blog.csdn.net/weixin_41311528/article/details/127108981

8.查看端口号

ss -lnt
ss -lnt 命令详解
https://blog.csdn.net/q4423887982/article/details/130763956

# 查看全部端口
lsof -i
# 查看指定端口
lsof -i:80
# 显示全部tcp,udp 的端口和进程等相关情况
netstat -tunlp 
# 显示指定端口
netstat -tunlp | grep 80

检查远程端口是否连通
curl -kv http://7.180.184.173:6080    # 推荐使用
telnet 7.180.184.173 6080             # 不一定安装有该命令
nmap 7.180.184.173 -p 6080            # 不一定安装有该命令
nc -v 7.180.184.173 6080              # 不一定安装有该命令


### 服务端监听端口
netstat -anp|grep -iE "tcp|udp" | grep -iE "listen|udp" | grep -v "127.0.0.1" | grep -v "::1:"
### 客户端使用端口
netstat -anp|grep -iE "tcp|udp" |grep -iE "established"|grep -v "127.0.0.1" | grep -v "::1:"
##-e参数,uid 用户ID。
netstat -ape|grep -iE "tcp|udp" |grep -iE "established"|grep -v "127.0.0.1" | grep -v "::1:"
#列出所有端口的情况
netstat -ano

9.crontab的使用

crontab [-u username]    //省略用户表表示操作当前用户的crontab
    -e      (编辑工作表)
    -l      (列出工作表里的命令)
    -r      (删除工作作)
实例1:每1分钟执行一次myCommand
* * * * * myCommand
实例2:每小时的第3和第15分钟执行
3,15 * * * * myCommand
实例3:在上午8点到11点的第3和第15分钟执行
3,15 8-11 * * * myCommand
实例4:每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2  *  * myCommand
实例5:每周一上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 myCommand
实例6:每晚的21:30重启smb
30 21 * * * /etc/init.d/smb restart
实例7:每月1、10、22日的4 : 45重启smb
45 4 1,10,22 * * /etc/init.d/smb restart
实例8:每周六、周日的1 : 10重启smb
10 1 * * 6,0 /etc/init.d/smb restart
实例9:每天18 : 00至23 : 00之间每隔30分钟重启smb
0,30 18-23 * * * /etc/init.d/smb restart
实例10:每星期六的晚上11 : 00 pm重启smb
0 23 * * 6 /etc/init.d/smb restart
实例11:每一小时重启smb
0 */1 * * * /etc/init.d/smb restart
实例12:晚上11点到早上7点之间,每隔一小时重启smb
0 23-7/1 * * * /etc/init.d/smb restart
参考:https://www.runoob.com/w3cnote/linux-crontab-tasks.html

10.远程拷贝

 从本地主机复制文件至远程节点
	scp local_file remote_username@remote_ip:remote_folder  
	scp local_file remote_username@remote_ip:remote_file 
	scp local_file remote_ip:remote_folder 
	scp local_file remote_ip:remote_file 
- 从远程节点复制文件至本地主机
	scp remote_username@remote_ip:remote_file local_folder 
	scp remote_username@remote_ip:remote_file local_file 
	scp remote_ip:remote_file local_folder 
	scp remote_ip:remote_file local_file 
- 从本地主机复制目录至远程节点
	scp -r local_folder remote_username@remote_ip:remote_folder 
	scp -r local_folder remote_ip:remote_folder
- 从远程节点复制目录至本地主机
	scp -r remote_username@remote_ip:remote_folder local_folder  
	scp -r remote_ip:remote_folder local_folder
这个当时从哪里参考的,历史久远 忘记了,如果侵权后台联系我下,我给你加上参考出处
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值