迷茫不可怕,说明你还在向前走
失败不可怕,只要你还能爬起来
目录
编辑
为什么要学习linux操作系统?
linux系统的安装
FinalShell
虚拟机快照
第二章 基本知识
linux目录结构
linux路径的描述方式
linux命令入门
linux命令基础格式
ls命令入门
ls命令的参数和选项
参数:
选项:
-a
-l
-h
ls命令选项的组合使用
cd 、pwd命令
cd
pwd
相对路径和绝对路径
特殊路径符
创建目录命令
mkdir命令
文件操作命令
touch 创建文件
cat命令 查看文件内容
more命令查看文件内容
cp命令复制文件文件夹
rm 删除文件、文件夹
查找命令
which 命令
find命令-按文件名查找文件
编辑
find命令-按文件大小查找
grep命令
编辑
wc命令
管道符
echo命令
反引号
重定向符
tail命令
vi/vim编辑器介绍
命令模式
编辑模式:
底线命令模式
第三章Linux用户和权限
root用户
su和exit命令
sudo命令
为普通用户配置sudo认证
用户和用户组
用户组管理
getent
认知权限信息
rwxchom
chmod命令
权限的数字序号
chown命令
第四章 Linux使用操作
常用快捷键
ctrl+c 强制停止
ctrl+d 退出或登出
历史命令搜索
光标移动快捷键
清屏
linux系统软件安装
应用商店
yum命令
systemctl命令
ln命令创建软连接
软连接的删除
date命令
ntp程序
IP地址
特殊ip地址
在linux中修改主机名
域名解析
配置主机名映射
为什么需要固定IP
在VMware Workstation中配置固定IP
ping命令
编辑wget
curl
端口
查看端口占用
nmap
netstat
进程
查看进程
查看指定进程
关闭进程
查看系统资源占用
top命令内容详解
top命令选项
top交互式选项
磁盘信息监控
df命令
iostat
网络状态监控
环境变量
env命令
环境变量PATH
$符号
Linux环境变量
上传和下载
通过FinalShell工具(速度快)
rz、sz命令(速度慢)
压缩和解压缩
tar命令
tar的压缩常用组合为
tar解压组合有
zip 命令压缩文件
unzip 命令解压文件
为什么要学习linux操作系统?
1.性能问题,windows服务器操作系统不如linux高
2.稳定性问题,底层架构:linux更加稳定,其开机时间可以达到好几年不关机
开源:因为开源,人人都可以看到源代码,就可以为其提供自己的补丁,补丁可以提高稳定性和安全性;
3.安全性问题:linux操作系统,相对于windows操作系统更加安全;
4.远程管理方面:linux比windows更高效
5.服务器价格昂贵的,需要对资源进行充分利用,充分吧计算机资源用到项目上(访问开发、性能),而不是把资源浪费在图形化界面或者方便程度上;
windows:属于单用户。多任务
linux:属于多用户、多任务
linux系统的安装
1.真机安装:会替换掉当前的Windows系统
2.虚拟机安装:通过一些特代拟稿手段,来进行模拟安装,并不会影响当前计算机的操作系统
FinalShell
第三方软件,远程连接到linux操作系统中,通过finalshell去控制操作linux系统,更方便
虚拟机快照
通过快照将当前虚拟机的状态保存下来,在以后可以通过快照恢复虚拟机到保存的状态
第二章 基本知识
linux目录结构
linux的目录结构是一个树型结构
windows系统可以拥有多个盘符,如C盘、D盘
linux没有盘符这个概念,只有一个根目录/,所有文件都在它下面
linux路径的描述方式
在linux系统中,路径之间的层级关系,使用:/来表示
在windows系统中,路径之间的层级关系,用:\来表示
linux命令入门
学习linux,本质上是学习在命令行下熟练使用linux的各类命令。
命令行:即linux终端(Terminal),是一中命令提示符页面。以纯“字符”的形式操作系统,可以使用各种字符画命令对系统发出操作指令。
命令:即linux程序。一个命令就是一个linux的程序。命令没有图形化页面,可以在命令行(终端中)提供字符化的反馈。
linux命令基础格式
无论是什么命令,用于什么用途,在linux中,命令有其通用的格式:
- command:命令本身
- -options:[可选,非必填]命令的一些选项们可以通过选项控制命令的行为细节
- parameter:[可选,非必填]命令的参数,多数用于命令的指向目标。
- 语法中的[ ],表示可选的意思
ls命令入门
ls命令的作用是列出目录下的内容,语法细节如下:
ls [-a -l -h] [Linux路径]
- -a -l -h 是可选的选项
- Linux路径是此命令可选的参数
当不使用选项和参数,直接使用ls命令本体,表示:以平铺形式,列出当前工作目录下的内容
直接输入ls命令,表示列出当前工作目录下的内容
Linux系统的命令行终端,在启动的时候,会默认加载:
- 当前登录用户的Home目录作为当前工作的目录,所有ls命令列出的时HOME目录的内容
- HOME目录:每个Linux操作用户在Linux系统的个人账户目录,路径在:/home/用户名
ls命令的参数和选项
参数:
当ls不使用参数,表示列出当前工作目录的内容,即用户的HOME目录
当使用参数,ls命令的参数表示:指定一个Linux路径,列出指定路径的内容:
选项:
-a
表示:all的意思,即列出的全部文件(包含隐藏的文件、文件夹)
以.开头的,表示是linux系统的隐藏文件、文件夹(只要以.开头,就能自动隐藏)
-l
表示:以列表(竖向排列)的形式展示内容,并展示更多信息
-l选项和图形化中,文件夹以列表形式排列是一个意思
-h
表示:以易于阅读的形式,列出文件大小,如K、M、G
-h 选项必须要搭配-l一起使用
ls命令选项的组合使用
写法:
ls -l -a = ls -la = ls -al
上述三种写法,都是一样的,表示同时应用-l和-a的功能。
除了选项本身可以组合外,还可以和参数组合使用
cd 、pwd命令
cd
通过cd命令,更改当前所在的工作目录
cd(change directory)
语法:cd [linux]路径
- cd命令无需选项,只有参数,表示要切换到哪个目录下
- cd命令直接执行,不写参数,表示回到用户的HOME目录
pwd
通过pwd命令,来查看当前所在的工作目录
pwd(print work directory) 语法:pwd
相对路径和绝对路径
绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头
相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头
直接写cd,即可回到HOME目录
特殊路径符
创建目录命令
mkdir命令
通过mkdir命令可以创建新的目录(文件夹)
mkdir来自英文:Make Directory
语法:
mkdir [-p] Linux路径
- 参数必填,表示Linux路径,即创建的文件夹的路径,相对路径或绝对路径均可
- -p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
ctri+l清屏
注意:创建文件夹需要修改权限,请确保操作均在HOME目录内,不要再HOME外操作涉及到权限问题,HOME外无法成功。
文件操作命令
touch 创建文件
可以通过touch命令创建文件
语法:
touch Linux路径
- touch 命令无选项,参数必填,表示要创建的文件路径,绝对、相对、特殊路径均可。
cat命令 查看文件内容
准备好文件内容,可以通过cat查看内容
语法:
cat Linux路径
cat同样没有选项,只有必填参数,参数表示:被查看过的文件路径。
more命令查看文件内容
与cat不同的是:
- cat是直接将内容全部展示出来
- more支持翻页,如果文件内容过多,可以一页页展示
语法:
more Linux路径
在查看过程中,通过空格翻页,通过q退出查看
cp命令复制文件文件夹
cp命令可以用于复制文件\文件夹,cp:copy
语法:
cp [-r] 参数1 参数2
- -r 选项,可选,用于复制文件夹使用,表示递归
- 参数1,Linux路径,表示被复制的文件或文件夹
- 参数2,linux路径,表示要复制去的地方。
mv移动文件或文件夹
mv命令可以用来移动文件\文件夹,mv:move
语法:
mv 参数1 参数2
- 参数1,Linux路径,表示被移动的文件或文件夹
- 参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在。
rm 删除文件、文件夹
rm 命令可用于删除文件、文件夹,rm:remove
语法:
rm [-r -f] 参数1 参数2 。。。参数N
- 同cp命令一样,-r选项用于删除文件夹
- -f表示force ,强制删除(不会弹出提示确认信息)
- 普通用户删除内容不会弹出提示,只有root管理员删除内容会有提示
- 所以一般普通用户用不到-f选项
- 参数1 参数2..表示要删除的文件或文件夹路径,按照空格隔开
rm命令支持通配符*,用来做模糊匹配
rm是一个危险的命令,特别是在处于root(超级管理员)用户的时候,请谨慎使用
如下命令,请千万不要root(超级管理员)下使用rm -rf/ rm -rf/* 效果等同与在windows上执行c盘格式化。
查找命令
which 命令
在前面学习的Linux命令,其实是一个个的二进制可执行程序。和windows系统中的.exe文件,是一个意思。
我们可以通过which命令,查看所使用的一系列命令的程序文件存放在哪里。
语法:
which 要查找的命令
find命令-按文件名查找文件
在linux中,我们可以通过find命令去搜索指定的文件。
语法:
find 起始路径 -name "被查找文件名"
被查文件名,支持通配符*来做模糊查询
find命令-按文件大小查找
语法:
find 起始路径 -size +/-n[kMG]
- +、-表示大于和小于
- n表示大小数字
- kMG是大小单位,k(小写字母)表示kb,M表示MB,G表示GB
grep命令
可以通过grep命令,从文件中通过关键字过滤文件行。
语法:
grep [-n] 关键字 文件路径
- 选项-n ,可选,表示在结果中显示匹配的行的行号。
- 参数,关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用" "将关键字包围起来。
- 参数,文件路径,必填,表示要过滤内容的文字路径,可作为内容输入端口。
wc命令
通过wc命令统计文件的行数、单词数量等
语法:
wc [-c -m -l -w] 文件路径
- 选项,-c ,统计bytes数量
- 选项,-m,统计字符数量
- 选项,-l,统计行数
- 选项,-w,统计单词数量
- 参数,文件路径,被统计的文件,可作为内容输入端口。
管道符
管道符: |
管道符后的含义是:将管道符左边命令的结果(输出),作为右边命令的输入。
echo命令
可以使用echo命令在命令行内输出指定内容
语法:
echo 输出的内容
无需选项,只有一个参数,表示要输出的内容,复杂内容可以用""包围。
反引号
通过将命令用反引号(通常也称之为飘号)``(Esc下面的那个按键在英文状态下)将其包围
重定向符
- >,将左侧命令的结果,覆盖写入到符号右侧指定的文件中
- >>,将左侧命令的结果,追加写入到符号右侧指定的文件。
tail命令
使用tail命令,可以查看文件尾部内容,跟踪文件的最新更改,
语法:
tail [-f -num] Linux路径
- 参数,linux路径,表示被跟踪的文件路径
- 选项,-f,表示持续跟踪
- 选项 ,-num,表示,查看尾部多少行,不填默认10行
注:结束时按ctrl+c
vi/vim编辑器介绍
vi\vim编辑器是visual interface的简称,是linux中最经典的文本编辑器
同与兴华界面中文本编辑器一样,vi是命令行下对文本文件进行编辑的绝佳选择。
vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大地方便了程序的设计和编辑性。
vi\vim编辑器的三种工作模式
命令模式(Command mode)
命令模式下,所敲的按键编辑器都理解为命了,以命令驱动执行不同的功能。
此模型下,不能自由进行文本编辑。
输入模式(Insert mode)
也就是所谓的编辑模式。插入模式。
此模式下,可以对文件内容进行自由编辑。
底线命令模式(Last line mode)
以:开始,通常用于文件的保存、退出。
命令模式
用 以下命令编辑文件:
vi 文件路径
vim 文件路径
如果文件路径表示的文件不存在,那么此命令会创建一个新文件后编辑。
命令模式快捷键
编辑模式:
正常编辑,通过ESC回退到命令模式
底线命令模式
第三章Linux用户和权限
root用户
在Linux系统中,拥有最大权限的账户名为:root(超级管理员)
普通用户的权限,一般在其HOME目录内是不受限的
一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限。
su和exit命令
su(Switch User)命令就是用于账户切换的系统命令.
语法:
su [-] [用户名]
- -符号是可选的,表示是否在切换用户后加载环境变量,建议带上
- 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
- 切换用户后,可以通过exit命令退回到上一个用户,也可以使用快捷键ctrl+d
- 普通用户,切换到其他用户需要输密码;root切换到其他用户,无需密码。
sudo命令
在我们得知root密码的时候,可以通过su命令切换到root得到最大权限。
但是不建议长期使用root用户,避免带来系统损坏。
我们可以使用sudo命令,为普通的用户授权,临时以root身份执行。
语法:
sudo 其他命令
在其他命令之前,带上sudo,即可为这一用户临时赋予root授权。
但不是所有的用户,都有权利使用,我们需要为普通用户配置sudo认证。
为普通用户配置sudo认证
- 切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudors
- 在文件的最后添加:
- 其中最后的NOPASSWD:ALL表示使用sudo命令,无需输入密码
- 最后通过wq保存
切换回普通用户
用户和用户组
linux系统中可以:
- 配置多个用户
- 配置多个用户组
- 用户可以加入多个用户组中
Linux中关于权限的管控级别有2个级别,分别是
- 针对用户的权限控制
- 针对用户组的权限控制
用户组管理
以下命令需root用户执行
创建用户组
groupadd 用户组名删除用户组
groupdel 用户组名
用户管理
以下命令需root用户执行
创建用户
useradd [-g -d]用户名选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如存在同名组,必须使用-g选项:-d 指定用户HOME路径,不指定,HOME默认在:/home/用户名删除用户
userdel [-r]用户名选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOMW目录保留查看用户所属组
id[用户名]参数:用户名,被查看的用户,如果不提供则查看自身修改用户所属组
usermod -aG [用户组] 参数:用户名,将指定用户加入指定用户组
getent
可以查看当前系统中有哪些用户
语法:
getent passwd
共有七份信息,分别是:
用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)
使用getent命令,同样可以查看当前系统中有哪些用户组
语法:
getent group
包含3份信息,组名称:组认证(显示为X):组ID
认知权限信息
通过ls -l可以以列表形式查看内容,并显示权限细节
序号1,权限细节
分10个槽位
举例:drwxr-xr-x,表示
d表示这是一个文件夹,rwd表示所属用户权限是有r有w有d,r-x表示所属用户组的权限是有r无w有x,r-x表示其他用户权限是有r无w有x。
rwxchom
r表示读权限,w表示写权限,x表示执行权限
针对文件、文件夹的不同,rwx的含义有细微差别
- r,针对文件可以查看文件内容
- 针对文件夹,可以查看文件夹内容,如ls命令
- w,针对文件表示可以修改此文件
- 针对文件爱那几,可以在文件夹内:创建、删除、改名等操作
- x,针对文件表示可以将文件作为程序执行
- 针对文件节哀,表示可以更改工作目录到此文件夹,如cd进入
chmod命令
使用chomd命令,修改文件、文件夹的权限信息。
注意,只有文件、文件夹的所属用户或root用户可以修改。
语法:
chmod [-R]权限 文件或文件夹
选项:-R,对文件夹内的全部内容应用同样的操作。
除此之外,还有快捷写法:chmod 751 hello.txt -->将hello.txt的权限修改为751
权限的数字序号
权限可以用3为数字来表示,第一位数字表示用户权限,第二位数字表示用户组权限,第三位数字表示其他用户权限。
数字的细节如下:r记为4,w记为2,x记为1,可以有:
chown命令
可以修改文件、文件夹的所属用户和用户组
普通用户无法修改所属为其他用户或组,所以此命令只适用于root用户执行。
语法:
chown [-R] [用户] [:] [用户组] 文件或文件夹
- 选项:-R,同chmod,对文件夹内全部应用相同的规则
- 选项,用户,修改所属用户
- 选项,用户组,修改所属用户
- :用于分隔用户和用户组
第四章 Linux使用操作
常用快捷键
ctrl+c 强制停止
linux某些程序的运行,如果想要强制停止它,可以使用快捷键ctrl+c
命令输入错误,也可以通过快捷键ctrl+c,退出当前输入,重新输入
ctrl+d 退出或登出
可以退出账户的登录
或退出某些特定程序的专属界面
注:不能用于退出vi/vim编辑器
历史命令搜索
可以通过history命令,查看历史输入过的命令
可以通过:!命令前缀,自动的执行上一次匹配前缀的命令。
命令匹配是从下往上匹配的,太久的命令不一定能匹配上
可以通过快捷键ctrl+r,输入内容去匹配历史命令
如果搜索到的内容是你需要的,那么:
回车键可直接执行;键盘左右键,可以得到此命令,进行修改
光标移动快捷键
ctrl+a ,跳到命令开头
ctrl+e,跳到命令结尾
ctrl+键盘左键,向左跳一个单词
ctrl+键盘右键,向右跳一个单词
清屏
通过快捷键ctrl+l,可以清空终端内容
或通过命令clear得到同样的效果。
linux系统软件安装
应用商店
yum命令
yum:RPM包软件管理器,用于自带哦哦哦那个花安装配置Linux软件,并可以自动解决依赖问题。
语法:
yum [-y] [install|remove|search] 软件名称
选项:-y,自动确认,无需手动确认安装或卸载过程
Install:安装;remove:卸载;search:搜索
yum命令需要root权限,可以su切换到root,或使用sudo提权
yum命令需要联网
systemctl命令
Linux系统很多软件(内置或第三方)均质池使用systemctl命令控制:启动、停止、开机自启动能够被systenctl管理的软件,一般也称之为:服务
语法:
systemctl start|stop|status|enable|disable 服务名
start 启动 ; stop 关闭 ; status 查看状态; enable 开启开机自启;disable 关闭开机自启
系统内置的服务比较多,比如:
NetworkManager,主网络服务
network,副网络服务
firewalled,防火墙服务
sshd,ssh服务(FinalShell远程登录linux使用的就是这个服务)
部分软件安装后没有自动集成到systemctl中,我们可以手动添加。
ln命令创建软连接
在系统中创建软拦截,可以将文件、文件夹链接到其它位置。
类似于windows系统中的《快捷方式》
语法:
ln -s 参数1 参数2
- -s选项,创建软连接
- 参数1:被链接的文件或文件夹
- 参数2:要链接去的目的地
软连接的删除
rm -rf dre/ 会删除文件夹下的所有内容,但是没有删除这个链接
rm -rf dre 会删除这个软链接,不会删除下面的内容
date命令
通过date命令可以在命令行中查看系统的时间
语法:
date [-d] [+格式化字符串]
- -d 按照给定的字符串显示日期,一般用于日期计算
- 格式化字符串:通过特定的字符串标记,来控制显示的日期格式
使用date命令本体,无选项,直接查看时间
可以通过格式化字符串自定义显示格式
- 按照2023-10-24的格式显示日期
- 按照2023-10-24 12:00:00的格式显示日期--中间有空格,使用双引号包围格式化字符串,作为整体
-d选项,可以按照给定的字符串显示日期,一般用于日期计算
其中支持的时间标记为:
-d选项可以和格式化字符串配合一起使用
修改linux时区
系统默认时区为UTC
使用root权限,执行如下命令,修改时区为东八区时区
ntp程序
我们可以通过ntp程序自动校准系统时间
安装ntp:yum -y install ntp
启动并设置开机自启:
- systemctl start ntpd
- systemctl enable ntpd
当ntpd启动后会定期的帮助我们联网校准系统的时间
也可以手动校准(需要root权限):ntpdate -u ntp.aliyuun,com
IP地址
每一台联网的电脑都会有一个地址,用于和其他计算机进行通信。
IP地址有两个版本,v4和v6(v6很少用,课程暂不涉及)。
ipv4的地址格式是:a.b.c.d,其中abcd表示0~255的数字。
可以通过命令ifconfig,查看本机的ip地址,如果无法使用ifconfig命令,可以安装:yum -y install net-tools.
特殊ip地址
127.0.0.1,这个ip地址用于指代本机
0.0.0.0,特殊ip地址,可以用于指代本机;可以在端口中绑定中用来确定绑定关系;在一些ip地址限制中,表示所有ip的意思。
在linux中修改主机名
可以使用命令:hostname 查看主机名
可以使用命令:hostnamectl set-hostname 主机名,修改主机名(需root)
重新登录finalshell即可看到主机名已经正确显示
域名解析
实际上,我们一直都是通过字符化的地址去访问服务器,很少指定IP地址
比如,我们在浏览器内打开:www.baidu.com,会打开百度的网址
其中,www.baidu.com,是百度的网址,我们称之为:域名
配置主机名映射
为什么需要固定IP
当前我们虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的。
DHCP:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更
原因1:办公电脑IP地址变化无所谓,但是我们要远程连接到Linux系统,如果IP地址经常变化我们就要频繁修改适配很麻烦。
原因2:在刚刚我们配置了虚拟机IP地址和主机名的映射,如果IP频繁更改,我们也需要频繁更新映射关系。
综上所述,我们需要IP地址固定下来,不要变化了。
在VMware Workstation中配置固定IP
配置固定IP需要2个大步骤:
1.在VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围)
2.在Linux系统中手动修改配置文件,固定IP
ping命令
可以通过ping命令,检查指定的网络服务器是否是可联通状态
语法:
ping [-c num] ip或主机名
- 选项:-c,检查的次数,不使用-c选项,将无限次数持续检查
- 参数:ip或主机名,被检查的服务器的ip地址或主机名地址
wget
wget是非交互式的文件下载器,可以在命令行内下载网络文件
语法:
wget [-b] url
- 选项:-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件
- 参数:url,下载链接
注:无论是否下载完成,都会生成要下载的文件,请及时清理未下载完成的文件
curl
curl可以发送http网络请求,可用于:下载文件、获取信息等
语法:
curl [-O] url
- 选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件
- 参数:url,要发起请求的网络地址
端口
端口,是设备与外界通讯交流的出入口。
端口可以分为:物理端口和虚拟端口两类
- 物理端口:又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等
- 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的
计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。
通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通
IP地址相当于小区地址,在小区内可以有许多住户(程序)而门牌号(端口)就是各个住户(程序)的联系地址
Linux系统是一个超大号小区,可以支持65535个端口,这6万多个端口分为3类进行使用:
- 公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口 非特殊需要,不要占用这个范围的端口
- 注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务
- 动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用。
查看端口占用
可以通过Linux命令去查看端口的占用情况
nmap
使用nmap命令(不是系统自带的需要先安装),安装nmap:yum-y install nmap
- 语法:
nmap 被查看的IP地址
-
22端口,一般是SSH服务使用,即FinalShell远程连接Linux所使用的端口
netstat
可以通过netstat命令,查看指定端口、进程的占用情况
语法:
netstat -anp | grep 端口号/进程号
,安装netstat:yum -y install net-tools
进程
程序运行在操作系统中,是被操作系统所管理的。
为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程
并会为每一个进程都分配一个独有的:进程ID(进程号)
查看进程
可以通过ps命令查看Linux系统中的进程信息
语法:
ps [-e -f]
- 选项:-e,显示出全部的进程
- 选项:-f,以完全格式化的形式展示信息(展示全部信息)
一般来说,固定用法就是:ps -ef列出全部进程的全部信息
从左到右分别是:
- UID:进程所属的用户ID
- PID:进程的进程号D
- PPID:进程的父ID(启动此进程的其它进程)
- C:此进程的CPU占用率(百分比)
- STIME:进程的启动时间
- TTY:启动此进程的终端序号,如显示?,表示非终端启动
- TIME:进程占用CPU的时间
- CMD:进程对应的名称或启动路径或启动命令
查看指定进程
我们可以使用管道符配合grep来进行过滤,如:
ps -ef | grep tail,即可准确的找到tail命令的信息
过滤不仅仅过滤名称,进程号,用户ID等等,都可以被grep过滤
如:ps -ef | grep 30001,过滤带有30001关键字的进程信息(一般指代过滤30001进程号)
关闭进程
在Windows系统中,可以通过任务管理器选择进程后,点击结束进程从而关闭它。
同样,在Linux中,可以通过kill命令关闭进程。
语法:
kill [-9] 进程ID
- 选项:-9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。
查看系统资源占用
可以通过top命令查看CPU、内存使用情况,类似Windows的任务管理器
默认每5秒刷新一次,语法:直接输入top即可,按q或ctrl+c退出
top命令内容详解
top命令选项
top交互式选项
磁盘信息监控
df命令
可以查看硬盘的使用情况
语法:df [-h]
选项:-h,以更加人性化的单位显示
iostat
查看CPU、磁盘的相关信息
语法:iostat[-×][num1][num2]
选项:-x,显示更多信息
num1:数字,刷新间隔,num2:数字,刷新几次
网络状态监控
sar命令
查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)
语法:sar -n DEV num1 num2
选项:-n,查看网络,DEV表示查看网络接口
num1:刷新间隔(不填就查看一次结束),num2:查看次数(不填无限次数)
环境变量
环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性信息,用以辅助系统运行。
在Linux系统中执行:
env命令
即可查看当前系统中记录的环境变量
环境变量是一种Keyvalue型结构,即名称和值,如下图:
环境变量PATH
$符号
在Linux系统中,$符号被用于取”变量”的值。
环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用。
取得环境变量的值就可以通过语法:$环境变量名来取得
比如:echo $PATH
就可以取得PATH这个环境变量的值,并通过echo语句输出出来。
又或者:echo $(PATH}ABC
当和其它内容混合在一起的时候,可以通过{}来标注取的变量是谁
Linux环境变量
可以用户自行设置,其中分为:
- 临时设置,语法:export变量名=变量值
- 永久生效
- 针对当前用户生效,配置在当前用户的: ~/bashrc文件中
- 针对所有用户生效,配置在系统的: /etc/profile文件中
并通过语法:source 配置文件,进行立刻生效,或重新登录FinalShell生效
自定义环境变量PATH
环境变量PATH这个项目里面记录了系统执行命令的搜索路径。
这些搜索路径我们也可以自行添加到PATH中去。
测试:
- 在当前HOME目录内创建文件夹,myenv,在文件夹内创建文件mkhaha
- 通过vim编辑器,在mkhaha文件内填入:echo 哈哈哈哈哈
完成上述操作后,随意切换工作目录,执行mkhaha命令尝试一下,会发现无法执行
·修改PATH的值
临时修改PATH:export PATH=$PATH:/home/itheima/myenv,再次执行mkhaha,无论在哪里都能执 或将export PATH=$PATH:/home/itheimgnngzarn填入用户环境变量文件或系统环境变量文件中去
上传和下载
通过FinalShell工具(速度快)
,方便的和虚拟机进行数据交换。
在FinalShell软件的下方窗体中,提供了Linux的文件系统视图,可以方便的:
- 浏览文件系统,找到合适的文件,右键点击下载,即可传输到本地电脑
- 浏览文件系统,找到合适的目录,将本地电脑的文件拓展进入,即可方便的上传数据到Linux中
rz、sz命令(速度慢)
当然,除了通过FinalShell的下方窗体进行文件的传输以外,也可以通过rz、sz命令进行文件传输。
rz、sz命令需要安装,可以通过:yum-y install lrzsz,即可安装。
- rz命令,进行上传,语法:直接输入rz即可
- sz命令进行下载,语法:sz要下载的文件
压缩和解压缩
市面上有非常多的压缩格式
- zip格式:Linux、Windows、MacOS,常用
- 7zip:Windows系统常用
- rar:Windows系统常用
- tar:Linux、MacOS常用
- gzip.:Linux、MacOS常用
tar命令
Linux和Mac系统常用有2种压缩格式,后缀名分别是:
- .tar,称之为tarball,归档文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单 的封装 ·
- gz,也常见为.tar.gz,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的 体积
针对这两种格式,使用tar命令均可以进行压缩和解压缩的操作
语法:tar[-c -v -x -f -z -C] 参数1 参数2 ... 参数N
- -c,创建压缩文件,用于压缩模式
- -V,显示压缩、解压过程,用于查看进度
- -x,解压模式
- -f,要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个 -z,gzip模式,不使用
- -z就是普通的tarball格式
- -C,选择解压的目的地,用于解压模式
tar的压缩常用组合为
- tar -cvf test.tar 1.txt 2.txt 3.txt
将1.txt2.txt 3.txt压缩到test.tar文件内
- tar -zcvf test.tar.gz 1.txt 2.txt 3.txt
将1.txt 2.txt 3.txt压缩到test.tar.gz文件内,使用gzip模式
注意:
- -z选项如果使用的话,一般处于选项位第一个
- -f选项,必须在选项位最后一个
tar解压组合有
- tar -xvf test.tar
解压test.tar,将文件解压至当前目录
- tar -xvf test.tar -C /home/itheima
解压test.tar,将文件解压至指定目录(/home/itheima) ·
- tar -zxvf test.tar.gz -C /home/itheima
以Gzip模式解压test.tar.gz,将文件解压至指定目录(/home/itheima)
注意:
- -f选项,必须在选项组合体的最后一位
- -z选项,建议在开头位置
- -C选项单独使用,和解压所需的其它参数分开
zip 命令压缩文件
可以使用zip命令,压缩文件为zip压缩包
语法:zip [-r] 参数1参数2….参数N
- -r,被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致
示例:
• zip test.zip a.txt b.txt c.txt
将a.txt b.txt c.txt压缩到test.zip文件内
• zip -r test.zip test itheima a.txt
将test、itheima两个文件夹和a.txt文件,压缩到test.zip文件内
unzip 命令解压文件
使用unzip命令,可以方便的解压zip压缩包
语法: unzip [-d] 参数
- -d,指定要解压去的位置,同tar的-C选项 ·
- 参数,被解压的zip压缩包文件
示例:
- unzip test.zip,
将test.zip解压到当前目录
- unzip test.zip -d /home/itheima,
将test.zip解压到指定文件夹内(/home/itheima)
注:解压时要注意同名文件会被覆盖