linux实战小笔记(二)全网最全linux基础命令,深入浅出Linux运维开发

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
img

正文

#语法格式: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命令

#语法格式:history [参数]

#作用:  查看历史输入命令

# 示例:

#  history   查看历史命令

#  history  | grep “sed”    查看输入过sed命令

#  history -5  查看最近的5条命令

9.3.5 who命令

#语法格式:who [参数]

#作用:  查看当前登录用户信息

# 示例:

#  who    查看登录用户信息

#  who -H  带标题显示

#  who -b  输出系统最近启动时间

9.4 定时任务

9.4.1 crontab命令

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪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密码?

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

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
img

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

9.3.5 who命令

#语法格式:who [参数]

#作用:  查看当前登录用户信息

# 示例:

#  who    查看登录用户信息

#  who -H  带标题显示

#  who -b  输出系统最近启动时间

9.4 定时任务

9.4.1 crontab命令

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

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

[外链图片转存中…(img-xbbpGZ6N-1713365846460)]

本份面试集锦涵盖了

  • 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密码?

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

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
[外链图片转存中…(img-OCZn11QK-1713365846460)]

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值