Linux
基础知识
[root@example ~] # 命令提示符
root 表示的是当前登录系统的用户
@符号是用户与主机的分隔符
example 主机名的主机部分 不会显示完整的名字,我们将完整的名称称为 完全限定的域名 example.com
~ 表示的是用户当前所在的目录(所在位置路径),如果此处是~ 表示当前用户在自己的家目录下
# 表示 特权提示符(操作提示符)
#表示当前用户是超级管理员用户如果是 $表示当前用户是普通用户
date 查看系统时间
[student@example ~]$ date
Sun Fed 19 11:28:11 CST 2023
CST 表示是中央标准时间 UTC 表示是世界协调时间
cal 用来查看日历
[root@example ~]#cal
February 2023
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28
命令的结构
passwd 修改密码
普通用户修改密码时需要验证当前密码,且只能修改自己的密码
注意:普通用户输入新密码不足八位时会修改失败 显示如
The password is shorter than 8 characters
passwd: Authentication token manipulation error
如修改成功会显示如下
passwd: all authentication tokens updated successfully
超级用户修改密码:不需要验证密码,且不受密码规则制约(不足八位依然可以)
root用户可以给任何用户重置密码 格式为 passwd natasha (natasha为需要重置密码的用户名)
id 用来查看用户信息
[student@example ~]$ id
uid=1000(student) gid=1000(student) groups=1000(student) context=inconfined_u:unconfined_r:unconfined_t:s0-s-:c0.c1023
uid 是用户的身份标识符(身份证)
gid 用户所在组的标识符(可以通过用户组的方式来简化用户的管理,每一个组都会产生一个id ,将这个id称为gid)
group 是用户所在的所有的组
context 用户的selinux的标签
[student@example ~]$ id root
uid=0(root) gid=0(root) group=0(root)
useradd 创建用户
[root@example ~]# useradd wangwu
[root@example ~]# c
su 切换用户
[root@example ~]# su - wangwu
[wangwu@example~]$
[wangwu@example~]$ su - root
Password:
[root@example ~]#
超级用户切换到任何用户不用密码
普通用户切换到任何用户都要密码
su - 后面不接默认用户切换到root用户
vim 文本编辑工具
vim 接上的文件名 (若文件名不存在会在第一次保存时创建出来)
[root@example ~]# ls
anaconda-ks.cfg Documents initial-setup=ks.cgf Pictures Templates
Desktop Downloads Music
[root@example ~]# vim zhangsan.txt
vim操作步骤:
1.首先按i键进入编辑模式
2.再按esc键退出编辑模式
3.按:键进入退出模式,输入wq(w保存q退出 !强制)
[root@example ~]# ls
anaconda-ks.cfg Documents initial-setup=ks.cgf Pictures Templates
Desktop Downloads Music zhangsan.txt
root用户一般情况下在系统中是无敌的存在,不受到系统规则的制约,所以拥有破坏系统的能力,不建议直接使用root登录
帮助及文件结构
tab键 帮助我们自动补齐命令或者参数
当输入的关键字具有唯一性的时候 一次tab自动补齐
所输入的关键字不具有唯一性,则系统会列出所有该关键字开头的内容
history 查看所有历史记录
history N 列出最近的N条记录
!N 调用第N条历史记录命令
!字符 调用最近一条以该字符开头的命令
!$ 调用最后一条命令的最后一个参数
上下键查找历史命令
ctrl + r 搜索历史记录
Alt+. 调用上一条命令的最后一个参数
history 10 查看最近10条历史记录
查询帮助
一条完整linux命令由三个部分组成
命令 选项 参数
命令:就是用来实现某一个功能
选项:对命令功能的补充和扩展
参数:所有对象都可以成为参数
在linux命令中可以省略选项和参数
选项:--选项的长格式 -选项的短格式
短格式是长格式的缩写,短格式使得命令更简单
[root@example ~]# passwd -l wangwu
Locking password for user wangwu
passwwd:Success
[root@example ~]#
[root@example ~]# passwd --lock wangwu
Locking password for user wangwu
passwwd:Success
如果想执行多个命令可使用;分隔
[root@example ~]#date;cal;id wangwu
Sun Feb 19 14:42:24 CST 2023
February 2023
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28
uid=1001(wangwu) gid=1001(wangwu) groups=1001(wangwu)
命令的结构
- 命令和选项之间使用空格
- 命令和参数之间使用空格
- 选项和参数之间使用空格
- 选项和选项之间使用空格
- 参数和参数之间使用空格
帮助
对于一条未知的命令可使用以下方法
- whatis 用来查询命令的作用
[root@example ~]# whatis rm
rm(1) -remove files or directories
rm(1p) -remove directory entries
注:whatis 后面接命令 不能带选项和参数
初次装完执行whatis报错是因为man的数据库索引还没有生成
使用mandb生成索引
如何查找命令的选项
查找命令本身的帮助 在命令后面加上 --help 或者 -h
[root@example ~]# date --help
Usage: date [OPTION].. [+FORMAT]
注:
选在帮助里面,选项 []起来的选项可以被省略
如果是大写字母表示该项为必选项,不能省略
如果是<>表示是一个变量 都会有默认值
如果是...表示是一个列表(可以接多个) 如果是options 也是可接多个
A|B|C 表示在列表中选一个 多选一
查找man手册
man -k 查找man手册页中包含该关键字的章节
man 章节号 关键字
man 5 passwd 打开第五章的passwd的帮助
man基本操作方法
命令 | 结果 |
---|---|
空格键 | 向下翻页 |
PageUP/PageDown | 向上向下翻页 |
向上向下箭头,回车键 | 向上和向下滚动 |
g/G | 回到开头/结尾 |
/string | 搜索string关键字 |
n/N | 在关键词之间向下或向上查找 |
q | 退出man帮助页面 |
[+FORMAT] 特定格式 (固定格式)
[root@example ~]# date +%Y
2022
[root@example ~]# date +"%y-%m-%d %H:%M:%S"
2022-10-01 12:14:54
如果man找不到 使用info帮助
[root@example ~]# info date
在man手册页中收纳的都是比较常用的帮助信息,info中是更为全面的记录(rhel9已经删掉了info)
如果在info中依然查不到需要的帮助,就查产品文档
[root@example ~]#pwd
/usr/share/doc/vsftpd/EXAMPLE
查询红帽知识库中记录的案例
access.redhat.com
文件系统组成和基本操作
文件系统结构
Linux:单根倒树状的文件系统结构
在Linux文件名严格区分大小写(命令里面也一样)
[root@example ~]# mkdir abc
[root@example ~]# ls
abc
[root@example ~]# mkdir ABC
[root@example ~]# ls
abc ABC
目录
/ 根目录 根目录是系统所有文件开始的位置 最顶层的目录
其次所有的斜线都是路径分隔符
/root: root用户的家目录(家目录就是用户文件默认的存放位置称为用户的家目录)
/home/username: 普通用户的家目录的集合(在该目录下以普通用户的用户名命名的目录就是普通用户的家目录)
/usr: 安装的软件,共享库等目录重要的子目录
/usr/bin: 普通用户可以执行命令的程序,在这个目录的文件就是可执行的命令
/usr/sbin: 存放的就是超级用户可以执行命令的程序,在这个目录下的命令只有root才可以执行(系统管理员命令)
/usr/local: 一般存放自定义的安装的软件(约定放此目录)
/etc: 类似于C盘中的windows 是系统的核心配置目录(网络、系统信息都记录在这里)
/var: 主要用来存放数据 日志数据(系统启动日志、应用程序的日志、安全日志)服务数据(网站的内容、frp的内容、邮件的内容)
/tmp:系统的临时目录 专门用来做临时文件的存储
/boot:是系统的启动引导文件和内核的存放位置 一般在工作中 这个目录不存放任何文件
/dev:中存放的是系统的硬件设备
/proc和/sys:存放的是系统运行状态下的内容,在该目录下存放的内容在关机时系统会自动删除
文件和目录名
名字不能多于255个字符
文件名不能包含 “ / ” (/是路径分隔符,不利于判断)
如果使用特殊字符作为文件名,则需要使用单引号引起来,不推荐在文件名中使用特殊字符
命名大小写严格区分
绝对路径和相对路径
文件的绝对路径
以 / 开头的路径称为绝对路径
可以在任意位置进行命令
文件的相对路径
不以 / 开头的路径称为相对路径
只能在特定的位置进行引用
常用命令
cd 切换目录
cd .. 回退到上一级目录
cd - 回到上一次目录
cd~ 回到家目录
cd ~zhangsan 切换到zhangsan的家目录
pwd 查看当前所在位置 (目录的全路径)
ls 用来查看目录或文件
ls -a 查看隐藏文件(所有文件)
在系统的任意位置都有两个子目录分别是 . ( 点表示的是当前目录)和 .. (表示的是上一级)
ls -l 查看文件的长格式(包含文件详细信息)
ls -R 以树状的方式显示目录的文件结构 一般会和ls -lR连用
ls -d 查看目录本身 一般和ls -ld连用
cp 对文件和目录进行拷贝
cp 源 目标
如果源是一个文件,目标是一个目录则直接将文件拷贝到该目录
如果源是一个文件,目标是一个已经存在的文件则覆盖该文件
如果源是一个文件,目标是一个不存在的文件则创建该文件
cp -r 用来拷贝目录
cp -r 源(目录) 目标(目录)
可以同时拷贝多个文件到一个目标
mv 可以用来移动文件或者重命名
mv 源 目标
将源移动到目标所在的位置
如果源是一个文件,目标是一个目录则直接将文件移动到该目录
如果源是一个文件,目标是一个已经存在的文件则覆盖该文件
如果源是一个文件,目标是一个不存在的文件则创建该文件
mv 也可以移动多个文件到目标
如果mv移动的文件的源路径和目标文件的路径一致则重命名
touch 创建一个空文件和更新时间戳
touch 文件名
touch 后面接一个不存在的文件名则创建该文件
touch 后面接一个存在的文件名则更新该文件的时间戳
文件的时间戳:
Access Time:文件最后一次被访问的时间 atime
Modify Time:文件最后一次被修改的时间 mtime
Change Time:文件最后一次被改变的时间 ctime
Birth Time:文件的创建时间
sata 文件名 查看文件时间戳
touch -ad 修改文件时间戳
touch -d
rm 删除文件或目录
rm -f 强制删除 (不询问)
rm-r 递归删除目录 (一级一级删除)
rm -rf 来删除文件和目录 强制递归删除 谨慎使用Linux没有回收站 删除即没有 不能使用回收站找回
mkdir 创建目录
mkdir 目录名 创建一个空的目录
mkdir -p 递归创建目录
rmdir 安全的删除目录 用来清理系统的垃圾目录,只能删除空的目录
file 用来查看文件的类型
在Linux中文件没有后缀名
file 文件名: 查看文件类型
系统用户管理
用户的分类
UID:用户的身份标识符 每个用户都会被分配一个独特ID
系统用户:UID 0~999 一般是系统用户
普通用户:UID 1000~6000 一般是普通用户
/etc /passwd 中存储用户名和ID的映射关系
root❌0:0:root:/root:/bin/bash
root: 用户名
x:密码占位符(表示这个用户登录时是否需要验证码)
0:用户的UID
0:用户的GID( 私有组)
root:描述信息(一般出现在欢迎的屏幕)
/root: 用户的家目录
/bin/bash: 登录shell
/bin/bash :运行bash shell 表示可以登录
/sbin/nologin :禁止登录shell 表示不能登录系统
用户的存在是为了让我们更好的控制权限
用户组
在创建用户时如果没有指定用户的组,则自动创建一个以用户名命名的组,并将这个用户加入到该组
私有组(属组):是在用户创建时一并指定的组
公共组(附加组):每个用户都可以有多个公共组,但是只能有一个私有组
/etc/group :保存用户组和ID的映射关系
roo: x:0:zhangsan,lisi,wangwu
root:表示的是组名
x:组的密码占位符
0:组的ID也就是GID
lisi,wangwu:表示组内的用户,在root组内有两个用户,lisi,wangwu多个用户用逗号隔开
如果该组是某个用户的私有组,则该用户不会出现在该组中,也就是最后组内用户的栏位只会出现将该组作为附加组的用户
创建用户时,指定的目录尽量不要提前创建(可能出现权限问题)
创建用户 useradd [选项] 用户名
-u 用户号 指定用户的用户号,如果同时有 -o选项,则可以重复使用其他用户的标识号
-g 用户组 指定用户所属的用户组
-c comment 指定一段注释性描述
-d 目录 指定用户主目录,如此目录不存在,则同时使用-m选项,可以创建主目录
-G 用户组,用户组 指定用户所属的附加组
-s Shell文件 指定用户的登录Shell
useradd -u 指定 UID -g 指定私有组 -c 描述信息 -d 家目录 -s 登录shell
用户的UID可以重复,一个UID 可以对应多个用户名;但是UID是唯一的存在
Linux中并不以用户名来决定用户的权限,而是依靠UID来决定用户对文件的权限
系统会进行ID保留机制:部分UID已经提前分配给了应用程序,比如38分配给了KVM
所以将保留的UID分配出去,就会导致新创建的用户继承到这个权限
每次创建用户都会将 /etc /passwd/ 中最大的UID加1分配给新的用户
如何修改已经存在的用户
usermod modify 修改
usermodd -u 指定 UID -g 指定私有组 -G指定附加组 -c 描述信息 -d 家目录(-m连用 移动家目录,且移动前家目录必须存在) -s 登录shell
删除用户
userdel 用户名 删除一个用户,仅仅只是从系统中将用户删除了
userdel -r 用户名 干净的删除用户,除了将用户本身删除外,还会连同用户的文件一并删除(推荐在生产环境上使用)
groupadd 创建组
groupadd 组名
补充:添加组密码 gpasswd 组名 给组设置密码
newgrp 组名 登录到指定的组,并且登录以后该组将成为用户的私有组
groupmod 修改组
groupmems 管理组成员 -a添加 -d删除 -l列出 -p清空 -g指定组
文件的权限管管理
[root@localhost opt]# ls -l rhce.txt
-rw-r--r--. 1 root root 0 Jan 7 16:57 rhce.txt
-:文件类型 - 普通文件 d目录 l软连接(字符文件) b 块设备
rw-: 文件拥有人的权限
r--: 文件拥有组的权限
r--: 文件其他人的权限
.(点):表示文件受到SELINUX的保护
1:表示文件的硬链接数(简单理解:硬链接数决定了文件系统中有几份)
第一个root:文件的UID称为文件的拥有人(文件的所有者)
第二个root:文件的GID称为文件的拥有组
0 :文件的大小
Jan 7 16:57 :文件最后一次被修改的时间
rhce.txt :文件名
用户在运行程序的时候,程序会继承 用户的UID和GID
当程序在访问文件的时候会得到三类访问权限
程序的UID和文件的UID一致 则是以文件拥有人的身份来访问文件
程序的GID和文件的GID一致 则是以文件拥有组的身份来访问文件
程序UID和GID与文件的GID和UID均不一致 则是以文件的其他人的身份来访问
文件权限的优先级
1,如果UID一致,UID匹配成功;文件拥有人的身份访问文件(user 最高)
2,如果UID不一致,GID一致,GID匹配成功;文件拥有组的身份访问文件(group 其次)
3,如果UID和GID都不一致,则匹配文件的其他人身份,以其他人身份访问文件(other 最低)
文件的权限表示
用字符的方式: r 读 w 写 x 执行 - 对应栏位没有权限
rwx 对于文件的意义 r:可以写取到文件的内容
w:可以修改文件的内容
x:文件可以被执行(文件可以作为命令被执行)
rwx对于目录i的意义 r:可以读取到目录的内容
w:可以修改目录里面的内容(创建文件和删除文件)
如果是对文件进行操作只需要看文件所在目录的权限,如果是对文件的内容进行操作,要看文件本身的权限
x:可以进入到目录里面
在Linux中如果一个目录要想有意义,那么它至少需要有rx权限,也就是可以进入到这个目录看到里面的内容,如果不满足这个需求,一般则该目录无法使用
用数字的方式来表示权限: r------> 4
w------>2
x------->1
Linux 中文件的赋权方式:
chmod u/g/o +/-/= 文件名
u:表示文件的拥有人
g:表示文件的拥有组
o:文件的其他人
使用 + 或者是 - 号进行赋权都是在原来的权限基础上进行加减,而等于号会直接覆盖原来的权限
IO管道和vim初识
### IO输入输出
显示器 是 Linux 系统中创建默认的输出设备
标准输出:显示器上的
标准输入:键盘
io;input和output 输入和输出
重定向:将原本标准设备,替换为我们想要的内容
[root@localhost ~]# id zhangshan
uid=1003(zhangshan) gid=1003(zhangshan) groups=1003(zhangshan)
[root@localhost ~]# id zhangshan > /opt/userinfo.txt
[root@localhost opt]# cd /opt/
[root@localhost opt]# ls
userinfo.txt
[root@localhost opt]# cat userinfo.txt
uid=1003(zhangshan) gid=1003(zhangshan) groups=1003(zhangshan)
[root@localhost opt]#
输出类型:
1.标准的正确输出 > 将屏幕上正确输出重定向到文件
2:标准的错误输出 2> 将屏幕上错误输出重定向到文件
3:全部输出 &> 正确的输出+错误的输出=全部输出
> 重定向覆盖到文件(会将文件的内容进行覆盖,效果等同于删除文件)
>> 重定向追加到文件(会将输出的内容追加到文件的末尾,也就是最后一行)
将所有不想要的输出内容,无需重定向到文件,而是重定向到/dev/null(空设备)这个设备
/dev/null 黑洞设备或者垃圾桶 所有重定向到此目录的文件都不会被保存
应用场景:不想让内容输出在屏幕上(写脚本的时候)
在shell脚本中对脚本输出的内容进行处理,屏蔽不相关的输出信息
2:用来清空文件或者响文件里面写入内容
echo > 文件 输出空到文件
echo help >> 文件 在文件追加help
在字符界面下将所需的内容保存到指定文件
### 管道符“|”
管道符的出现就是为了更好的处理linux的指令(称为命令的链接符号)
command1|command2
将command1的输出结果作为command2的参数
只有正确的输出结果才能够通过管道,错误的输出无法通过管道
三通管道
故障排除
同时查看和记载输出
除了需要将内容给到程序,也希望在屏幕上显示
command1 |tee 文件名
重定向输入:
1,使用文件作为输入源(tr字符转换)
〈 标准的重定向输入
2,模拟从键盘接收多行输入
3,写入配置文件(在脚本中自动生成配置文件)
cat 〉〉文件路径 <<EOF(可以是自定义任意字符,结束字符一样即可)
文件中你所需要写的内容
EOF 结束符号
### vim编辑器
vim是vi的增强版 vim是一个默认的文本编辑器来进行使用,是因为vi在众多的Linux发行版本中已经被内置了,成为Linux主流的文本编辑器
vim 具有很多vi不具备的特性 eg.命令的语法高亮,建议刚接触Linux的小伙伴首选Vim来进行编辑
图形化场景 gedit
字符界面:vim
### VIM的工作模式
命令模式:vim打开文件则进入命令模式,执行命令(包括文本的复制、删除)
编辑(插入模式): 编辑文本内容
退出模式(末行模式):对文件本身进行操作(保存,退出)还可以执行一些高级的搜索替换选项
三个模式的切换:
a i o 三种快捷键都可以从命令模式进入到插入模式
i 在光标的左边插入
a 在光标的右边插入
o 在光标的下一行插入
I 在光标所在行的开头位置插入
A 在光标所在行的行尾进行插入
O 向上插入一行
ESC进入到命令模式(可以从插入模式回退到命令模式)
按ESC
:进入到退出模式(只能从命令模式进入退出模式,插入模式不能进入退出模式)
按“ :”键
使用Vim时,然如果所打开的文件不存在,则会在第一次保存时创建该文件
使用vim时,如果打开的文件存在,则直接显示该文件的内容
使用vim时,如果打开的文件显示存在副本,则检查vim上次打开该文件是否正常关闭
vim存在副本怎么修复呢?
1,vim -r 文件名 修复已经丢失数据的文本文件(不会自动移除副本,但是可以手动删除)
2 vim 文件名 打开文件以后当其提示副本存在时 按R修复文件并按D移除副本
在Linux中的单词,(不是我们理解的英文单词)有字母或者数字或者下划线组成的单词(字符串)
将1~10行另存为
将光标所在行root替换为huawei
(加%可以替换全文件)

i 忽略大小写
### 字符处理
对文本的内容进行编辑,提取,操作
文本的提取工具(查看文本):
cat
用来合并文件 cat file1.txt file2.txt >file3.txt
查看文件的行号 cat -n 文件名
查看文件中是否存在特殊字符 cat -A 文件名
more 查看文件的内容 是把文件的内容分页输出到屏幕
less 查看文件的内容 在查看时可以使用vim编辑
head 过滤文本的内容 默认只过滤前十行
head -n 指定行数
tail 过滤文本的内容 默认过滤后十行
tail -n -20 过滤最后20行
tail -f 实时显示文本的追加内容(一般会用来写日志)
如果需要在指定的文本中取出内容(是以行来取)
1,先用held 取出最大行
2,然后用tail 剪掉你所要的行数
grep 以行为单位来过滤文本
正则表达式:
^在行首进行匹配 以某某开头 定位符
$在行尾进行匹配 以某某结尾 定位符
< 在字的开始进行匹配(在单词的词首进行匹配)
> 在字的结尾进行匹配(在单词的词尾进行匹配)
结合使用
\〈字符串\〉精准匹配某一个单词
. 用来匹配任意的一位字符
[字符串]匹配中括号內任意一位字符
[^abc] 匹配除了括号內字符之外的任意字符都匹配
[a-z]/[0_9] 匹配范围内任意一位
\ 转义字符 作用就是为了屏蔽\后字符的特殊意义(只会去掉/后单个字符的特殊意义)
* 对前一项进行0次或者多次重复匹配
扩展的表达式:
grep 使用扩展的正则需要使用egrep 或者 grep -E
+对前一项进行一次或者多次重复匹配 至少需要匹配到一次。
?对前一项进行0次或者1次重复匹配.
{j}对前一项匹配j次.
{j,}对前一项 最少匹配j次.
{,k}对前一项 最多匹配k次.
{j,k}对前一项最少匹配j次,最多匹配k次。
s|t要不是匹配到s就是匹配到t 一般会用在日志中进行排错。
一般会用来过滤多个关键字 err/wan.
(exp) 表示分组 将字符串作为单项处理(roo)
cat :是以列来提取文本内容
cut -d 指定分隔符 -f 指定列 文件
当提取多列内容
cut -d 分隔符 -f1,x 文件
cat -c 指定要取的字符的范围 文件
以空格作为分隔符的列提取工具
awk 以空格 来作为默认的分隔符
awf -F 分隔符 '{printf $列} 文件
wc 是文本的统计工具
第一列 是文件的行数 wc -l
第二列是文件的单词数 wc -w
第三列是文件的字节数 wc -c
sort 文本排序
sort 默认按照字符表的顺序排序
- n 以数字的方式进行排序
-r 排倒序
-k 指定列
-t 指定分隔符
-u 去重
-f 忽略大小写
uniq 去重工具
sort 可以去掉不连续的行,而uniq只能去掉连续重复的行
-c 统计重复出现的次数
diff 文本的比较工具,专门用来比较文本的差异 可以使用图形化工具 vimdiff
tr 文本转换工具
tr 将字符转换为数字 也可以转为字母
sed 流编辑器 用来进行文本的操作
查找 替换 删除 增加
sed 的地址定界
地址定界一般指的是需要操作的行
网络配置
进入网络配置目录
cd /etc/sysconfig/network-scripts
编辑nat网卡的配置
vi ifcfg-ens33
修改或添加如下信息:
BOOTPROTO=static
ONBOOT=yes
IPADDR=172.25.2.101
NETMASK=255.255.255.0
GATEWAY=172.25.2.2
DNS=8.8.8.8
在vi编辑器中,输入:wq进行保存退出
vi /etc/resolv.conf
加入:
nameserver 8.8.8.8
输入:wq进行保存退出
关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
重启网络
systemctl restart network
测试
ping www.baidu.com
网络配置
进入网络配置目录
cd /etc/sysconfig/network-scripts
编辑nat网卡的配置
vi ifcfg-ens33
修改或添加如下信息:
BOOTPROTO=static
ONBOOT=yes
IPADDR=172.25.2.101
NETMASK=255.255.255.0
GATEWAY=172.25.2.2
DNS=8.8.8.8
在vi编辑器中,输入:wq进行保存退出
vi /etc/resolv.conf
加入:
nameserver 8.8.8.8
输入:wq进行保存退出
关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
重启网络
systemctl restart network
测试
ping www.baidu.com
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)