2024年最全linux实战小笔记(二)全网最全linux基础命令(3),2024年最新Linux运维开发者出路在哪

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

3.3.3 scp命令

#语法格式:scp 远程主机账号@远程IP地址 本地目录

#作用:  登录远程主机进行拷贝文件或目录

# 示例:

# scp root@192.168.12.11:/soft/test.tar.gz /tools/    将远程主机目录下的/soft/test.tar.gz 拷贝到本地目录下的tools/下

scp root@192.168.12.11:/soft/ /tools/  将远程主机目录soft 拷贝到本地目录的tools/下 。

3.3.4 rcp命令

#语法格式:scp 主机1 主机2

#作用:  远程主机间的文件或目录相互拷贝

# 示例:

#  rcp test 192.168.128.169:/test    拷贝当前目录下的test 到192.168.128.169的/test目录下

#  rcp root@192.168.128.169:./test  /test 复制远程目录到本地的/test下

3.4 文件属性查看

3.4.1 file命令

#语法格式:file 文件名

#作用:  查看文件的类型

# 示例:

#  file a.txt   #查看a.txt是什么类型

#  file abc     #查看abc是什么类型

3.4.2 du命令

#语法格式:du 文件名

#作用:  查看文件的大小

# 示例:

#  du a.txt    #查看a.txt的文件大小,以k为单位

#  du -h a.txt      #查看a.txt的文件大小,以M为单位 。

3.5 文件目录权限设置

3.5.1 chmod命令

#语法格式: 有两种用法

chmod [u/g/o/a][+/-/=] rwx 文件/目录     +:增加权限,-取消权限, =设定权限

chmod 数字 文件/目录

#作用:  为文件或目录设置权限。

# 示例:

#  chmod a=rw a.txt  为所有者设置读写权限 。

#  chmod 644 a.txt   为所有者设置读权限,为用户设置写权限。

4.文本内容查看及过滤


4.1 文本内容查看

4.1.1 cat命令

#语法格式:cat 文件名

#作用:  查看文本内容,会将内容全部显示。

# 示例:

#  cat a.txt  显示a.txt里的内容。

4.1.2 more命令

#语法格式:more 文件名

#作用:  百分比显示文件内容,按Enter继续。

# 示例:

#  more a.txt  若只有一页,则全部显示,否则按百分比显示。

4.1.3 tail命令

#语法格式:

tail 文件名        #查看文本内容

tail -n 数量 文件名      #只显示倒数的几行

tail -f 文件名         # 实时的查看文件写入的信息

#作用:  查看文本内容,

# 示例:

#  tail a.txt   查看文件内容,和cat效果一样 。

#  tail -n 2 a.txt  显示a.txt最后两行

#  tail -f a.txt    实时监控a.txt文本内容。

4.1.4 head命令

#语法格式:

head 文件名

head -n 数量 文件名

#作用:  查看文本内容。

# 示例:

#  head a.txt    查看文本内容,和cat效果一样。

#  head -n 2 a.txt  查看文本的前两行 。

4.2 文本内容筛选过滤

4.2.1 grep命令

#语法格式:grep [选项] [模式] 文件

#作用:  文本搜索工具。

# 示例:

#  grep “aaa” a.txt    从a.txt中搜索aaa字符的行

#  grep -v “aaa” a.txt  从a.txt中不包含aaa的行

#  grep -n “aaa” a.txt  从a.txt中搜索aaa字符的行,并在前面加上行号

#  grep -i “aaa” a.txt  从a.txt中搜索aaa字符的行,其中忽略aaa的大小写

#  grep -e “a*” a.txt   从a.txt中搜索匹配a字符的行

#  ps -ef |grep “mysql”   查看mysql的进程

#备注:grep命令非常强大,详细用法请参考本人另一篇关于grep命令的博文

4.2.2 sed命令

#语法格式:sed [选项]  文件

#作用:  文本编辑工具。

# 示例:

#  sed -n ‘2p’ a.txt    从a.txt中的第二行内容

#  sed ‘3,5d’ a.txt     删除a.txt中第3到5行的内容,(注:源文件内容不变,只是回显内容会删除)

#  sed ‘/aaa/d’ a.txt   删除匹配aaa的行,从a.txt中 。

#备注:sed命令非常强大,详细用法请参考本人另一篇关于sed命令的博文

4.2.3 awk命令

#语法格式:awk [选项]  文件

#作用:  文本分析工具。

# 示例:

#  awk ‘{print $5}’ a.txt    显示a.txt中第5列的内容

#  awk ‘NR <=2 {print $1,$3,$5}’ a.txt   显示前两行内容,每行只显示第1,3,5列 。

#  awk ‘/^d/ {print $1,$9}’ a.txt 显示以d开头的行,每行只显示第一,九列 。

#备注:awk命令非常强大,详细用法请参考本人另一篇关于awk命令的博文

4.2.4 cut命令

#语法格式:cut 选项 文件

#作用:  用于剪切字符。

# 示例:

#  cut -c 1-3 a.txt 只输出每行第一到第三的字符

#  cut -f4 -d" " a.txt 显示第四列,以空格为分隔符

4.2.5 col命令

#语法格式:col 选项 文件

#作用:  用于过滤字符。

# 示例:

#  man ls | col-b > ls_help  过滤掉ls手册中的控制字符并输出到文件

4.3 文本编辑

4.3.1 vi/vim命令

#语法格式:vi/vim  文件

#作用:  用于编辑文件。

# 示例:

#  vi a.txt   编辑a.txt,可以进行修改里面的内容

#  vim a.txt  编辑a.txt,可以进行修改里面的内容

# 备注:

vi和vim的用法基本一样,可以说vim是vi的增加版,就像记事本与notepad++

4.4 输出到文本文件

4.4.1 >命令

#语法格式: >  文件

#作用:  将内容输出到文件,若文件中有内容则覆盖。若文件不存在,则创建文件

# 示例:

#  ll > a.txt   查看详细后输出到a.txt 。

#  cat a.txt > b.txt  将a.txt中的内容添加到b.txt中 。

4.4.2 >>命令

#语法格式: >>  文件

#作用:  将内容追加到文件,若文件中有内容则追加。若文件不存在,则创建文件

# 示例:

#  ll >> a.txt   查看详细后追加到a.txt 。

#  cat a.txt >> b.txt  将a.txt中的内容添加到b.txt中 。

4.4.3 tee命令

#语法格式:tee  文件

#作用:  将内容输出到文件并输出内容显示在控制台上。若文件不存在,则创建文件,一般需要和管道符(|)一起使用。

# 示例:

#  cat a.txt | tee b.txt  将a.txt中的内容添加到b.txt中,同时将添加内容回显到控制台上 。

4.5 文本内容处理

4.5.1 join命令

#语法格式:join  文件1 文件2

#作用:  用于将两个文件中,指定栏目内容相同的行连接起来

# 示例:

#  join a.txt b.txt   若第一行相同,将后面的内容连接起来 。

4.5.2 split命令

#语法格式:split 数量 文件

#作用:  用于将一个文件分割成数个

# 示例:

split -5 c.txt  按每5行显示分隔出一个文件。

4.5.3 uniq命令

#语法格式:uniq  文件

#作用:  用于检查及删除文本文件中重复出现的行列,注意:重复的行一定是相邻的行,若不相邻不会删除

# 示例:

#  uniq d.txt  将d.txt中相邻重复的行去掉 。

#  uniq d.txt | sort  将d.txt中相邻重复的行去掉并排序

# 备注: 此命令经常和sort命令结合使用,用于去重和排序。

4.5.4 sort命令

#语法格式:sort  文件

#作用:  对文本内容进行排序

# 示例:

#  sort a.txt  将a.txt中的内容进行排序,默认为升序。

# sort -r a.txt 将a.txt中的内容进行相反顺序排序

#  uniq d.txt | sort -r 将d.txt中相邻重复的行去掉并倒序排序

4.5.5 paste命令

#语法格式:paste  文件1 文件2 …

#作用:  用于合并文件的列。

# 示例:

#  cat a.txt b.txt  将两个文件的列合并起来显示 。

5.用户|组操作


5.1 用户增删改

5.1.1 useradd命令

#语法格式:useradd 新用户

#作用:  创建用户

# 示例:

#  useradd test    创建test用户

#  useradd -d /home/test  test  创建test用户,并指定test用户的家目录为home/test

#  useradd -u 666 test   为test用户指定uid为666

5.1.2 adduser命令

#语法格式:adduser 新用户

#作用:  创建用户

# 示例:

#  adduser test    创建test用户

#  adduser -d /home/test  test  创建test用户,并指定test用户的家目录为home/test

#  adduser -u 666 test   为test用户指定uid为666

# 备注:useradd和adduser使用上一致,设置两个命令可能就是为了解决用户将字母记错输返。

5.1.3 userdel命令

#语法格式:userdel 用户

#作用:  删除用户

# 示例:

#  userdel test   删除test用户

#  userdel -r test  删除test用户及其家目录

5.1.4 usermod命令

#语法格式:usermod 用户

#作用:  修改用户

# 示例:

#  usermod -l test1 test    将用户test修改为test1

#  usermod -d /home/test00  test   将用户test的家目录修改为/home/test00

#  usermod -L test      锁定test用户的密码

#  usermod -U test      解锁test用户的密码

5.2 用户设置密码

5.2.1 passwd命令

#语法格式:passwd 用户

#作用:  修改用户密码,输入命令回车后会引到用户设置新密码 。

# 示例:

#  passwd test     修改用户密码

5.3 组的增删改

5.3.1 groupadd命令

#语法格式:groupadd 用户组

#作用:  添加用户组

# 示例:

#  groupadd  test   添加用户组为test

#  groupadd -g 9999 test  为创建用户组test并设置gid为9999

5.3.2 groupdel命令

#语法格式:groupdel 用户组

#作用:  删除用户组

# 示例:

#  groupdel test  删除用户组test

5.3.3 groupmod

#语法格式:groupmod 用户组

#作用:  修改用户组

# 示例:

#  groupmod -n root test    更改test用户组为root

5.4 文件设置用户权限

5.4.1 chown命令

#语法格式:chown 文件|目录 用户|用户组

#作用:  更改文件目录的用户或用户组

# 示例:

#  chown root /test/a.txt  把a.txt的所有者设置为root

#  chown root:root /test/a.txt   把a.txt的所有者设置为root,组设置为root

#  chown -R test:test *    把当前目录下的所有文件都设置为test用户和test用户组

5.5 切换用户

5.5.1 su命令

#语法格式:su [-] 用户

#作用:  切换用户

# 示例:

#  su test  切换当前用户为test用户

#  su - test 切换当前用户为test用户

# 备注: 第一次切换时需要输入密码

6.任务管理器


6.1 进程

6.1 ps命令

#语法格式:ps [参数]

#作用:  显示当前系统的进程状态

# 示例:

#  ps -ef   显示所有进程

#  ps -aux   显示所有进程

#  ps -ef | grep mysql  查看mysql进程

#  ps -u root 显示root用户进程。

6.2 kill 命令

#语法格式:kill [参数]

#作用:  杀掉系统中执行的程序(进程)

# 示例:

#  kill 319877   杀掉进程319877

#  kill -9  319877  强制杀掉进程319877

6.2 系统资源

6.2.1 top命令

#语法格式:top [参数]

#作用:  显示系统中各个进程的资源占用情况

# 示例:

#   top    查看系统各个进程的资源占用,比如CPU ,内存信息。

#   top -n 5  动态更新5次结束

#   top -d 5  每隔5秒更新一次

6.2.2 vmstat命令

#语法格式:vmstat [参数]

#作用:  显示虚拟内存状态

# 示例:

#     vmstat    显示内存信息

#     vmstat  -s   以列表形式显示内存

#     vmstat 2  每隔2秒刷新一次

6.2.3 free命令

#语法格式:free [参数]

#作用:  查看系统内存信息

# 示例:

#   free   显示内存信息,默认以kb为单位

#   free -m   显示内存信息,以mb为单位

#   free -g   显示内存信息,以gb为单位

6.2.4 df命令

#语法格式:  df [参数] 分区

#作用:  查看磁盘占用空间

# 示例:

#     df    查看各分区在磁盘占用情况

#     df -h   以比较容易阅读方式查看磁盘使用情况

#     df /dev/shm   查看该挂载点下的使用情况

6.2.5 fdisk命令

#语法格式:fdisk [参数]

#作用:  进行磁盘分区管理

# 示例:

#  fdisk -l  查看所有分区情况

6.2.6 netstat命令

#语法格式:netstat [参数]

#作用:  显示各种网络信息

# 示例:

#   netstat    查看各网络信息

#   netstat -an | grep 3306   查看3306端口的使用情况

6.3 服务

6.3.1 service命令(RHEL6)

#语法格式:service [参数]

#作用:  服务管理

# 示例:

#   service --status-all    查看所有服务的运行状态

#   service  mysql  start   启动mysql

#   service  mysql  stop    停止mysql

#   service  mysql  restart   重启mysql

6.3.2 systemctl命令(RHEL7)

#语法格式:systemctl [选项] [服务]

#作用:  对服务进行管理,如启动/重启/停止/查看服务

# 示例:

#  systemctl status httpd.service   查看http服务状态

#  systemctl start httpd.service    启动http服务

#  systemctl stop  httpd.service    停止http服务

#  systemctl restart httpd.service  重启http服务

#  systemctl status firewalld   查看防火墙状态

#  systemctl start firewalld   开启防火墙

#  systemctl stop firewalld    关闭防火墙

6.3.3 chkconfig命令

#语法格式:chkconfig [参数]

#作用:  更新(启动或停止)和查询系统服务的运行级信息

# 示例:

#     chkconfig -list   显示所有运行级系统服务的运行状态信息(on或off)

#     chkconfig –add httpd        增加httpd服务

#     chkconfig –del httpd        删除httpd服务

7.网络管理


7.1 ifconfig命令

#语法格式:ifconfig

#作用:  查看或设置网络设备

# 示例:

#  ifconfig   查看网络信息,比如IP地址

#  ifconfig eth0 down    关闭eth0的网卡

#  ifconfig eth0 up      开启eth0的网卡

#  ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE   修改Mac地址

#  ifconfig eth0 add 32ffe:3840:320:2007::2/64      为网卡配置IPV6地址

#  ifconfig eth0 del 32ffe:3840:320:2007::2/64      删除网卡的IPV6地址

# ifconfig eth0 192.168.128.169     修改ip地址为192.168.128.169

# ifconfig eth0 192.168.128.169 netmask 255.255.255.0    修改IP和子网掩码

# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255  修改ip,子网掩码及网关

7.2 ping命令

#语法格式:ping IP地址

#作用:  确认是否和某主机的网络相同

# 示例:

#  ping 192.168.12.12  确认是否能连通到192.168.12.12

#  ping www.baidu.com  确认是否能正常访问百度

#  ping -c 4 www.baidu.com  只ping四次

#  ping -c 4 -i 2 www.baidu.com  只ping四次,每次间隔2s

7.3 firewall-cmd命令

#语法格式:firewall-cmd [参数]

#作用:  防火墙端口管理

# 示例:

#  firewall-cmd --state   查看当前防火墙的运行状态

#  firewall-cmd --zone=public --list-ports   查看所有放行的端口

#  firewall-cmd --reload   重新加载修改的配置

#  firewall-cmd --query-port=8888/tcp   查询端口8888是否被开放7.3 systemctl命令

#语法格式:systemctl [选项] [服务]

#作用:  对服务进行管理,如启动/重启/停止/查看服务

# 示例:

#  systemctl status httpd.service   查看http服务状态

#  systemctl start httpd.service    启动http服务

#  systemctl stop  httpd.service    停止http服务

#  systemctl restart httpd.service  重启http服务

#  systemctl status firewalld   查看防火墙状态

#  systemctl start firewalld   开启防火墙

#  systemctl stop firewalld    关闭防火墙

7.4 firewall-cmd命令

#语法格式:firewall-cmd [参数]

#作用:  防火墙端口管理

# 示例:

#  firewall-cmd --state   查看当前防火墙的运行状态

#  firewall-cmd --zone=public --list-ports   查看所有放行的端口

#  firewall-cmd --reload   重新加载修改的配置

#  firewall-cmd --query-port=8888/tcp   查询端口8888是否被开放

#  firewall-cmd --add-port=8888/tcp    开启8888端口通过防火墙

#  firewall-cmd --permanent --remove-port=123/tcp   关闭123端口

#  firewall-cmd --add-port=8888/tcp    开启8888端口通过防火墙

#  firewall-cmd --permanent --remove-port=123/tcp   关闭123端口

8.安装更新配置


8.1 yum命令

#语法格式:yum [选项]

#作用:  rpm的软件包管理器

# 示例:

#  yum install mysql     安装mysql

#  yum remove mysql      卸载mysql

#  yum clean  mysql      清除缓存目录下的安装包

#  yum install           全部安装

#  yum update            全部更新

#  yum update mysql      更新mysql

#  yum info   mysql      显示mysql安装包信息

#  yum list  mysql       显示mysql安装包信息

#  yum list              显示所有已安装包和可安装包

8.2 sh命令

#语法格式:sh  可执行文件

#作用:  运行可执行文件,一般都是shell脚本

# 示例:

#  sh a.sh      运行a.sh文件,

#  sh -x a.sh   运行并调试a.sh脚本

9.系统相关


9.1 环境变量

9.1.1 set命令

#语法格式:set [参数]

#作用:  显示当前shell的变量,包括当前用户的变量;

# 示例:

#  abcd=100

#  set | grep abcd    显示abcd的变量值

9.1.2 unset命令

#语法格式:unset [参数]

#作用:  删除shell变量的值

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

permanent --remove-port=123/tcp   关闭123端口

#  firewall-cmd --add-port=8888/tcp    开启8888端口通过防火墙

#  firewall-cmd --permanent --remove-port=123/tcp   关闭123端口

8.安装更新配置


8.1 yum命令

#语法格式:yum [选项]

#作用:  rpm的软件包管理器

# 示例:

#  yum install mysql     安装mysql

#  yum remove mysql      卸载mysql

#  yum clean  mysql      清除缓存目录下的安装包

#  yum install           全部安装

#  yum update            全部更新

#  yum update mysql      更新mysql

#  yum info   mysql      显示mysql安装包信息

#  yum list  mysql       显示mysql安装包信息

#  yum list              显示所有已安装包和可安装包

8.2 sh命令

#语法格式:sh  可执行文件

#作用:  运行可执行文件,一般都是shell脚本

# 示例:

#  sh a.sh      运行a.sh文件,

#  sh -x a.sh   运行并调试a.sh脚本

9.系统相关


9.1 环境变量

9.1.1 set命令

#语法格式:set [参数]

#作用:  显示当前shell的变量,包括当前用户的变量;

# 示例:

#  abcd=100

#  set | grep abcd    显示abcd的变量值

9.1.2 unset命令

#语法格式:unset [参数]

#作用:  删除shell变量的值

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

[外链图片转存中…(img-iCZzPqs2-1714770185299)]

给大家整理的电子书资料:

[外链图片转存中…(img-BA6btYdp-1714770185299)]

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 26
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值