Linux入门基础完整版【详解】,字节跳动Linux运维研发岗这些知识点内部泄露出来了

| /dev/stdout | 1 | 标准输出 |
| /dev/stderr | 2 | 标准错误输出 |

(2)输入输出错误重定向实操
# 输入重定向
  • 符号:【<】
  • 示例:
wc -l < 123.txt
# 输出重定向
  • 符号:【>       #代表覆盖写入】【>>        代表追加写入】
  • 示例:
cat >> 123.txt             //向123.txt文件中输入追加内容,不会覆盖已有内容
cat > 123.txt              //向123.txt文件中输入内容,会覆盖已有内容
ls -lrt > 123.txt          //将ls -lrt显示的信息输入到123.txt文件中,会覆盖已有内容
echo '12345' > 123.txt     //使用echo命令输入信息到123.txt文件中,会覆盖已有内容
# 错误重定向

示例:

llll 2> 123.txt        //llll报错信息输出到123文件中
llll 2> /dev/null      //错误信息不需要了解,就可以输出到无底洞里边
(3)其他符号
符号功能说明示例
&等同于ls -lrt /boot /test 1>/root/123.txt 2>/root/123.txt   (查看boot目录以及text目录下的内容,这里判断boot目录下有内容,则写入了123文件,但test目录不存在,错误重定向并没有写入文件) ls -lrt /boot /test 1>/root/123.txt 2>&1            (错误的输出信息等同于正确的信息输入,即输入至123文件)
&>不区分正确还是错误ls -lrt /boot /test &>123.txt    (不区分正确错误信息,全部输入到123文件)
管道符
;可以执行多条命令cat /etc/passwd
&&前面的命令执行成功的话后面的才可以执行成功;前面的命令执行失败后面的就不可以执行llll && echo 123

3、Linux下的目录分类与作用

(1)CentOS7****下常见的目录作用

# 目录描述

下面列举一些根目录下常用的目录,便于我们更快了解虚拟机架构

目录描述
/根目录,一般根目录下只存放目录,不要存放文件,也不要修改/删除目录下的内容
/mnt用于测试的目录
/rootroot用户的家目录
/home普通用户的家目录
/tmp临时目录(比如文件上传之类的)
/var存放经常修改的数据,比如程序运行的日志文件
/boot存放启动Linux时使用的内核文件,包括连接文件以及镜像文件(原则上该目录不允许操作)
/etc系统默认存放配置文件的地方
/bin所有用户都能执行的程序
/sbin只有root才能执行的程序
/usr用户自己的软件都可以放到这儿来
/dev存放硬件设备的地方(/dev/cdrom)
/media挂载光盘的地方
# 挂载光盘命令
命令功能说明
mount /dev/cdrom /media挂载光盘
umount /dev/cdrom卸载光盘
df -h查看挂载光盘
(2)路径理解
  • 绝对路径:即完整的路径
  • 相对路径:相对于当前位置的路径(./代表的是当前目录; …/代表的是上一级目录)

4、虚拟机中Centos7与外部物理机的时间同步

(1)前提

一般情况下,新安装的虚拟机同外部物理机的时间不一致,这是因为我们未安装VMware Tools工具,因此需要安装该工具

(2)获取VMware Tools软件包

在VM中右键虚拟机->安装VMware Tools,VM软件会自动帮我们下载VMware Tools工具到光盘中,再把光盘挂载在Linux系统中(由于VM软件的限制,安装结果没有弹框提示,我们可以试图挂载,以此来观察工具是否下载完成)

(3)安装VMware Tools

安装步骤:

1、安装VMware Tools 使工具软件包下载到光盘

2、挂载光盘到Linux系统

3、复制安装包到root目录【cp VMwareTools-10.3.23-16594550.tar.gz /root/】

4、卸载光盘【umount /dev/cdrom】

5、解压安装包【tar -xf VMwareTools-10.3.23-16594550.tar.gz】

6、进入解压缩包【cd vmware-tools-distrib】

7、安装Perl【yum -y install perl-Data-Dumper】

8、点击安装VMware Tools【./vmware-install.pl】

安装时一路摁住键盘的回车键即可(都选用默认路径),安装完成后验证是否安装成功,有两种验证方法:

命令功能说明
echo $?验证是否安装成功,返回0就是成功(echo命令本身就可以判断上一条命令是否正确)
date “+%Y-%m_%d %H:%M:%S”验证虚拟机时间是否与外部物理机的时间同步(若不同步,则重启主机即可)
(4)date命令使用

可以使用date命令去查看当前时间

命令功能说明
date查看当前时间(不美观)
date “+%Y-%m_%d %H:%M:%S”显示年-月-日 时:分:秒  (如 2024-03_05 05:22:14)
date -s “2020-10-1 22:00:00”更改时间为 2020-10-1 22:00:00
date -d yesterday “+%Y-%m-%d %H:%M:%S”查看当前时间的前一天的时间
date “+%w”查看今天是周几

注意:卸载的光盘的时候会出现如下报错

[root@localhost media]# umount /dev/cdrom
umount: /media: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
[root@localhost media]# 

解决方法:

首先确认目前是联网状态,接下来需要安装 fuser 工具,用来查看光盘使用情况 ,接着杀掉光盘使用进程即可

安装fuser工具:yum install -y psmisc
查看光盘使用情况:fuser -mv /media
取消挂载盘符:fuser -kv /media

5、Linux编辑神器vi****的使用

(1)vi的基本概念

vi的三种模式:命令模式、插入模式、底行模式

使用vi命令则进入命令模式,不可编辑,摁住键盘的 i 或者 o 或者 a,进入插入模式,编辑我们想要的内容;内容编辑完成后,再摁住键盘的左上角esc键盘,切入命令模式;在命令模式输入【:】进入底行模式,在底行模式还可以做其他的一些操作

  • 进入插入模式:摁住键盘的 i 或者 o 或者 a
  • 进入命令模式:摁住键盘的左上角esc键盘
  • 进入底行模式:前提是得在命令模式输入【:】进入
(2)命令行模式操作
命令功能说明
Esc进入命令行模式
$          /     【shift + 4】移动到这一行的行尾
gg移动到文档第一行行首
G移动到文档最后一行行首
x删除内容,删除一个字符【光标所在字符】
dd删除光标所在的那一整行
u复原原来的操作
v点击【v】后进入复制,按上下左右键选中范围,再按【y】就能复制
p粘贴
(3)底行模式操作
命令功能说明
nn为数字,光标移动到第n行
/寻找内容,光标移到目标行行首
%s/word1/word2/g从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2【word1字符串实现全文档替换】
n1,n2s/word1/word2/gn1 与 n2 为数字,在第 n1 与 n2行之间寻找 word1这个字符串,并将该字符串取代为 word2
set nu显示每一行的行号
set nonu取消行号
q!强制离开不保存
wq离开并保存
wq!强制离开并保存
!相当于暂时离开,可以在【!】后直接输入命令进行别的操作

6、Linux****的用户管理与组管理

(1)Linux理解

Linux是一个多用户、多任务的操作系统

(2)Linux用户的分类
分类权限UID
超级用户root拥有至高无上的权限UID:0
普通用户权限有一定的限制,可以登录系统,一般可以执行 /usr/local/bin 或者 /bin 或者 /usr/bin 或者自己家目录的命令UID:500-60000(centos 6)UID:1000-60000(centos7)
系统用户(伪用户)一般不会登录系统,一般情况是用来维持某个服务程序UID:1-499(centos 6) UID:1-1000(centos 7)
(3)用户的相关配置文件
  • 账号信息:/etc/password
  • 密码信息:/etc/shadow

test    :x                   :1000      :1000             :                :/home/test                :/bin/bash

用户   密码占位符    
UID        GID         
用户描述       用户家目录        登录后使用的
shell
解释

/sbin/nologin        #
是不可登录的

/bin/bash             #
可以登录

(4)用户相关命令
命令命令属性大功能各属性功能说明
useradd-u添加用户命令指定用户UID
-d指定用户主目录
-g指定用户所属组
-r指定用户是系统用户
-s用户登录shell解释器
-M不创建主目录
userdel-r删除用户命令连同家目录一块删除
groupadd添加用户组命令
groupdel删除用户组命令
usermod-u修改用户的信息命令指定用户UID
-d指定用户主目录
-g指定用户所属组
passwd YYL设置用户密码命令passwd
echo “123456”passwd --stdin YYL
(5)创建用户示例

创建一个用户YYL,指定UID为1010,指定家目录为/home/YYL,指定所属组为root组,指定登录shell为/bin/bash

useradd -u 1010 -d /home/YYL -g root -s /bin/bash YYL

注意:登录用户时出现以下信息如何解决

如:

bash-4.2$

bash-4.2$

这是因为家目录下缺少一些东西,在/etc/ske1/路径下将相关信息复制进系统用户家目录即可

解决:复制相关信息到家目录

cp -r /etc/skel/.bash* /home/YYL/

7、Linux****必备核心知识之文件属性与权限操作

(1)文件属性
ls -lrti查看文件的属性
#文件显示解读
135140482 -rw-------. 1 root root    1902 Oct  1  2020 yum.log
第一列
第二列-文件的类型与权限
r #表示读权限
4 #表示读权限
rw-------
第三列
第四列
第五列
第六列
第七列
第八列
# 链接
分类命令例如举例
软链接ln -sln -s /home/YYL/yum.log /usr/locali 节点跟源文件不一样,源文件一旦删除,软链接将找不到源文件
硬链接lnln /home/YYL/yum.log /usr/local/YYL/i 节点与源文件一模一样,源文件删除,硬链接还可以继续使用,常用于防止重要文件被误删
(2)文件权限更改
命令参数举例
chmod无参chmod u+x,g+w+o+w boot.log
chmod u-x,g-w+o-w boot.log
chmod 777 boot.log
-R    #递归的意思chmod -R 777 /home/YYL/*
(3)文件所有者/所属组修改
命令参数举例解释
chown-Rchown -R root:YYL YYL递归更改文件目录YYL的所属者为root用户 跟 所属组为YYL组

8、Linux 的文件归档与解压缩详细介绍

(1)文件归档

文件归档也称之为打包,指的是一个文件或者多个文件或者目录的一个集合,这个集合存储在一个文件中;归档的文件是没有进行压缩的,所以占用的空间是所有文件或者目录的总和(工作中经常与压缩结合在一起使用)

(2)文件压缩

节约磁盘空间,加快文件的传输速率

(3)压缩与解压缩命令

压缩与解压缩有两种命令:gzip 、xz,区别如下:

  • gzip:不能压缩目录,只能压缩文件,压缩速度最快,但是1压缩比例较低,扩展名【.gz】
  • zx:可以压缩目录和文件,压缩速度比较慢,但是压缩比例最高,扩展名【.xz】
命令目的操作命令
gzip不保留源文件压缩gzip 111.txt
保留源文件压缩gzip -c 123.txt > 123.txt.gz
不保留源文件解压gunzip 111.txt.gz
gzip -d 123.txt.gz
保留源文件解压gunzip -c 123.txt.gz > 234.txt
xz不保留源文件压缩xz 111.txt
保留源文件压缩xz -c 123.txt > 123.txt.xz
不保留源文件解压unxz 111.txt.xz
xz -d  123.txt.xz
保留源文件解压xz -d -k 123.txt.xz
(3)归档/解档/压缩/解压命令
参数目的示例命令解析
-c归档时创建新文件,必选归档vmware-tools-distrib文件并命名为vmware.tartar -cf vmware.tar vmware-tools-distrib
-f归档时指定文件格式,必选
-v归档时显示详细过程归档vmware-tools-distrib文件并命名为vmware.tar,归档时显示详细过程tar -cvf vmware.tar vmware-tools-distrib
-z以gzip的方式归档并压缩归档并压缩vmware-tools-distrib文件并命名为vm-tools.tar.gz,归档时显示详细过程tar -zcvf vm-tools.tar.gz vmware-tools-distrib
-J以xz的方式归档并压缩归档并压缩vmware-tools-distrib文件并命名为vm-tools.tar.xz,归档时显示详细过程tar -Jcvf vm-tools.tar.xz vmware-tools-distrib
归档并压缩vmware-tools-distrib文件并命名为vm-tools.tar.xz,文件放于/home/YYL目录下,归档时显示详细过程tar -Jcvf /home/YYL/vm-tools.tar.xz vmware-tools-distrib
-x接档解压操作解档解压文件vm-tools.tar.xztar -xf  vm-tools.tar.xz
-C指定解压路径指定vm-tools.tar.xz文件的解压路径为:/home/YYLtar -xf vm-tools.tar.xz -C /home/YYL

四、Linux核心命令

1、Linux搜索-find命令高级用法

(1)基本用法
命令参数参数解析示例示例解析
find 路径 选项-type根据文件类型搜索find /var/log -type f -name “*.log”查找后缀为“.log”的文件
find /var/log -type d查找该绝对路径下的目录
-name根据文件名搜索find /var/log -type f -name “*.log”查找后缀为“.log”的文件
-perm根据文件权限find /var/log -perm 600 -type f -name “*.log”查找绝对路径下权限为600的后缀为“.log“的文件
-user根据文件所属主find /var/log -user root查找绝对路径下所属主为 root 的文件【不仅限于文件】
(2)高级用法
# 命令使用解析
命令各参数各参数解析示例
find /var/log -type f -name “*.log” -exec wc -l {} ;;可以执行多条命令find /var/log -type f -name “*.log” -exec cp -a {} /home/YYL/YYL2 ;
\转义符,使得该条命令结束
{}把find命令匹配到的每一次结果传递给{}
-exec执行
# 命令相关参数
参数参数解析mtime参数mtime参数解析示例
-mtime根据文件的变更时间来查找-n表示更改时间举例现在n天以内find /var/log -mtime -2 -name “*.log” -exec ls -lrt {} ;
+n表示更改时间举例现在n天以前find /var/log -mtime +2 -name “*.log” -exec ls -lrt {} ;

2、CentOS7防火墙以及selinux介绍

(1)防火墙
# 防火墙理解

主要用于用户信息安全防护,主要有软件防火墙和硬件防火墙,firewall防火墙是权健防火墙

  • 在Centos7之前默认采用的防火墙是iptables
  • 在Centos7则采用的防火墙是firewall
# 设置防火墙相关命令
操作命令
查看firewalld服务状态systemctl status firewalld
开启firewalld服务systemctl start firewalld.service
关闭firewalld服务systemctl stop firewalld.service
重启firewalld服务systemctl restart firewalld.service
查看firewall防火墙状态firewall-cmd --state
查看防火墙开放端口firewall-cmd --list-port
查看指定80端口是否开放firewall-cmd --query-port=80/tcp
开放80端口firewall-cmd --permanent --add-port=80/tcp(–permanent代表永久生效,没有此参数重启后就失效了)
加载生效开放的端口firewall-cmd --reload
关闭80端口firewall-cmd --remove-port=80/tcp

注意:

  • 安装telnet命令:yum -y install xinetd telnet telnet-server(确认联网状态)
  • 安装netstat与ifconfig命令:yum -y install net-tools(确认联网状态)
(2)SELinux介绍

SELinux有三种工作模式,配置文件路径在:/etc/selinux/config

  • enforcing:强制模式,违反selinux规则的行为将被组织并记录到日志中去
  • permissive:宽容模式,违反selinux规则的行为将会记录到日志中去
  • disabled:关闭模式

3、linux服务器之间telnet与scp命令用法

(1)telnet命令

telnet命令主要用于测试到某台机器的某个端口是否畅通,telnet命令依赖于xinetd服务与telnet-server服务

  • 用法:telnet IP地址 端口
  • 场景使用:测试某个端口是否畅通
(2)scp命令

作用:用于服务器之间的文件或者文件目录拷贝

用法1:从本机拷贝文件到别的机器

scp 本机文件的存放路径 root@服务器IP:服务器目标路径

示例:

从192.168.213.132(本机)这台机器的 /root/VMwareTools-10.3.23-16594550.tar.gz 文件拷贝至192.168.213.129 的 /root/下

scp /root/VMwareTools-10.3.23-16594550.tar.gz root@192.168.213.129:/root/

用法2:从别的机器拷贝文件到本地目录

scp root@服务器IP:服务器目标路径 本机文件的存放路径

示例:

从192.168.213.129这台机器的/root/VMwareTools-10.3.23-16594550.tar.gz文件拷贝至 192.168.213.132(本机)的/root/下

scp root@192.168.213.129:/root/VMwareTools-10.3.23-16594550.tar.gz /root/

参数说明:

  • -r:起到递归的作用,主要用来拷贝目录

示例:scp -r /root/vmware-tools-distrib root@192.168.213.129:/root/

4、Linux进程管理命令之 ps -ef 与 ps aux 详解

列名含义
UID用户ID
PID进程ID
PPID父进程号
CCPU的占用率
STIME进程的启动时间
TTYTTY终端
TIME进程执行起到现在总的CPU占用时间
CMD启动这个进程的命令

列名含义
USER哪个用户启动了这个命令
PID进程的ID
%CPUCPU的占用率
%MEM内存的使用率
VSZ如果一个程序完全驻留在内存中一共需要使用多少内存空间
RSS进程当前占用了多少内存
TTYTTY终端
STAT表示当前进程的状态(S #处于休眠的状态;D #不可中断的状态;Z #僵尸进程;X #死掉的进程 )
START启动这个命令的时间点
TIME进程执行起到现在总的CPU占用时间
COMMAND启动这个进程的命令

目的:一般执行 ps -ef 或者 ps aux命令是查看我们的进程是否启动成功,或者找出进程号,对进程进行kill强制关闭

5、处理海量数据之cut命令

(1)cut应用场景

通常对数据进行列的提取

(2)语法
cut [选项]...[file]
(3)示例
选项-d #指定分割符(不加 -d 选项,默认为制表符,而非空格)
-f #指定截取区域
-c #以字符为单位进行分割
以【:】为分隔符,截取出/etc/passwd的第一列和第三列cut -d ‘:’ -f 1,3 /etc/passwd
以【:】为分隔符,截取出/etc/passwd的第一列到第三列cut -d ‘:’ -f 1-3 /etc/passwd
以【:】为分隔符,截取出/etc/passwd的第二列到最后一列cut -d ‘:’ -f 2-  /etc/passwd
截取/etc/passwd文件从第二个字符到第九个字符cut -c 2-9 /etc/passwd
截取linux上面所有可登录的普通用户cat /etc/passwd

6、处理海量数据之awk命令

(1)awk简介

一个非常强大的数据处理命令,支持条件判断、数组、循环等功能,与grep、sed被称为linux三剑客

(2)awk应用场景

通常对数据进行列的提取

(3)awk语法
  • awk ‘条件1 {执行动作} 条件2 {执行动作} …’ 文件名
  • awk [选项] ‘条件1 {执行动作} 条件2 {执行动作} …’ 文件名
(4)awk特殊要点以及举例说明
特殊字段含义举例查询结果
NR行号df -hawk ‘NR==4 {print $1}’
$1代表第一列df -hawk ‘NR==1 {print $1}’
$2代表第二列df -hawk ‘(NR>=2 && NR <=5) {print $1}’
$NF代表最后一列df -hawk ‘{print $NF}’
-F指定分割符awk -F":" ‘{print $1}’ /etc/passwd查询/etc/passwd文件下以【:】为分割符的第一列数据
BEGIN在读取所有行内容前就开始执行,一般用来初始化操作cat /etc/passwdawk ‘BEGIN {FS=“:”} {print $1}’
df -hgrep -v ‘Filesystem’awk ‘BEGIN {printf “Filesystem \n \n”} {printf $1} {printf “\t Use%:”} {print $5}’查询文件磁盘使用情况中的Filesystem和Use%列
END结束的时候执行df -hgrep -v ‘Filesystem’

7、处理海量数据之sed命令

(1)sed应用场景

主要对数据进行处理(选取、新增、替换、删除、搜索)

(2)sed语法
  • sed [选项] [动作] 文件名
(3)sed常见选项与参数
选项含义举例结果
-n把匹配到的行输出打印到屏幕df -hsed -n ‘2p’
p以行为单位进行打印,通常与【-n】一起使用
d删除df -hsed ‘2d’
a在行的下面插入新的内容df -hsed ‘2a 1234567890’
i在行的上面插入新的内容df -hsed ‘2i 1234567890’
c替换df -hsed ‘2c 1234567890’
s/要被取代的内容/新的字符串/g指定字符串进行替换df -hsed ‘s/centos-root/centos7/g’
-i对源文件进行修改(慎用,用之前需要备份源文件)sed -i ‘s/centos7/centos8/g’ df.txt将df.txt文件中的【centos7】强制修改成【centos8】
p在文件中搜索内容sed -n ‘/tmpfs/p’ df.txt打印df.txt文件中的【tmpfs】字段—非精确查找
-e表示可以执行多条动作sed -e ‘s/centos8/centos7/g’ -e ‘s/tmpfs/TMP/g’ df.txt > 888.txt替换df.txt文件中的【centos8】以及【tmpfs】更为【centos7】和【TMP】,然后重定向至888.txt文件

五、Linux服务器常用企业服务安装

1、rpm方式介绍

(1)rpm安装

安装别人编译好的软件包,rpm即Redhat Package Manager,是Redhat的软件包管理方式

(2)rpm安装优点
  • 软件已经编译打包,所以传输和安装方便,让用户免除编译
  • 在安装之前,会先检查系统的磁盘、操作系统版本等,避免错误安装
(3)rpm安装缺点
  • 软件包安装的环境必须与打包时的环境一致或相当
  • 必须安装软件的依赖包
(4)rpm包命名规则

which-2.20-7.el7.x86_64.rpm

分段含义
which代表的是软件名称
2.20代表的是软件版本号
7代表的是发布版本号,指的是这个rpm软件包是第几次编译生成的
el7代表的是企业版的7操作系统
x86代表的是CPU架构
64代表的是系统的位数
(5)安装rpm软件包
参数-i安装软件包
-v输出更多的详情信息
-h输出哈希标记(#)
–nodeps不验证软件的依赖(非常不推荐,即使安装成功了,也用不了)
举例rpm -ivh zsh-5.0.2-7.el7.x86_64.rpm
rpm -ivh mariadb-server-5.5.35-3.el7.x86_64.rpm --nodeps  (不推荐)
(6)rpm包下载地址

http://rpmfind.net/

http://rpm.phone.net/

http://www.rpmseek.com/index.html

(7)rpm查询功能
命令参数参数说明举例
rpm -q-a查询所有已安装的软件包rpm -qa zsh
-f查询文件所属软件包rpm -qf /usr/bin/zsh
-p查询软件包rpm -qp zsh-5.0.2-7.el7.x86_64.rpm
-i显示软件包信息rpm -qi zsh
-l显示软件包中的文件列表rpm -ql zsh
-d显示被标注为文档的文件列表rpm -qd zsh
-c显示被标注为配置文件的文件列表rpm -qc zsh
(8)rpm包升级
参数参数说明示例
-U升级rpm软件服务rpm -Uvh zsh-5.0.2-7.el7.x86_64.rpm(软件包必须是要升级的)
(9)rpm包卸载
参数参数说明示例
-e卸载软件包rpm -e zsh

2、yum方式介绍

(1)yum安装介绍

基于 C/S架构,yum安装称之为傻瓜式安装

(2)yum安装优缺点
  • 优点:方便快捷,不用考虑依赖,自动下载软件包
  • 缺点:人为无法干预,无法设定想要的参数
(3)配置本地yum源

配置文件的路径在:/etc/yum.repos.d/

[Centos7-yum]yum源名称,唯一,用来区分不同的yum源
name=Centos7-source对yum源的描述信息
baseurl=file:///mntyum源的路径(repodata目录所在的目录)
enabled=1表示启用yum源
gpgcheck=0为1表示使用公钥检验rpm的正确性

(4)yum安装方式的使用
yum repolist查看yum源列表
yum clean all清空之前yum缓存
yum makecache创建yum缓存,为后续安装更加快速
yum -y install安装软件(yum -y install zsh)
yum info zsh查看zsh软件包信息(不管安没安装都会有信息)
yum info installed zsh查看已经安装好的软件信息
yum remove -y zsh卸载软件
yum search gcc搜索gcc软件
yum update升级软件

3、源码编译安装方式介绍

(1)源码编译安装优缺点
  • 优点:编译安装过程,可以设定参数,指定安装目录,按照需求进行安装,指定安装的版本,灵活性比较大
  • 缺点:需要对依赖包一个一个的进行安装,不敢随便升级,一升级可能会由于依赖包的不能使用导致一系列连锁反应
(2)安装步骤

第一步:解压源码包

tar -xf 源码包

第二步:配置

进入解压后的目录,用 ./configure 命令来配置相关信息(比如指定安装目录 — prefix=/usr/local/nginx)和生成makefile文件

第三步:编译

make -j4

第四步:安装

make install

4、JDK8安装实战

(1)下载jdk官网

官网地址:Java Downloads | Oracle

下载好后,将该压缩包上传至虚拟机中,具体上传步骤可参考【第二章第五节】

(2)全局环境变量的配置文件

修改文件【profile】的内容,在【profile】的最后添加下面的配置文件(其中路径需要修改为jdk1.8所在路径,其他不变)

命令:文件路径:vi /etc/profile
export JAVA_HOME=/usr/local/jdk1.8 #这个路径要改,其余不需要改
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
(3)加载环境变量
命令:source /etc/profile
(4)验证是否安装成功
命令:java -version

5、部署tomcat网站服务器

(1)Tomcat定义

Tomcat是一个开源免费的Web应用服务器,性能稳定,是目前比较流行的Web应用服务器

(2)Tomcat下载

方法1:官网下载

官网地址:Apache Tomcat® - Apache Tomcat 8 Software Downloads

方法2:在虚拟机中应用wget命令下载

yum install -y wget   //安装wget命令
wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.99/bin/apache-tomcat-8.5.99.tar.gz
(3)Tomat解压

解压后将文件移动至 /usr/local/tomcat8目录下(统一存放)

解压:tar -xf apache-tomcat-8.5.99.tar.gz

移动:mv apache-tomcat-8.5.99 /usr/local/tomcat8

检查java环境:java -version

(4)Tomat重要目录介绍

目录含义
bin存放可执行命令,比如开启和关闭
conf配置文件 context.xml:Tomcat公用的环境配置,tomcat服务器会定时去扫描这个文件 web.xml:web应用程序描述文件,都是关于web应用程序的配置文件 server.xml:可以设置tomcat的端口号,添加虚拟机这些的,是对服务器的设置 tomcat-users.xml:用户配置文件
webapps发布web应用
lib库文件
(5)启动Tomat
//在bin路径下执行
sh startup.sh
(6)查看是否监听tomcat

ps -ef | grep tomcat
netstat -tunlp | grep 3328
(7)测试能否访问测试页面
关闭防火墙:systemctl stop firewalld.service
测试能否访问:IP地址:8080

6、部署apache网站服务器

(1)Apache介绍

Apache是软件基金会的一个开源免费的网页服务器,也是目前世界上使用最广泛的一种 web server,apache最出名的是它跨平台、高效和稳定,可以运行在几乎所有广泛使用的计算机平台上,其特点是简单、速度快、性能稳定,并可做代理服务器来使用,且可通过简单的 API 扩充,将 Perl/Python 等解释器编译到服务器中

(2)源码编译安装Apache
第一步:下载组件 apr 并解压

组件apr官网:Download - The Apache Portable Runtime Project

下载成功后,上传至虚拟机,并进行解压

解压命令:tar -xf apr-1.7.0.tar.gz

第二步:下载组件 apr-util 并解压

组件apr官网:Download - The Apache Portable Runtime Project

下载成功后,上传至虚拟机,并进行解压

解压命令:tar -xf apr-util-1.6.1.tar.gz

第三步:下载 apache 并解压

apache官网:Download - The Apache HTTP Server Project

下载成功后,上传至虚拟机,并进行解压

解压命令:tar -xf httpd-2.4.39.tar.gz

第四步:安装 gcc 环境
安装命令:yum install -y gcc*
第五步:安装 zlib-devel 库
安装命令:yum install -y zlib-devel
第六步:安装 xml 解析器
安装命令:yum install -y expat-devel
第七步:下载并安装 pcre 正则表达式库

官网下载地址:https://ftp.pcre.org/pub/pcre/

下载成功后,上传至虚拟机,并进行解压

解压命令:tar -xf pcre-8.43.tar.gz

进入【pcre-8.43】目录下进行安装,安装时需要指定安装路径,这里我创建了一个路径为 /usr/local/pcre,然后安装在该路径下

//1.进入pcre-8.43目录下
cd pcre-8.43
//2.新建一个安装路径
mkdir -p /usr/local/pcre
//3.指定安装路径为刚创建的路径
./configure --prefix=/usr/local/pcre
//4.安装pcre
make && make install
第八步:把组件apr与组件apr-util拷贝进apache安装包
cp -rf apr-1.7.0 /root/test/httpd-2.4.39/srclib/apr
cp -rf apr-util-1.6.1 /root/test/httpd-2.4.39/srclib/apr-util
第九步:进入apache安装包使用./configure进行环境收集检验与配置

进入apache安装包,新建目录/usr/local/apache,然后执行./configure命令校验

cd /root/test/httpd-2.4.39
mkdir -p /usr/local/apache
./configure \--prefix=/usr/local/apache \--sysconfdir=/usr/local/apache/etc \--with-apr=/root/test/apr-1.7.0 \--with-apr-util=/root/test/apr-util-1.6.1 \--with-included-apr \--with-pcre=/usr/local/pcre \--enable-deflate \--enable-expires \--enable-headers \--enable-so \--enable-modules=most \--with-mpm=worker \--enable-rewrite
选项说明
–prefix指定安装目录
–sysconfdir指定配置文件的路径
–with-apr指定依赖文件的路径
–with-apr-util指定依赖文件的路径
–with-included-apr增加编译效率
–with-pcre指定pcre正则表达式库的安装路径
–enable-deflate开启压缩文件提高速度节约带宽
–enable-expires开启让浏览器缓存,减轻服务器压力,提高访问速度
–enable-headers使得支持http头
–enable-so使得支持动态模块
–enable-modules=most使得支持大多数模块
–with-mpm=worker使得Apache工作在worker模式下
–enable-rewrite使得支持地址重写
第十步:编译并安装apache
操作命令:make -j 4 && make install
第十一步:设置服务器名称
//操作命令
vi /usr/local/apache/etc/httpd.conf

输入:ServerName进行搜索

添加:
ServerName www.xdclass.com
第十二步:测试并启停apache服务器
//设置软链接
ln -s /usr/local/apache/bin/* /usr/sbin/
//设置环境变量
echo "export PATH=/usr/local/apache/bin:$PATH" >> /etc/profile
//加载环境变量
source /etc/profile
//测试配置文件语法有没有错误
httpd -t
//启动apache服务
httpd -k start
//关闭apache服务
httpd -k stop

在防火墙关闭的条件下,打开浏览器,输入IP地址,成功打开apache测试页面,如下图,即部署完成

192.168.213.132:80

7、部署nginx网站服务器

(1)nginx简介

Nginx是一款高性能的 HTTP 和反向代理服务器

(2)nginx优点
  • 高并发量:根据官方给出的数据,能够支持高达 50000 个并发连接数的响应
  • 内存消耗少:处理静态文件,同样起 web 服务,比 apache 占用更少的内存及资源,它是轻量级的
  • 简单稳定:配置简单,基本在一个 conf 文件中配置,性能比较稳定,可以 7*24小时长时间不间断运行
  • 模块化程度高:Nginx 是高度模块化的设计,编写模块相对简单
  • 负载均衡:Nginx 可以做高并发的负载均衡,且 Nginx 是开源免费的,如果使用F5等硬件来做负载均衡,硬件成本比较高
  • 可移植性高:Nginx 代码完全用C语言编写
(3)nginx缺点
  • 动态处理差:Nginx 处理静态文件好,耗费内存少,但是处理动态页面比较差
  • rewrite弱:虽然 Nginx 支持 rewrite 功能,但是相比于 Apache 来说,Apache 比 Nginx 的 rewrite 强大
(4)编译安装nginx
第一步:安装gcc编译环境
yum install -y gcc-c++
第二步:安装zlib-devel库
yum install -y zlib-devel
第三步:安装OpenSSL密码库
yum install -y openssl openssl-devel
第四步:安装pcre正则表达式库

官网下载地址:https://ftp.pcre.org/pub/pcre/

下载成功后,上传至虚拟机,并进行解压

解压命令:tar -xf pcre-8.43.tar.gz

进入【pcre-8.43】目录下进行安装,安装时需要指定安装路径,这里我创建了一个路径为 /usr/local/pcre,然后安装在该路径下

//1.进入pcre-8.43目录下
cd pcre-8.43
//2.新建一个安装路径
mkdir -p /usr/local/pcre
//3.指定安装路径为刚创建的路径
./configure --prefix=/usr/local/pcre
//4.安装pcre
make && make install
第五步:下载编译安装Nginx

Nginx 官网:nginx: download

下载成功后,上传至虚拟机,并进行解压

解压命令:tar -xf nginx-1.16.0.tar.gz

进入【nginx-1.16.0】目录下进行安装,安装时需要指定安装路径,这里我创建了一个路径为 /usr/local/pcre,然后安装在该路径下,接着使用./configure进行环境收集检验与配置,编译无误后进行安装

//1.进入nginx-1.16.0目录下
cd nginx-1.16.0
//2.新建一个安装路径
mkdir -p /usr/local/nginx
//3.指定安装路径为刚创建的路径
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre
//4.安装pcre
make && make install
第六步:启停Nginx服务
//启动nginx服务
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

//测试相关配置文件是否正常
/usr/local/nginx/sbin/nginx -t

//关闭nginx服务
/usr/local/nginx/sbin/nginx -s stop

打开浏览器测试能否访问到测试页面,如图所示,即启动成功【ip addr 获取当前虚拟机IP地址,访问端口默认80】

8、安装mysql5.7.17数据库服务器

(1)mysql简介
(2)准备工作
第一步:关闭防火墙
//关闭防火墙命令
systemctl stop firewalld.service

//查看防火墙是否关闭
firewall-cmd --state

第二步:关闭selinux

进入config文件,将【SELINUX】的值改为【disabled】,如下图所示

vi /etc/selinux/config

第三步:安装 cmake 工具
安装命令:yum -y install cmake
第四步:下载boost库/mysql安装包

我这里下载的boost库是boost1.59.0,直接使用wget下载会快一点,下载成功后,直接进行解压

boost库历史版本下载地址:Boost Version History

wget https://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

解压命令:tar -xf boost_1_59_0.tar.gz

MySQL这里下载的是mysql-5.7.17版本,直接在官网下载即可

MySQL官网地址:MySQL :: MySQL Downloads

下载成功后,上传至虚拟机,并进行解压

tar -xf mysql-5.7.17.tar.gz

第五步:yum安装其他依赖组件
yum -y install gcc gcc-c++ bzip2 bzip2-devel bzip2-libs python-devel ncurses ncurses-devel openssl openssl-devel
第六步:创建路径
mkdir -p /usr/local/mysql
mkdir -p /data/mydata
第七步:创建mysql用户
useradd -M -s /sbin/nologin mysql
(3)使用cmake工具对mysql5.7.17进行环境收集检验与配置相关模块

解压
mysql
源码包后,进入解压后的路径

cd mysql-5.7.17

使用cmake工具执行下面命令,进行环境收集检验与配置

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mydata -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DWITH_SSL=system -DWITH_ZLIB=system -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DDOWNLOAD_BOOST=1 -DWITH_BOOST=…/boost_1_59_0 -DENABLE_DOWNLOADS=1

各参数参数说明
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql指定mysql数据库安装目录
-DMYSQL_DATADIR=/data/mydata指定数据库文件路径
-DSYSCONFDIR=/etc指定配置文件路径
-DWITH_INNOBASE_STORAGE_ENGINE=1安装INNOBASE存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1安装ARCHIVE存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1安装BLACKHOLE存储引擎
-DWITH_READLINE=1使用redline功能
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock连接文件位置
-DWITH_SSL=system表示使用系统上自带的SSL库
-DWITH_ZLIB=system表示使用系统上自带的ZLIB库
-DDEFAULT_CHARSET=utf8指定默认使用的字符集编码
-DDEFAULT_COLLATION=utf8_general_ci指定默认使用的字符集校对规则
-DDOWNLOAD_BOOST=1若无boost库则可自行下载
-DWITH_BOOST=…/boost_1_59_0指定boost库的路径用于读取
-DENABLE_DOWNLOADS=1支持下载可选文件
(4)编译并安装
make -j 4 && make install
(5)初始化mysql

初始化后,会生成一个临时密码,这里需要记住临时密码【1RlVUip10g>j】

/usr/local/mysql/bin/mysqld \--initialize \--user=mysql \--basedir=/usr/local/mysql \--datadir=/data/mydata \--socket=/tmp/mysql.sock
(6)对mysql的相关路径进行更改权限
chown -R mysql:mysql /usr/local/mysql /data/mydata
(7)修改配置文件
//进入配置文件进行修改
vi /etc/my.cnf

//文件内容修改如下
[mysqld]
datadir=/data/mydata
socket=/tmp/mysql.sock
symbolic-links=0
[mysqld_safe]
log-error=/usr/local/mysql/log/mysql.errlog
pid-file=/data/mydata/$hostname.pid
(8)启停mysql

第一次启动时会报如下错误,这是因为没有创建【mysql.errlog】文件导致,创建后重新启动即可

//创建 mysql.errlog 文件
touch /usr/local/mysql/log/mysql.errlog

//创建后要进入log目录下修改该文件的权限
chown mysql:mysql *

chown -R mysql:mysql /usr/local/mysql/log/mysql.errlog

启动与关闭 mysql 服务的命令如下:

//启动
/usr/local/mysql/support-files/mysql.server start

//关闭
/usr/local/mysql/support-files/mysql.server stop
(9)登录mysql

第一次登录的密码是之前生成的随机密码,填入随机密码,即可登录成功

/usr/local/mysql/bin/mysql -uroot -p
(10)修改mysql密码

修改完密码需要刷新权限

//修改密码
set password for 'root'@'localhost'=password('YYL123');

//刷新权限
flush privileges;

刷新权限时,如果出现下面报错,则是因为表不存在,这里创建一个对应表即可

创建表的步骤:

//mysql中操作

use mysql;
drop table if exists mysql.servers;

//建表
CREATE TABLE `servers` (
`Server_name` char(64) NOT NULL,
`Host` char(64) NOT NULL,`Db` char(64) NOT NULL,
`Username` char(64) NOT NULL,
`Password` char(64) NOT NULL,
`Port` int(4) DEFAULT NULL,
`Socket` char(64) DEFAULT NULL,
`Wrapper` char(64) NOT NULL,
`Owner` char(64) NOT NULL,
PRIMARY KEY (`Server_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='MySQL Foreign Servers table';
(11)添加MySQL服务并设置mysql开机启动
//复制mysql.server到/etc/rc.d/init.d路径下并命名为mysql
cp -a /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql

//添加一个mysql服务
chkconfig --add mysql

//查看mysql服务的状态
chkconfig --list mysql

chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级别等级0

等级0表示关机
等级1单用户模式
等级2无网络连接的多用户命令行模式
等级3有网络连接的多用户命令行模式
等级4不可用
等级5带图形界面的多用户模式
等级6重新启动

使用mysql服务的方式操作启停mysql服务

//启动mysql服务器
service mysql start
//关闭mysql服务器
service mysql stop
//重启mysql服务器
service mysql restart
(12)使用 mysql -uroot -p 登录服务器

设置mysql环境变量,软链接到/usr/sbin/目录下,使得mysql在任何目录都可直接使用 mysql -uroot -p 登录服务器

ln -s /usr/local/mysql/bin/* /usr/sbin/

9、部署php服务与nginx的整合

(1)PHP介绍

PHP是一种脚本语言,常用于做动态网站

(2)源码编译安装
第一步:安装依赖组件
yum -y install gcc gcc-c++ bzip2 bzip2-devel bzip2-libs python-devel ncurses ncursesdevel openssl openssl-devel

yum install -y libxml2-devel
第二步:解压php安装包

官网下载php安装包,并上传至虚拟机中进行解压

解压命令:tar -xf php-5.5.35.tar.gz

第三步:使用./configure进行环境收集检验与配置
cd php-5.5.35

mkdir -p /usr/local/php

./configure --prefix=/usr/local/php/ --enable-fpm --with-config-file=/usr/local/php/etc
第四步:编译安装
make -j 4 && make install
(3)修改php服务器配置文件
cp -a php.ini-production /usr/local/php/etc/php.ini
cp -a /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
(4)启停php服务器
//启动php服务器
/usr/local/php/sbin/php-fpm 

//php的默认监听端口是:9000

//关闭php服务器
cd /usr/local/php/sbin && pkill php-fpm 
(5)整合nginx测试php

修改nginx配置文件,文件路径在/usr/local/nginx/conf/nginx.conf,修改后对 nginx进行重启即可

vi /usr/local/nginx/conf/nginx.conf

//配置文件内在location下增加下面内容并保存退出
location ~ \.php$ {
    root /usr/local/nginx/html;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

//重启nginx服务器
/usr/local/nginx/sbin/nginx -s reload

其中,配置文件中修改的内容含义详解:

FastCGI是一个在HTTP服务器和动态脚本语言间通信的接口
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME d o c u m e n t _ r o o t document\_root document_rootfastcgi_script_name;
include fastcgi_params;
(6)在nginx的网站发布路径下创建index.php文件

在nginx的/usr/local/nginx/html路径下新增一个index.php文件用于测试,文件内容如下:

vi /usr/local/nginx/html/index.php
<?php
phpinfo();
?>

(7)测试是否安装成功

如下图所示,即安装成功

六、Linux下Shell脚本编程介绍

1、shell****编程语言的介绍

(1)shell简介

Shell
是一种脚本语言,又是一种命令语言。可以通俗一点来讲,
Shell
脚本就是一系列命令的集合,可以在 Unix/linux上面直接使用,并且直接调用大量系统内部的功能来解释执行程序把一些重复性工作交给
shell
做,来实现自动化运维。

Shell
虽然没有
C/C++

Java

Python
等强大,但也支持了基本的编程元素,例如:
if

for

while

case
等循环,还有变量、数组、字符串、注释、加减乘除逻辑运算等。

(2)常见的脚本语言

shell 、perl 、php 、python

(3)shell优点
  • 易用 :
    直接在
    linux
    系统上使用,不需要编译
  • 高效 :
    程序开发的效率非常高,依赖于功能强大的命令可以迅速地完成开发任务
  • 简单:
    语法和结构比较简单,易于掌握
(4)shell应用场景
  • 监控
    linux
    系统的健康度
  • 数据的处理 :
    日志的切割、分析、统计等
  • 与数据库交互 :
    对数据库进行增,删,改,查等操作
  • 监控进程,自动化启停服务
  • 完成一些重复性的工作

2、shell****编写第一个脚本

(1)编写脚本

新建一个【first.sh】文件,在文件中编写脚本内容

vi first.sh

//脚本内容
# !/bin/bash
# 作者:YYL
# 编写时间:2024-03-23
# 功能:this is my first shell !
echo "this is my first shell !"
(2)执行脚本

方法1:直接使用 sh 命令执行

sh first.sh

方法2:先赋予文件可执行权限,在使用 ./ 执行

chmod 755 first.sh
./first.sh

3、shell脚本与crontab****定时器的运用

(1)crond服务

以守护进程方式在无需人工干预的情况下来处理着一系列作业和指令的服务

(2)crond服务的启停命令
//启动
systemctl start crond.service

//查看状态
systemctl status crond.service

//停止
systemctl stop crond.service

//重新启动
systemctl restart crond.service
(3)crontab定时器的使用
语法选项含义内容格式
crontab 【选项】crontab -l列出crontab有哪些任务
crontab -e编辑crontab任务* * * * * 级别 命令
crontab -r删除crontab里的所有任务

crontab里的内容格式如下:

* * * * * 级别 命令

解析:五个星星分别代表【分、时、日、月、周】—从左到右

(4)crontab示例

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

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

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

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

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪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行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

|
| — | — | — | — |
| 语法 | 选项 | 含义 | 内容格式 |
| crontab 【选项】 | crontab -l | 列出crontab有哪些任务 | |
| crontab -e | 编辑crontab任务 | * * * * * 级别 命令 |
| crontab -r | 删除crontab里的所有任务 | |

crontab里的内容格式如下:

* * * * * 级别 命令

解析:五个星星分别代表【分、时、日、月、周】—从左到右

(4)crontab示例

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-FkFnygsn-1712677284785)]
[外链图片转存中…(img-3iJbjp0i-1712677284786)]
[外链图片转存中…(img-TYTSzj9W-1712677284786)]
[外链图片转存中…(img-p96W9rlQ-1712677284786)]
[外链图片转存中…(img-EQBMCmHz-1712677284787)]

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

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

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
[外链图片转存中…(img-UX3HUHKi-1712677284787)]

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

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

[外链图片转存中…(img-ydpHgT6x-1712677284787)]

本份面试集锦涵盖了

  • 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行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-KEfP6XOc-1712677284787)]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值