迷茫不可怕,说明你还在向前走
失败不可怕,只要你还能爬起来
目录
[第二章 基本知识](#第二章 基本知识)
[cd 、pwd命令](#cd 、pwd命令)
[touch 创建文件](#touch 创建文件)
[cat命令 查看文件内容](#cat命令 查看文件内容)
[rm 删除文件、文件夹](#rm 删除文件、文件夹)
[which 命令](#which 命令)
[第四章 Linux使用操作](#第四章 Linux使用操作)
[ctrl+c 强制停止](#ctrl+c 强制停止)
[ctrl+d 退出或登出](#ctrl+d 退出或登出)
[在VMware Workstation中配置固定IP](#在VMware Workstation中配置固定IP)
[符号](#符号)
[zip 命令压缩文件](#zip 命令压缩文件)
[unzip 命令解压文件](#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系统中的进程信息
语法:
java
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)
注:解压时要注意同名文件会被覆盖