网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
# 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变量的值
# 示例:
# abcd=100
# unset abcd 删除abcd的变量值
9.1.3 env命令
#语法格式:env [参数]
#作用: 设置或显示当前环境变量
# 示例:
# env 显示当前环境变量
# env abcd=10 定义环境变量
# env -u abcd 删除已经定义的环境变量abcd
9.1.4 export命令
#语法格式:export [参数]
#作用: 设置或显示环境变量
# 示例:
# export 显示当前环境变量
# export abcd=101 定义环境变量
9.2 重启与关机
9.2.1 shutdown命令
#语法格式:shutdown [参数]
#作用: 关闭或重启
# 示例:
# shutdown -h now 立即关机
# shutdown -r now 立即重启
# shutdown -h 22:30 22:30关机
9.2.2 reboot命令
#语法格式:reboot [参数]
#作用: 重启计算机
# 示例:
# reboot 重启
9.2.3 poweroff命令
#语法格式:poweroff [参数]
#作用: 关闭计算机
# 示例:
# poweroff 关闭计算机及电源
9.2.4 halt命令
#语法格式:halt
#作用: 关闭操作系统
# 示例:
# halt 关闭系统
# halt -p 关闭计算机及电源,等同于poweroff
# halt -f 强制关机
9.2.5 exit命令
#语法格式:exit
#作用: 退出当前执行的shell
# 示例:
# exit 退出当前shell
9.3 查看系统信息
9.3.1 uname命令
#语法格式:uname [参数]
#作用: 显示系统相关信息
# 示例:
# uname 显示当前系统
# uname -an 显示系统的详细信息
# uname -r 显示内核信息
# uname -i 显示当前架构
9.3.2 date命令
#语法格式:date [参数]
#作用: 显示或设定时间
# 示例:
# date 查看当前时间
# date -s “2021-04-04 22:38:56” 设置时间为2021-04-04 22:38:56
9.3.3 last命令
#语法格式:last
#作用: 显示最近用户或终端的登录情况
# 示例:
# last 显示最近用户的登录情况
9.3.4 history命令
为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪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行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
查看当前时间
# date -s “2021-04-04 22:38:56” 设置时间为2021-04-04 22:38:56
9.3.3 last命令
#语法格式:last
#作用: 显示最近用户或终端的登录情况
# 示例:
# last 显示最近用户的登录情况
9.3.4 history命令
为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
[外链图片转存中…(img-NvP5veZq-1714745780732)]
本份面试集锦涵盖了
- 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行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!