目录
一、操作系统
1.1概念
-
操作系统:管理计算机硬件和软件系统的计算机程序,它是计算机的核心。
1.2分类
- 服务器操作系统:代表有Linux
- 嵌入式操作系统有:代表有Linux
- 桌面操作系统:代表有Windows和macOS
- 移动端操作系统:代表有Android和iOS
二、Linux的介绍
2.1Linux特点
- 安全稳定、高性能、开源免费、可移植性好
2.2Linux发行版本
-
Debian
Kali Ubuntu(乌班图)
-
Redhat
Fedora CentOS(公司主流) Oracle Linux
-
OpenSUSE
2.3Linux使用领域
- 应用服务器
- 数据库服务器
- 网络服务器
- 虚拟化云计算
- 嵌入式领域
- 个人PC
- 移动手机
2.4Linux目录介绍⭐️
Linux是树形结构的文件系统,其中/是系统的根目录,其他所有目录都是它的子节点。
注意:Linux储存文件信息一般是从根目录(/)开始
- 路径的第一个/表示根目录
- 文件和文件之间/只有分割作用
/home/zyh
/
:根目录,唯一/home
:普通用户目录,一般说普通用户家目录:/home/用户名文件夹/
(不同的用户信息)/root
:系统管理员root目录,也叫root用户家目录/usr
:存储应用程序默认安装的路径(类似于Windows默认安装软件的Program Files
文件路径)/etc
:存储系统配置文件的路径(设置软件系统的应用,操作系统/第三方软件的配置文件存放地)/boot
:内核文件/tmp
:临时文件
三、远程工具
思考:为什么要用远程工具?
- 因为在实际工作中,服务器往往在远端,需要通过远程工具才可以进行管理。
-
常见远程连接工具
- finalshell(推荐)
- xshell、MobaXterm、putty等
-
finalshell工具说明:“Linux数据库阶段工具说明V2.0.pdf”
- 查看linux服务器ip地址:
ip address
- 检查网络连通性的命令:
ping目标地址
- 查看linux服务器ip地址:
tips:
具体安装教程可看:https://blog.csdn.net/qq_45059431/article/details/138233000?spm=1001.2014.3001.5502
四、常用快捷键
-
自动补全命令
tab键 #终端命令行输入命令的前面几个字符就可以通过TAB进行查询补全 #输入tab一次无响应,表示以这个字符开头的命令有多个,再次输入tab一次,就能显示相关所有命令 上、下方向键 #自动列出之前执行过的命令
-
其他命令
#强制中断: ctrl + c #撤销命令: ctrl + u
五、终端命名格式
5.1Linux命名格式介绍⭐️
目的:描述linux命令构成的规则
#格式: command [-options] [parameter] (命令名称 [-选项] [参数])
#命令名称:通过英文缩写,这个是Linux固定的,需要记住
#选项:通过命令操作显示的内容更加丰富
#参数:操作的对象。比如显示某个文件、某个目录等,都属于操作对象
#注意事项:
-[]括号表示可选
-选项和参数可选,有些命令是没有选项和参数。比如:ifconfig
-部分命令选项和参数的位置可以互换
-在Linux中命令区分大小写
[root@localhost ~]#
root:表示登录账号
@:表示后面跟的登录的主机民称(localhost)
~:此位置表示路径,~在这儿表示当前用户家目录
#/$:表示命令提示符,此处可以写linux的命令
5.2Linux帮助命令
目的:方便查询不同帮助信息
-
帮助命令1
-
格式:
command --help
-
作用:查看命令部分参数或选项、
-
举例:
-
-
帮助命令2
-
格式:
man command
-
作用:以手册的形式全面展示该命令对应选项参数等信息
-
快捷键
- 回车键:相信滚动一行
- 空格键
/f
:向下翻一页(一屏)forward
:向下 b
:向上翻页backward
:向上q
:退出帮助命令行quit
:退出/
关键词:查询关键词字符对应文件内
-
举例:
-
六、文件目录操作命令⭐️
6.1Linux文件路径
目的:描述操作系统中的某个文件
- 绝对路径与相对路径
-
绝对路径:以根路径或家路径开头,表示从根目录/家目录 开始的具体目录位置 (在Linux中以
/
开头表示的路径)#从根目录进入admin cd /home/admin
-
相对路径:不以根路径或者家目录开头,表示相对当前目录所在的目录位置(在Linux中以
.
或者..
开头表示的路径)#当前路径: . 或者./ (当前路径可以省略不写) #上级路径:..或者../ #返回上级: cd ../ #从当前进入 cd ./ #进入用户家目录 cd ~
-
举例:
6.2Linux中通配符
目的:按照指定规则匹配通用符号,能提升查询效率
- 查询类的命令都可以使用
*
:表示0到任意多个字符?
:表示单个任意字符[xyz]
:表示可以匹配x、y、z中的任何一个字符[1-n]
:匹配从1到n范围内的任何一个字符- 举例:
6.3重点命令介绍⭐️
-
ls命令
-
作用:查看某路径的文件有哪些
-
语法格式:
ls [-选项] [参数]
ls参数说明:
- -a:表示显示所有的文件和目录,包含隐藏文件
- -l:表示以列表详细信息形式显示文件或目录
- -h:配合 -l 显示文件的大
-
举例:
#eg:显示当前路径下所有文件信息 ls -a #eg:显示当前路径下详细文件信息 ls -l #注意:在linux下,ls -l 相当于 ll
-
-
cd命令
-
作用:切换文件路径(目录)
-
语法格式: cd [目录名称] (绝对路径/相对路径)
-
cd命令说明:
-
cd或cd ~:切换到当前用户的主目录(/home/用户目录)
-
cd . :切换到当前目录
-
cd … :切换到上一级目录
-
cd - :切换到上一次所在目录
文件及目录名称区分大小写
-
-
举例:
-
-
pwd命令
- 作用:打印当前工作目录(位置)
- 语法格式:
pwd
- 输出结果:一个绝对路径
-
touch命令
- 作用:创建普通文件
- 语法格式:
touch 文件名
注意:
创建多个文件时,文件名后面加空格再写文件名即可
如果文件名不存在,创建对应的文件
如果文件名已存在,则更新文件的修改时间
- 举例:
- mkdir命令
- 作用:创建文件夹/目录
- 语法格式:
mkdir [-选项] 文件夹名
- 注意:
- 同一级创建多个文件夹,文件夹之间有空格隔开
- 创建嵌套(递归)的文件夹时需要带选项
-p
- 目录名称不能与当前目录下的文件或者目录同名
- 举例:
#创建多个文件夹
mkdir test1 test2
#创建嵌套文件夹a1并在a1下创建a2文件夹
mkdir -p aa1/aa2
-
rm命令
-
作用:删除目录/文件
-
语法格式:
rm [选项] 文件
- -l:表示交互式执行,删除前会询问是否删除
- -f:表示强制删除,忽略不存在的文件,无需提升
- -r:表示删除文件夹及文件夹下所有的内容
注意:使用rm删除文件时无法恢复,建议使用rm时跟上 -i 参数
-
举例:
-
-
cp命令
-
作用:copy 文件或目录到另一个文件或目录
-
语法格式:
cp [选项] 源文件 目的地
- -i:交互式复制,覆盖时会提示用户确认
- -f:强制覆盖已存在的目标文件而不提示
- -r:若源文件为目录,则复制该目录下的所有内容
- -v:显示复制的进度
注意:拷贝带有文件夹的文件时,需要带选项 -r
-
举例:
-
-
mv命令
-
作用:移动文件/目录到另一个目录;重命名一个文件/目录为另一个文件/目录
-
移动文件语法格式:
mv [选项] 源文件 目的地(已存在)
-
重命名文件语法格式:
mv 原文件名 新文件名
- -i:交互式复制,覆盖时会提示用户确认
- -f:强制覆盖已存在的目标文件而不提示
- -v:显示复制的进度
mv命令除了移动文件之外还可以用来修改文件名称
-
举例:
-
-
cat命令
- 作用:查看文件内容较少文件信息
- 语法格式:
cat [选项] 文件名
- -b:对非空输出行编号
- -n:对输出的所有行编号
tips:
1.cat可以用来查看文件、创建文件、合并文件及追加文件
2.cat查看文件时会一次显示所有内容,适用于内容较少的文件
-
举例:
#方式1:进入etc查看protocols文件内容 cd /etc cat protocols #方式2:不进入直接查看文件内容 cat /etc/protocols #方式3:查看文件内容带行号 cat -n /etc/protocols
-
more/less命令
- 作用:查看文件(较多) 内容信息
- 语法格式:
more 文件名 或 less 文件名
tips:
1.more命令用于分屏显示文件内容,每次显示一页内容
2.适用于查看文件内容较多的文件
-
举例:
#etc下面的protocols文件内容 more /etc/protocols less /etc/protocols #翻页 #空格键:显示文件的下一页内容 #Enter键:滚动显示文件下一行内容 #forward(向下):f #backward(向上):b #quit(退出):q
-
grep命令
- 作用:按关键词搜索文件内容信息
- 语法格式:
grep [选项] 关键词 文件名
- -n:输出搜索关键词所在行编号
- -v:显示不包含匹配文本的所有行(相当于取反
- -i:忽略大小写
grep 是一个强大的文本搜索工具,允许对文本进行模式查找(正则表达式)
-
举例:
#搜索protocols文件内容包含关键词Internet grep -n "internet" protocols
-
grep常用正则表达式:
按照一定的规则描述信息的公式,作用为了 快速查找对应关键信息
1.查询某个字符开头的关键信息:
^关键词
例如:^a表示搜索行首内容以a文本开头的行。
2.查询某个字符结尾的关键信息:
关键词$
例如:Ke$表示搜索行尾内容以Ke文本结尾的行。
3.查询匹配[]中的任意一个字符
例如:[Ss]igna[Ll]搜索匹配单词为SignaL,Signal,signal,signaL
-
举例:
-
重定向
-
作用:将终端命令执行的结果保存或者追加到另一个文件中去
-
语法格式:
>
重定向符号表示输出到新文件中,会覆盖文件原有内容。保存(覆盖):任何命令执行结果 > 新文件名
>>
重定向符号表示追加到新文件中,不会覆盖文件中原有的内容。追加:任何命令执行结果 >> 新文件名
-
注意:新文件名可以不提前创建
-
举例:
-
-
管道符
-
作用:将前一个命令的执行结果作为管道符后一个命令的输入对象(参数)
-
常用的管道命令:
- more:分屏显示执行结果
- grep:通过grep过滤执行结果的内容
-
语法结构:
- 前面的结果分页查看:
任何命令执行结果 | more
- 前面的结果按关键词过滤:
任何命令执行结果 |grep 关键词
- 前面的结果分页查看:
-
注意:相当于对多个Linux命令进行连接使用
-
举例:
-
-
其他命令—pwd、clear、which
pwd
- 格式:
pwd
- 作用:显示当前所在目录
clear
- 格式:
clear
- 作用:用于清除当前屏幕终端所有内容
which
-
格式:
which 命令名
-
作用:查看某个软件或应用程序的安装位置
-
举例:
#查看pwd命令位置:文件存放的目录 which pwd
- 格式:
七、查看操作系统版本(centos)
目的:方便开发或者测试知道对应版本支持的应用软件
- 查看CentOs内核版本:
cat /proc/version
- 查看CentOs发行版本:
cat /etc/redhat-release
八、操作系统相关命令
8.1系统开关机
注意:一般需要有管理员权限
-
重启命令:
reboot
(执行命令后,立即重新启动操作系统) -
关机命令:
shutdown
(执行命令后,提示一分钟后关闭操作系统)- shutdown常用命令选项:
shutdown -r now
:重新启动操作系统,shutdown会给别的用户提示shutdown -h now
:立刻关机,其中now相当于时间为0的状态shutdown -h 20:25
:系统在今天的20:25会关机shutdown -h +10
:系统再过十分钟后自动关机
- shutdown常用命令选项:
-
关机命令(推荐):
power off
8.2系统运行程序
进程:表示在计算机上正在运行的软件程序
场景:测试过程中出现软件运行异常时,可以查看并操作进程(结束/杀死进程)
- 通常查看会带过滤条件
-
查看系统进程 --ps
-
查看所有进程:
ps -aux
-a : 显示终端上的所有进程,包括其他用户的进程
-u:显示进程的详细状态
-x:显示没有控制终端的进程
-
查看指定(关键词) 进程:
ps -aux | grep '' 关键词 ''
ps -aux | grep "ssh"
-
-
查看系统进程 --top
top命令用于实时动态查看系统进程相关信
-
如果查看CPU从大到小使用率: P
-
如果查看内存从大到小使用率: M
-
如果退出: q
-
举例:
#01.查看当前系统下的进程信息
ps -aux
#02.手动打开火狐浏览器
#03.获取火狐浏览器的进程信息(进程 ID)
ps -aux | grep firefox
#04.通过结束火狐浏览器进程的方式关闭浏览器
kill 进程id
#05.打开当前系统'任务管理器'(动态查看进程信息)
top
-
结束进程 --kill
目的: 程序出现异常可以通过命令结束进程
-
普通结束进程:
kill 进程ID
-
强制结束进程:
kill -9 进程ID
进程号可以通过ps或者netstat等命令获取到
-
举例:
-
-
任务管理器
作用:动态显示正在运行程序的CPU、内存、进程等信息
8.3查看监听端口
在实际测试中,常常需要知道服务器应用程序开放哪些端口,方便数据交互
-
netstat命令:
-
作用:查看当前网络状态及软件使用端口信息( 进程、端口号、协议信息)
-
语法格式:
netstat -pantu
常用选项说明:
-a : 显示所有已打开的端口
-p : 显示对应的进程id
-n : 用数字显示对应的端口,不用别名显示
-t : 显示所有tcp协议端口
-u : 显示所有udp协议端口
-
注意: 实际应用中可以借助于管道符进行过滤
|grep 关键词
-
举例:
#01.查看当前系统中开放的端口有哪些 netstat - pantu #查看系统某个(mysqld)应用程序的端口 netstat -pantu | grep mysqld
-
-
lsof 命令
-
作用:查看正在使用端口的软件及进程信息
-
查看目前进行打开文件信息:
1sof -i
-
查看某个端口的详细信息时:
1sof-i:端口号
tips:
在Linux中启动软件时,会出现因为端口被占用而无法启动的情况,这个时候就需要我们用lsof -i命令查看 安装软件要使用的端口是否被占用
-
举例:
#02.查看哪个程序正在使用 3306 端口(需要 root 用户权限) lsof -i:3306
-
8.4查看日志文件⭐️
在测试工作中,经常和研发进行调试或者定位问题,需要查看服务器的日志信息
-
head/tail命令
-
查看前多少行日志信息:
head [-数字] 日志文件名
-
查看后多少行日志信息:
tail[-数字] 日志文件名
-
查看实时日志信息:
tail -f 日志文件名
-
默认不写数字选项时,head查看的前10行,tail查看后10行
-
举例:
-
九、用户权限和管理⭐️
9.1文件权限
表示在Linux上什么用户对于文件所拥有哪些权限
- 查看文件权限: ls -l
-
-
第一列字符:表示文件的类型
- d:文件夹/目录
- -:表示普通文件
- l:表示软连接文件(快捷方式文件)
-
文件权限
- r:表示只读权限,数字代号:4
- w:表示写权限,数字代号:2
- x:表示可执行,数字代号:1
- -:表示没有权限,数字代号:0
-
前面三个:表示文件拥有者所具有权限 --u
-
中间三个:表示文件所属组具有权限 --g
-
后面三个:表示其他用户具有权限 --o
用户类型说明:
u : 表示文件所属用户
g : 表示文件所属的用户组
o : 表示其他用户
a : 表示所有用户
-
-
修改文件权限
目的:当操作某个文件,如果没有权限时,需要修改权限后,才可以修改文件
-
数字法语法格式: chmod 三个数字 文件名
-
字母法语法格式: chmod u+/-[rwx],g+/-[rwx],o+/-[rwx] 文件名
权限设置说明:
+: 增加权限
-: 撤消权限
= : 设定权限
-
举例1(字母法):
-
举例2(数字法):
-
9.2用户权限
-
新增用户
-
基本格式:
useradd 用户名
命令说明:
useradd admin123 : 创建一个普通账户admin123
-
-
查看登录账户
-
命令:
who
-q或–count : 只显示用户的登录账号和登录用户的数量
-u或–heading : 显示列标题
-
切换用户账号
在测试中需临时申请高权限的账号对文件进行处理
-
基本格式:
su 用户名
-
从普通用户权限切换root权限命令
-
su -
-
从低权限切换高权限时需要输入最高权限账号的密码
设置密码: passwd 或者 passwd 用户名
命令说明:
- passwd : 用于设置当前用户的密码
- passwd 用户名 : 用于设置指定用户的密码 (执行命令的用户必须为root)
-
-
从一个用户切换到另一个用户命令
su 用户名
-
提升权限命令
- 注意:在实际应用中执行部分命令会提示权限不足,此时需要通过sudo命令申请提升root的权限
sudo 其他 linux命令
- sudo命令会提示输入当前该账户的密码即可
-
-
退出登录用户
-
命令格式: exit
命令说明:
如果是图形界面,退出当前终端。
如果是使用ssh远程登录,退出登陆账户。
如果是切换后的登陆用户,退出则返回上一个登陆账号。
-
十、其他常用命令
10.1查找文件存放位置⭐️
-
格式:
find [路径] -name 文件名
-
注意:
- 路径可以不写,默认从当前路径开始
- 文件名中可以使用通配符
- 查询结果:文件存放的位置
-
案例:
10.2归档管理-tar命令⭐️
在测试工作中,文件繁多时,常常需要进行文件的归档管理
-
tar命令压缩或解压缩
-
压缩语法格式:
tar -zcvf 包名.tar.gz 被打包的文件/目录信息
-
z: 调用压缩/解压缩命令(gzip)
gzip命令格式:
gzip [选项] 被压缩文件
gzip选项说明:
-r :压缩所有子目录
-d :解 压
-
c:创建打包文件
-
x:表示解开包
-
v:显示打包进度
-
f:后面跟打包之后文件名,这个f必须放在选项最后
-
如果被压缩的文件有路径时,通过tar进行压缩会将整个路径一并压缩进去
-
-
解压缩语法格式:
-
格式1:
tar -zxvf 包名.tar.gz
-
格式2:
tar -zxvf 包名.tar.gz -C 目的路径
-
解压不指定路径,默认在当前路径
-
解压指定路径需要跟-C选项,并且-C后面的路径必须存在
注意:这儿的-C是大写
-
-
举例:
-
带路径的压缩
-
不带路径的压缩(需要进入被压缩的路径里面去才可以,压缩就不带路径了)
-
10.3归档管理-zip命令
-
zip和unzip的应用
-
压缩格式:
zip [-r] 压缩后文件名 被压缩的文件/目录
-
解压缩格式:
unzip 压缩文件名 -d 指定解压路径
- ``unzip -d 指定解压路径 压缩文件名 `
-
注意:
- -r:带有文件夹(递归)的压缩时,需要-r
- zip:压缩后文件名不需要带后缀
- unzip:解压时,选项和参数的位置可以互换
-
举例:
把当前路径下a.txt 和test目录通过zip压缩并解压缩
-
十一、文件编辑⭐️
场景:对于linux普通文件进行编辑操作
常见工具:
- vi:linux系统自带的文本编辑工具
- vim: v的高级版本工具(vim工具默认待安装)
-
vi编辑器: linux自带的文件编辑工具,通过命令操作,注意不支持鼠标操作
-
格式:
vi 文件名
—>进入命令模式 -
编辑的模式
- 命令模式: 只能输入
i a o
任何一个 —>进入编辑/插入模式 - 插入模式: 可以输入任意字符,最后按
ESC
键直接退出回到命令模式,输入:
退回到末行模式 - 末行模式:
- q!:不保存强制退出
- q: 不保存退出
- wq: 保存退出
- wq! : 保存强制退出
- 命令模式: 只能输入
-
操作示意图:
-
案例演示
#打开文件进入命令模式:vi 文件名 vi test1.txt #随便输入任何字符 #输入i进入输入模式 #输入任何字符 #按 ESC键 返回到命令模式 #输入 : 进入末行模式 #输入 wq 保存退出
-
十二、软件安装
linux系统如何安装软件?
安装方式有两种
-
源码安装:安装过程复杂,需要linux开发或者运维人员执行,测试暂不要求
-
通过工具安装
注意:需要连通外网下载安装包及依赖包
- 推荐用yum
-
RPM安装:
rpm -ivh 软件包名.rmp
-
RPM卸载:
rpm -e 软件包名.rmp
-
YUM安装:
yum install 软件包名
- 安装过程不需要交互默认选择yes,则直接可以添加-y选项
- 即不需要交互安装:
yum -y install 软件包名
- YUM卸载:
yum remove 软件包名
-
区别:
- RPM安装需要自己解决安装包之间的依赖关系
- yum安装会自动解决安装包之间的依赖关系,但是yum需要本地仓库管理.rmp包
-
案例
#安装tree工具 yum -y install tree #卸载tree工具 yum -y remove tree