systemctl命令
Linux系统的很多内置或第三方的软件均支持使用systemctl命令控制软件(服务)的启动、停止、开机自启
systemctl start(启动) 或 stop(关闭) 或 status(查看状态) 或 enable(开启开机自启) disable(关闭开机自启) 服务名
: 控制服务的状态
- 系统内置的服务: NetworkManager(主网络服务), network(副网络服务), firewalld(防火墙服务), sshd/ssh(远程登录Linux使用的就是这个服务)
- 第三方软件安装后自动集成的服务: ntpd服务,httpd服务(部分软件安装后如果没有自动集成到systemctl中需要我们手动添加)
shell
#安装ntp软件后会有ntpd服务名
yum install -y ntp
#安装apache服务器软件会有httpd服务
yum install -y httpd
软连接
ln -s 参数1 参数2
: 将文件、文件夹链接到其它位置(类似Windows系统中的快捷方式指向原来的文件/文件夹),访问链接后的文件/文件夹和访问本体效果相同
- -s选项: 创建软连接,在环境变量中访也可以使用软连接代替本体文件
- 参数1:被链接的文件或文件夹(绝对路径)
- 参数2:要链接去的地方
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E1uEdEr6-1691241173900)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688693873197.png)]
执行命令
sh 命令(可以包含相对或绝对路径) 参数
: 执行指定目录下的shell命令程序
./命令 参数
: 表示执行当前目录下的命令程序
日期和时区
data [-d] [+格式化字符串]
: 在命令行中查看系统的时间
- -d选项:按照给定的字符串显示日期,一般用于日期计算
- 格式化字符串:控制显示的日期格式(字符串中间有空格时需要使用双引号包围)
格式化字符串 |
---|
%Y 年(四位数) |
%y 年份后两位数字 (00...99) |
%m 月份 (01...12) |
%d 日 (01...31) |
%H 小时 (00...23) |
%M 分钟 (00...59) |
%S 秒 (00...60) |
%s 自 1970-01-01 00:00:00 UTC 到现在的秒数 |
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0HMKJYuw-1691241173901)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688690957436.png)]
按照给定的字符串显示日期(-d选项可以和格式化字符串配合使用)
- 支持的时间标记为:year年,month月,day天,hour小时,minute分钟,second秒
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iG66l1IQ-1691241173902)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688691097111.png)]
Linux时区
Linux系统默认是UTC时区非中国的东八区,需要使用root权限修改/etc/localtime配置文件
- 第一步: 切换到root用户, 将系统自带的etc/localtime文件删除,
rm -f /etc/localtime
- 第二步: 将/usr/share/zoneinfo/Asia/Shanghai文件链接为/etc/localtime文件,
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
通过ntp程序定期自动联网校准系统时间
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6xbuFZS7-1691241173903)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688691319991.png)]
shell
# 安装ntp程序
yum -y install ntp
# 启动并设置开机自启
systemctl start ntpd
systemctl enable ntpd
# 通过阿里云提供的服务网址配合ntpdate(安装ntp后会附带这个命令)命令自动校准(需root权限)
ntpdate -u ntp.aliyun.com
IP地址和主机名
每一台联网的电脑都会有一个IP地址用于和其它计算机进行通讯,IP地址就像每台电脑的身份证号用于在网络中进行定位
- IP地址主要有2个版本,IPV4版本和IPV6版本(V6很少用)
- IPv4版本的地址格式是:a.b.c.d,其中abcd表示0~255的数字(如192.168.88.101就是个标准的ip地址)
特殊的IP地址
- 127.0.0.1: 本地回环IP用于指代本机
- 0.0.0.0: 可以用于指代本机,可以在端口绑定中用来确定绑定关系,在一些IP地址限制中表示所有IP(如在放行规则中表示允许任意IP访问)
ifconfig
: 查看本机的ip地址,无法使用ifconfig命令需要安装net-tools: yum -y install net-tools
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fR4hZVEg-1691241173903)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688691708006.png)]
无论是Windows或Linux系统每一台电脑除了对外联络的IP地址还可以有一个主机名
hostname
: 查看主机名hostnamectl set-hostname 主机名
: 修改主机名(需要root权限),远程连接服务需要重新登录才能查看更新
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V8Rnr4Ot-1691241173904)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688702967090.png)]
域名解析(主机名映射): 由于IP地址难以记忆,我们也可以通过主机名或替代的字符地址去代替数字化的IP地址访问服务器
- 域名解析器的作用就是通过主机名找到对应计算机的IP地址
访问域名www.baidu.com的流程
- 先查看本机的ip地址记录(私人地址本),Windows看C:\Windows\System32\drivers\etc\hosts文件,Linux看/etc/hosts文件
- 如果本地没有找到记录联网去公开DNS服务器询问(如114.114.114.114,8.8.8.8等免费公开的DNS服务器)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NUUt8UF6-1691241173905)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688691991245.png)]
因为FinalShell是通过IP地址连接到的Linux服务器,所以也可以通过域名(主机名)连接Linux服务器
- 在Windows系统的以管理员身份打开记事本,然后打开C:\Windows\System32\drivers\etc\hosts文件配置主机名和IP地址的映射关系
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3R3BlXPy-1691241173905)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688703386025.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YA9S7kpx-1691241173906)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688703470675.png)]
虚拟机配置固定IP地址
当前我们虚拟机的Linux操作系统的IP地址都是通过DHCP服务动态获取的(每次重启设备后都会获取一次,可能导致IP地址频繁变更)
- 如果IP地址经常变化我们远程连接Linux系统时就需要频繁修改适配
- 如果我们配置了虚拟机IP地址和主机名的映射,如果IP经常变化也需要频繁更新映射关系
第一步: 在VMware Workstation中配置IP地址(192.168.网段.0-254),子网掩码(255.255.255.0),网关(IP地址的网段范围内即可)
- 编辑-->虚拟网络编辑器-->选中VMnet8-->更改设置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IiBprl5g-1691241173907)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688704376781.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cOVILScq-1691241173907)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688702501522.png)]
第二步在Linux系统中手动修改配置文件固定IP: vim /etc/sysconfig/network-scripts/ifcfg-ens33
- 修改的静态IP,网关,DNS服务器的网段都需要和子网IP地址的网段一致
shell
# 使用静态IP地址,默认为dhcp
BOOTPROTO=static
# 设置静态的Ip地址,在设置的网段范围内即可
IPADDR=192.168.88.128
# 子网掩码
NETMASK=255.255.255.0
# 网关地址
GATEWAY=192.168.88.2
# DNS服务器
DNS1=192.168.88.2
第三步重启网卡使静态的IP地址生效,然后查看ip地址是否已经固定: systemctl restart network
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6EcJpKZf-1691241173908)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688692145895.png)]
网络传输
ping [-c num] ip或主机名
: 检查指定的网络服务器是否是可联通状态
- -c选项:指定检查的次数,不指定次数将无限次数持续检查
- ip或主机名: 指定被检查的服务器的ip地址或主机名地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KKLh2Ebb-1691241173908)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688705634197.png)]
wget [-b] url
: wget是非交互式的文件下载器,可以在命令行内下载网络文件(无论下载是否完成都会生成要下载的文件,需要及时清理未完成的不可用文件)
- -b选项:允许后台下载,此时会将日志写入到当前工作目录的wget-log文件(
tail -f wget-log
命令可以持续监控后台下载进度) - url表示要下载的网络文件的链接
shell
# 安装wget程序
yum install wget
wget https://nginx.org/download/nginx-1.24.0.tar.gz
crul [-O] url
:发送http网络请求,可用于下载文件、获取信息等
- -O选项:用于下载文件, 当url是下载链接时可以使用此选项保存下载的文件
- url: 指定要发起请求的网络地址,这个地址可以是下载的链接后者是普通的网络请求
shell
#向cip.cc发起网络请求(获取主机的公网IP地址)
curl cip.cc
#向python.itheima.com发起网络请求(返回网页的源代码)
curl python.itheima.com
#通过curl下载hadoop-3.3.0安装包
curl -O http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
端口
端口是设备与外界通讯交流的出入口,可分为物理端口和虚拟端口两类
- 物理端口:是可见的端口又可称之为接口,如USB接口,RJ45网口,HDMI端口等
- 虚拟端口:是指计算机内部不可见的端口,是用来操作系统和外部进行交互使用的
计算机程序之间的通讯过程: 首先通过IP地址锁定计算机,然后通过端口锁定该计算机上具体的某个程序
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s4GLFedP-1691241173909)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688707963396.png)]
Linux系统可以支持65535个端口,这6万多个端口分为3类进行使用,其中公认端口
- 公认端口范围1~1023: 非特殊需要不要占用, 用于一些系统内置或知名程序的预留使用,如SSH服务的22端口(远程连接Linux使用的),HTTPS服务的443端口
- 注册端口范围1024~49151: 通常可以随意使用,用于松散的绑定一些程序\服务(用户自定义)
- 动态端口范围49152~65535: 通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用(多用于出口)
nmap 被查看的IP地址
: 查看指定IP地址的计算机对外暴露的端口占用情况
- 使用命令前需要安装nmap程序:
yum -y install nmap
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-07DqUDor-1691241173909)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688708205174.png)]
netstat -anp | grep 端口号
: 过滤端口号和进程号查看本机端口号的占用情况,如果过滤不出来结果说明端口没有被占用
- 使用命令前需安装netstat程序:
yum -y install net-tools
- 0.0.0.0:6000表示端口绑定在0.0.0.0这个IP地址(指向本机),表示允许外部访问
- 7174是进程号表示其占用了当前系统6000端口
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WYKI3J9O-1691241173910)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688708315266.png)]
服务
netstat -tunlp
: 查看已经启动的服务
shell
#查看启动的mysql服务
netstat -tunlp | grep mysql
进程
操作系统为了方便管理运行的程序,在程序运行的时候会将其注册为系统中的一个进程并分配一个独有的进程ID(进程号)
ps [-e -f]
: 查看Linux系统中的进程信息
- -e选项:表示显示出全部的进程,配合管道符过滤出指定关键字的进程信息
- -f选项:表示以完全格式化的形式展示进行的全部信息
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eAjfUcu2-1691241173911)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688714296495.png)]
过滤不仅仅可以过滤名称,进程号,用户ID等等,输出结果的任何关键字被可以grep过滤
- 在当前连接中执行tail命令时程序会一直阻塞在那里,重新复制一个连接执行ps -ef 找出tail这个程序的进程信息
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HkplyjNG-1691241173911)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688715101516.png)]
kill [-9] 进行ID
: 关闭进程,强制进程关闭提示已杀死,提醒进程关闭提示已终止
- -9选项: 表示强制关闭进程, 不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制
主机状态
top
:查看CPU、内存使用情况(类似Windows的任务管理器), 默认每5秒刷新一次(按q或ctrl + c退出)
- 第一行含义: top表示当前程序名称, 当前系统时间,up min表示系统启动了多少分,users表示几个用户登录系统,load average表示1、5、15分钟的平均负载
- 第二行含义: Tasks表示进程:running运行,sleeping睡眠,stopped停止,zombie僵尸
- 第三行含义 :%Cpu(s)表示CPU使用率:us表示用户CPU使用率,sy表示系统CPU使用率,ni表示高优先级进程占用CPU时间百分比,id表示空闲CPU率
- wa表示IO等待CPU占用率,hi表示CPU硬件中断率,si表示CPU软件中断率,st表示强制等待占用CPU率
- 第四行含义: Kib Mem表示物理内存:total总量,free空闲,used使用,buff/cache表示buff和cache占用
- 第五行含义: KibSwap表示虚拟内存(交换空间),avail Mem可用内存
进行内容详解
- PID:进程id, USER:进程所属用户, PR:进程优先级,越小越高, NI:负值表示高优先级,正表示低优先级
- VIRT:进程使用虚拟内存,单位KB, RES:进程使用物理内存,单位KB, SHR:进程使用共享内存,单位KB
- S:进程状态(S休眠,R运行,Z僵死状态,N负数优先级,I空闲状态)
- %CPU:进程占用CPU率, %MEM:进程占用内存率
- TIME+:进程使用CPU时间总计,单位10毫秒
- COMMAND:进程的命令或名称或程序文件路径
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lCXAZiVU-1691241173912)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688715722503.png)]
top命令的其他选项
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cjOHTGh1-1691241173913)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688717940277.png)]
当top以交互式运行(非-b选项启动),可以用以下交互式命令进行控制
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LUZuDrJR-1691241173913)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688717976804.png)]
df [-h]
: 查看硬盘的使用情况
- 使用命令前安装sysstat程序包含iostat,vmstat,sar:三个指令
yum install sysstat
- -h选项:以更加人性化的单位显示
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jd8PxIug-1691241173914)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688716627656.png)]
iostat [-x] [num1] [num2]
: 查看CPU、磁盘的速率相关信息
- -x选项:显示更多信息
- num1:指定刷新间隔
- num2:指定刷新几次
- tps:该设备每秒的传输次数, "一次传输"表示"一次I/O请求"。多个逻辑请求可能会被合并为"一次I/O请求"。"一次传输"请求的大小是未知的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wnOBmTk0-1691241173914)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688716700706.png)]
使用iostat的-x选项,可以显示更多信息
- rrqm/s:每秒这个设备相关的读取请求有多少被Merge了
- wrqm/s: 每秒这个设备相关的写入请求有多少被Merge了
- rsec/s: 每秒读取的扇区数
- wsec/s: 每秒写入的扇区数
- rKB/s: 每秒发送到设备的读取请求数
- wKB/s: 每秒发送到设备的写入请求数
- avgrq-sz: 平均请求扇区的大小
- avgqu-sz: 平均请求队列的长度。毫无疑问,队列长度越短越好。
- await: 每一个IO请求的处理的平均时间(单位是微秒毫秒)。
- svctm: 表示平均每次设备I/O操作的服务时间(以毫秒为单位)
- %util: 磁盘利用率
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6821OMhH-1691241173915)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688716744707.png)]
sar -n DEV num1 num2
:查看网络的相关统计
- -n选项: 查看网络
- DEV: 表示查看网络接口
- num1:指定刷新间隔(不填就查看一次结束)
- num2:指定查看次数(不填无限次数)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dTzNB5Ol-1691241173915)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688716837516.png)]
环境变量
环境变量是操作系统(Windows、Linux、Mac)在运行的时候记录的一些关键性信息,用以辅助系统运行
env
: 查看当前Linux系统中配置的环境变量信息- 环境变量是一种KeyValue型结构(名称=值)
- 环境变量的作用: 命令本质上就是一个个的可执行程序, cd命令的本体就是/usr/bin/cd这个程序文件, 无论当前工作目录在哪里都能执行cd命令
环境变量PATH记录了系统执行命令的搜索路径(路径之间以:隔开),执行任何命令时会按照顺序从这些路径中搜索要执行的程序的本体并执行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YyKvykVu-1691241173916)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688721472661.png)]
$
: 用于取"变量"的值,$PATH表示取得PATH这个环境变量的值,{}标注取得变量是谁
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KDIz2UUA-1691241173917)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688727179309.png)]
export 变量名=变量值
: 临时设置变量的值,系统重启的时候变量的值就取不到了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fVRI0so1-1691241173917)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688727366255.png)]
vi ~/.bashrc文件
: 在这个文件中设置的变量值只针对当前用户生效,在其他用户中就取不到变量的值
vi /etc/profile
: 在这个文件中设置的变量值针对所有用户生效,在所有用户中都能取到变量的值
source 配置文件
: 使配置的文件立刻生效
在当前目录下创建一个文件haha,并给其赋予执行权限chmod 755 haha(绿色效果),此时只能在当前目录下执行haha文件
shell
#通过vim编辑器,在m文件内填入echo 哈哈哈
echo "哈哈哈"
编写/etc/profile文件修改环境变量PATH的值,加入自定义的命令搜索路径,这样就可以在任意目录下执行haha文件
shell
#在全局环境变量文件中加入自定义的命令搜索路径
#在用户环境变量文件或系统环境变量文件中也可以加入
export PATH=$PATH:要执行命令的绝对路径
文件的上传和下载
在FinalShell软件的下方窗体中提供了Linux的文件系统视图方便本机和虚拟机进行数据交换
- 浏览文件系统找到合适的文件,右键点击下载文件就会自动下载到本地电脑桌面上的fsdownload文件夹中
- 浏览文件系统找到合适的目录,将本地电脑的文件拖拽进入目录即可完成数据上传到Linux系统中
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NSoFHdpm-1691241173918)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688739527104.png)]
通过rz、sz命令进行文件的上传和下载, 使用命令前需要安装程序: yum -y install lrzsz
rz
: 执行命令后会自动弹出文件系统窗口选择你要上传的文件即可(上传速度较慢)sz Linux中要下载的文件
: 文件会自动下载到桌面的fsdownload文件夹中
压缩和解压
常见的文件压缩格式: zip格式(Linux、Windows、MacOS常用),7zip(Windows系统常用),rar(Windows系统常用),tar(Linux、MacOS常用),gzip(Linux、MacOS常用)
- 在Windows系统中如winrar、bandizip等软件都支持各类常见的压缩格式
在Linux系统中压缩或解压后缀名为tar、gz格式的文件
- tarball格式: 简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少
- gzip格式: 使用gzip压缩算法将文件压缩到一个文件.gz(tar.gz)内,可以极大的减少压缩后的体积
tar [-c -v -x -f -z -C] 压缩成或解压的文件 参数1...参数N
: 针对文件进行压缩和解压缩
- -c选项: 创建压缩文件,用于压缩模式
- -v选项: 显示压缩、解压过程,用于查看进度
- -x选项: 解压模式
- -f选项(必须在选项组合体的最后一位): 要创建或要解压的文件
- -z选项(建议在开头第一位): 使用gzip模式压缩解压.gz文件,不使用-z就是普通的tarball格式
- -C选项: 选择解压的目的地(单独使用和解压所需的其它参数分开)
常见的压缩文件组合
- tar -cvf test.tar 1.txt 2.txt 3.txt(使用普通的tarball格式将1.txt 2.txt 3.txt压缩到test.tar文件内)
- tar -zcvf test.tar.gz 1.txt 2.txt 3.txt(使用gzip模式将1.txt 2.txt 3.txt 压缩到test.tar.gz文件内)
常见的解压文件组合
- 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)
zip [-r] 压缩成或解压的文件 参数1...参数N
: 压缩文件位zip格式
- -r选项: 用于被压缩的包含文件夹的时候
shell
#将a.txt b.txt c.txt压缩到test.zip文件内
zip test.zip a.txt b.txt c.txt()
#将test、itheima两个文件夹和a.txt文件压缩到test.zip文件内
- zip -r test.zip test itheima a.txt
unzip 被解压的zip压缩包文件 [-d]
: 解压zip格式的压缩包,解压的时候出现同名的文件/文件夹会直接替换
- -d选项: 指定要解压去的位置,同tar的-C选项
shell
#将test.zip解压到当前目录
unzip test.zip
#将test.zip解压到指定文件夹内/home/itheima
unzip test.zip -d /home/itheima