为了账号安全,请及时绑定邮箱和手机立即绑定

Linux系统管理(完整)

标签:
Python

一、Linux初识

Linux系统用在哪些地方?自由软件中的Free是什么意思?

Linux之父和GNU自由软件之父的关系?
GNU/Linux => Linux
什么是Linux内核版本?什么是Linux发行版本?

有哪些Linux发行版适合服务器和工作站?红帽与CentOS有什么关系?为什么CentOS的应用最广泛?

如何在虚拟机上安装CentOS ?如何在真实电脑上安装Linux系统?

什么是硬盘分区?硬盘分区有哪些规定?硬盘分区完成后,为什么还要格式化分区?
Linux上常用的文件系统有哪些?
什么是swap交换分区?(SWAP)这个分区有什么用?什么是 / 根分区?(EXT4)

如何才能让Linux做我们想让它做的事情?什么是Shell ?有什么用?图形Shell?命令行Shell?
Bash Sehll

~ 是什么意思?它代表了当前用户的家目录。# 代指根用户, $ 代指普通用户。
上下箭头,可以查看Shell的历史命令。
一个Tab,自动补齐Shell命令。
连续两次按下Tab,查看包含当前字符的所有命令。

如何查看当前的用户信息和系统信息?

whoami
whoami  --helpwhoami  --version

如何输出内容?

echo  'string'

如何使用nano文本编辑器?如何保存nano文件?

nano
ctrl + O  //保存ctrl + G  //查看nano的帮助文档ctrl + X  //退出帮助文档再按 ctrl + X 退出nano

如何使用Shell命令的帮助文档?为什么要使用这个帮助文档?

man  who        // 查看 who命令的帮助文档在man帮助文档中,上下箭头用于向上或向下滚动,pageUp / pageDown用于向前向后翻页。
在man帮助文档中,输入 /string  用于查找当前光标之后的string字符串,按n跳转到下一个匹配处,N跳转到上一个匹配处。按 q 退出man帮助文档。
man 1 read    // 查看模块1中的read命令man 2 read    // 查看模块2中的read命令

生产环境下的Linux,如何正确地重启与关机?
不合理的重启或关机,有哪些危害和后果?
注意:不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中。

shutdown    // 只有根用户才能使用这个命令shutdown -h 10         // 10分钟后关机shutdown -h 00:00     // 0点0分时关机shutdown -h now      // 立即关机shutdonw -h 10 "关机原因"   // 关机原因会被下发至所有的用户shutdown -c             // 取消关机shutdown -r 10  "重启原因"     // 重启Linux

二、管理文件

Linux的目录结构是怎样的?什么是Linux标准架构规范?树形目录?
根目录下哪12个目录是必须的?

pwd         // 查看工作目录cd          // 切换工作目录.           // 指代当前目录..  // 指代父级目录-   // 指代上一次访问过的工作目录~   // 指代当前用户的家目录
mkdir   // 创建目录mkdir  -p   // 创建嵌套目录rmdir   // 删除空目录

两种路径:绝对路径以/开头,相对路径dir 或者 ./dir等

如何列举文件、查看文件属性以及修改文件属性?

ls  // 列举文件ls -a   // 列出所有文件ls -l   // 列表文件并展示出文件相关属性

什么是文件访问权限?
什么是文件所有者?什么是从属用户组?什么是其它用户?
什么是读权限、写权限、执行权限?

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

十字符的文件属性:


webp

文件属性.png

drwxrw-r-x// 第一个字符代码文件类型,-普通文件,d目录,c字符设备文件,b块设备文件,l符号链接文件。// 第二至四是文件所有者对该文件的权限属性。// 第五至七是用户组对该文件的权限属性。// 第八至十是其它用户对该文件的权限属性。7 = 111 = rwx6 = 110 = rw-5 = 101 = r-x4 = 100 = r--3 = 011 = -wx2 = 010 = -w-1 = 001 = --x0 = 000 = ---756 = 111101110 = rwxr-xrw-

第0位确定文件类型。
第1-3位确定属主(该文件的所有者)拥有该文件的权限。
第4-6位确定属组(所有者的同组用户)拥有该文件的权限。
第7-9位确定其他用户拥有该文件的权限。

第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限;
第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限;
第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限。

属主权限owner、属组权限group、其它用户权限others

  1. 对于 root 用户来说,一般情况下,文件的权限对root用户不起作用。

  2. 对于文件来说,它都有一个特定的所有者,也就是对该文件具有“所有权”的用户。

  3. 在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。

  4. 文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。

  5. 因此,Linux系统按文件所有者(属主权限)、文件所有者同组用户(属组权限)和其他用户(其它用户权限)来规定了不同的文件访问权限。

如何切换用户?

su - username   // 切换用户

如何修改文件属性?

如何修改文件的所有者属性? chmod  700  hello.sh如何修改文件的用户组属性?chown  group  hello.sh

如何拷贝文件?

cp  /tem/file.txt   // 拷贝文件cp  /tem/file.txt  ~/file1.txt   // 拷贝并重命名文件cp  /file1  /file2  /file3  ~    // 同时拷贝多个文件cp  -r  /dir  ~         // 拷贝一个文件夹

如何移动文件?

mv
它的用法和cp相似

如何删除文件?

rm ./file.txt
rm -R  ./dir    询问式删除
rm -fR  ./dir   直接删除

如何创建文件?

touch  ./empty

如何创建文件的符号链接和硬链接?
什么是符号链接?它类似windows系统上的桌面快捷方式,它用于快捷地指向某个文件。

ln  -s  ./file  ./file_link

可以为任何文件创建符号链接,如果符号链接的源文件被删除,将导致符号链接破裂。

linux中的文件是如何存储的?
什么是文件的inode和datablock?(inode相当于书的目录,datablock相当于是书的内容章节。对一个文件来说,它分两部分存储,其唯一的指引存放在inode中,它实际数据放在datablock中。)

ls -il  // 查看文件的inodeln ./file1  ./file_hard   // 创建硬链接

删除源文件,硬链接不会破裂。
两个建议:1、不要给文件夹创建硬链接。2、不要跨硬盘sd创建硬链接。

如何打包文件?即把多个文件或者一个目录,打包成一个大文件。tar命令不会压缩文件。

tar  -cf  打包的文件名  [要打包的文件列表|目录]
tar  -tf  打包文件名  // 查看打包中的文件列表tar  -f  打包文件名  --delete file  // 删除打包中的某个文件tar  -f  tar1  -A  tar2   // 合并两个打包文件tar  -f  tar1  -r  file   // 向打包文件中添加一个文件tar  -xf  tar1  -C  ~/dir     // 解包文件

如何压缩文件?

gzip  ./dir.tar     // 压缩文件gzip  -d  dir.tar.gz    // 解压文件gzip压缩比: 1 至 9, 默认是6gzip  -9  ./dir.tar   // 设置压缩比为9

由于gzip命令只能对单个文件进行压缩,所以gzip常和tar命令一起配合使用。
打包+压缩:使用tar先打包多个文件,再使用gzip压缩这个文件。快捷命令: tar -czf sample.tar.gz file1 file2  // 同时打包并压缩
解压+解包:先用gzip先解压文件,再使用tar进行文件解包。快捷命令: tar -xzf sample.tar.gz // 同时解压并解包

如何查找文件?

locate  .tar    // 为了准确性,建议执行 updatedb命令,以更新文件记录的数据库/var/lib/mlocatefind  [查找范围][查找条件][动作参数]
find  /  -name  filename   // 根据文件名进行查找find  /home  -type  d      // 根据文件类型进行查找find  /home  -mtime  -3  -ls   // 根据时间属性查找find  /home  -mtime  +7  -ls
find  /home  -mtime  4  -ls
find  /home  -size  +100k  -ls  // 根据文件大小查找find  /home  -gid  0  -ls   // 根据用户或用户组查找find  /root  -perm  754  -ls  // 根据文件属性来查找多个查找条件进行组合:-a与、-o或、!非
多个查找条件,用圆括号包裹起来即可。
find  /tmp  \(-size +1k  -a  -mmin +10)  -exec  rm  -rf  {}  \;

什么是通配符?

*   指代任意长度的字符串
*.txt   所有的.txt文件
?   指代任意的单个字符
[a-z]  指代从a至z之间的任意一个字符
[m,n,s]  指代中括号中的任意一个字符
{str1,str2,str3} 指代大括号中的任意一个字符串
!   表示取反
[!0-9]  表示除了0-9以外的任意字符

如何查看文本文件的内容?

cat file  // 适合查看较小的文件less file // 它支持上下箭头翻行、pageUp/PageDown翻页,/str查找,n/N匹配查找,q退出。head  -n  20  file  // 查看文件的前20行tail  -n  20  file  // 查看文件的末20行

三、用好重定向和管道

Linux中的输入输出是怎样的过程?

用户输入 -> stdin接收输入指令 -> 执行命令 -> stdout/stderr -> 输出结果至终端

那么什么是输出重定向?(>或>>)输出重定向就是手动地改变stdout/stderr的输出位置,比如把输出结果重定向到一个文件中。

ll  /tmp  1>  ./stdout.txt   // 输出结果会覆盖原文件ll  /tmp  2>>  ./stdout.txt  // 输出结果会追加到文件末尾1 指代标准输出2 指代错误输出
& 指代同时标准输出和错误输出
> 表示覆盖
>> 表示追加

应用举例:echo -e 'some thing' 1>echo.txt
ll /home 2>>/dev/null    // 把错误结果丢进/dev/null黑洞

那么什么又是输入重定向呢?(<或<<)输入重定向,即可手动改变stdin所接收的命令来源,比如让stdin从文本文件中接收命令。

tr  ''  '\t'  <./fruit.txt
sort  -k2  <<EOF

什么是管道?管道就是一种特殊的输入输出重定向。
|  管道操作符,让|左侧的命令输出作为右侧命令的输入,从而形成复杂的管道操作。

ls  -al  /etc  |less         // less用于查看文件内容ls  -al  /etc  |grep  'ssh'  // grep支持正则表达式的查找cat  ~/install.log |cut  ''  // cut用于文本切割wc  -l
ls  -al  ~/cut  -cl|grep  "d"|wc  -l  // wc用于统计

注意:管道不会传递错误输出流

管道机制,很好地体现了Linux设计的三原则:1、一个命令只做一件事。2、命令之间可以进行协作。3、可以处理文件流。

四、用好VI/VIM

vim  -version   // 查看vim版本

vim是一个模式编辑器,在不同的模式下可以干不同的事情。vim有三种模式:一般模式、插入模式、命令行模式。

【一般模式】

i键,进入插入模式
esc键,退出插入模式、进入一般模式。
h/j/k/l键,左下上右移动光标。使用上下左右箭头也可以移动,但不推荐这么做。
x键,删除光标处的字符。
dd,删除一行。
J (shift+j),删除一个换行符。
u键,返回至上一步状态。
ctrl+r,取消u键的撤销操作。
: 进入命令行模式。

【命令行模式】

:wq    // 保存并退出:q!    // 强制退出,不保存
功能1:设置vim的环境参数
:set all   // 查询vim中所有可以设置的环境参数:set nu    // 显示行号:set nonu  // 隐藏行号
功能2:光标移动
gg   // 移动到文件首行G    // 移动到文件尾行0    // 移动到当前行首$    // 移动到当前行尾3G   // 移动到第3行行首10$  // 移动到第10行行尾8i   // 向右移动8个字符3j   // 向下移动3行4l   // 向左移动4列
功能3:搜索功能
/str   // 从光标处,向下查找str字符串n/N    // 向下或向上定位匹配处
功能4:替换功能
语法:n1,n2s/str1/str2/gc
:50,100s/str1/str2/gc   // 把文件第50行-100行之间的str1替换成str2。:1,$s/str1/str2/gc   // $ 可以表示文件末行。
功能5:复制与粘贴
yy   // 复制光标所在行8yy  // 复制从光标行开始向下的8行p    // 把复制的内容粘贴在光标的下一行
功能6:删除行与删除字符
dd   // 删除一行3dd  // 删除光标开始向下的3行x    // 删除光标处的字符20x  // 删除光标开始向后的20个字符
功能7:撤销功能
u    // 撤销上一步:e!  // 撤销所有的修改操作
功能8:文件另存为:w filename.bak
功能9:在当前文件中插入另一个文件的内容
: r ./file.txt   // 插入file.txt中的内容:w   // 保存
功能10:同时打开多个文件
vim file1 file2 file3...   // 同时打开多个文件:n    // 在多个文件之间向后切换:N    // 在多个文件之间向前切换
功能11:跨文件复制粘贴
ctrl+v  // 从当前文件进入可视模式鼠标滑动选中文本块,按下y键完成复制。
n/N     // 进入另一个文件p       // 粘贴已复制好的文本块
功能12:保存文件并退出vim:wq

五、用户管理(用户与用户组)

什么是Linux用户?
Linux是通过UID来识别用户,而不是通过用户名来识别身份的,这个UID,即user's id。

三类用户:
系统管理员用户 - root  它的UID=0
虚拟用户 bin/daemon/ftp/mail/nobody等,UID范围是1-499
普通用户 UID从500开始

什么是Linux用户组?
Linux是通过GID来识别用户组的。GID=group's id。
主用户组:一个用户,只能有一个主用户组。
从属用户组:一个用户,可以有多个从属用户组。

如何查看Linux系统中的用户?

id  username   // 用于查看用户的UID和用户组信息等。id  // 查看当前登录用户的用户信息finger  username   // 查看用户更多的环境信息finger  // 显示当前登录用户的环境信息

如何切换用户?

su -l root   // -l 表示切换用户的同时,一起切换shell环境su - root

从普通用户切换至根用户,需要输入密码。反之,无须密码。

如何创建新用户?
注意:只有根用户才有能力创建新用户。

useradd  newuser   // 创建用户passwd  newuser    // 为用户设置密码使用id或finger可以查看当前用户的信息数据。

创建用户,同时修改用户的默认环境参数:
useradd -c 'xx' -u 'xx' -d 'xx' -g 'xx' -G 'xx' -s 'xx'// -c 用于指定用户描述,-u指定UID,-d指定用户家目录,-g指定用户的主用户组,-G指定用户的其它从属用户组,-s指定用户将要使用的shell环境。

如何修改用户?

usermod -c '' -d '' -g '' -G '' -s '' // 修改用户描述、家目录、主用户组、从属用户组、shell环境、UID等。usermod -u   // 修改用户UIDusermod -l   // 修改用户名usermod -L   // 锁定用户,将导致该用户无法再登录usermod -U   // 解锁用户

如何删除用户?

userdel username   // 删除用户,但不会删除该用户的家目录userdel -r username  // 删除用户,同时删除用户家目录

注:处在登录状态的用户,是无法被删除的。

如何创建用户组?

注意:只有根用户才能创建用户组。
groupadd groupname   // 创建用户组groupadd -g 600 groupname  // -g指定GIDusermod -G groupname username  // 向用户组中添加用户

如何修改用户组?

groupmod -g 700 -n name1 name2 // 修改用户组的GID和名称注意:不要随便修改用户组GID,这可能造成系统混乱。

如何删除用户组?

groupdel groupname
注意:如何当前用户组是某个用户的主用户组,它将无法被删除。

为什么需要让渡根用户的部分权限?
为什么不能把根用户密码告诉其它人?
如何让渡根用户的部分权限?
注:Linux系统默认情况下,只有root用户才能执行sudo命令。/etc/sudoers 是sudo命令的配置文件,该文件只有root用户才能修改。该文件即是一个用户权限的配置文件。

用vim打开/etc/sudoers文件,添加一行 username ALL-(ALL) ALL,保存并退出。即添加了一个可以执行sudo命令的非root用户。

sudo -u root passwd username  // 用非root用户登录,但它可以使用sudo命令。

与用户管理息息相关的四个核心配置文件:
1、/etc/passwd
该文件中保存着系统所有的用户
vim /etc/passwd   // 查看该文件,用户列表

2、/etc/shadow
它是/etc/passwd文件的影子文件,它也存储着用户列表的信息,与/etc/passwd文件相互补充。

3、/etc/group
该文件中保存着系统所有的用户组
vim /etc/group   // 查看用户组列表

4、/etc/gshadow
它是/etc/group文件的影子文件,它也存储着用户组的相关信息,它与/etc/group文件相互补充。

注意:为了保证系统的安全性,严格不建议手动修改以上四个核心配置文件。

六、硬盘管理

Linux中,所有的设备都是用文件来表示的。

/dev  该目录下,放置的即是系统设备列表文件。
/dev/xxy    // xx表示设备的类型,如sd表示硬盘。y表示这个设备是该设备类型下的第几个设备,取值范围是a-z。如,sdc表示第三个sd硬盘。

Linux中,所有的硬盘分区也都是用文件来表示的。硬盘分区文件也存放在/dev目录下。

/dev/xxyn   // xx表示设备类型。y表示第几个该类型的设备。n表示硬盘分区编号,1-4表示主分区或扩展分区,大于4时表示扩展分区中的逻辑分区编号(逻辑分区的编号从5开始)。例如,/dev/sda6 这表示第一个sd硬盘的扩展分区中的第2个逻辑分区文件。

如何查看硬盘或分区的信息?

fdist -l /dev/sda    // 查看第一块硬盘的信息

如何对硬盘进行分区?
Linux中对硬盘分区有很多命令,但我们使用fdisk。下面将演示对sdb硬盘进行分区:

fdisk  -l  /dev/sdb
fdisk  /dev/sdb         // 进入sdb硬盘,进入之后,就可以使用fdisk的快捷键进行快捷操作了。n键          // 新建分区p键  // 选为主分区1   // 选择分区号(1-4)+100G   // 设置分区的大小,必须有+号n键  // 继续新建分区e键  // 选为扩展分区2   // 选择分区号// 分区大小,默认使用剩下的全部磁盘大小n键  // 继续新建分区l键  // 选为逻辑分区(逻辑分区从属于扩展分区)5   // 设置逻辑分区号(默认从5开始)+64G    // 设置逻辑分区的大小n键  // 继续新建逻辑分区l键  // 选为逻辑分区// 使用默认逻辑分区号// 使用扩展分区剩余的所有磁盘大小w键  // 保存上述操作,把分区结果保存至分区表注意:如果在w保存之前按下了q键,将会退出分区操作,上述所有操作将会丢失。

fdisk  -l  /dev/sdb // 查看sdb硬盘的分区结果

如何修改分区的文件系统类型?

fdisk  /dev/sdb // 进入sdb硬盘l键  // 查看sdb硬盘所支持的所有文件系统类型t键  // 进入分区文件系统类型修改模式6   // 选择分区号为6的逻辑分区// 输入文件系统类型的代号w键  // 保存修改结果至分区表fdisk  -l  /dev/sdb // 查看sdb硬盘下的分区修改结果

如何删除一个分区?

fdisk  /dev/sdb // 进入sdb硬盘d键  // 进入分区删除操作模式7   // 选择要删除的分区的分区号,enter即可// 删除成功后,可以继续新建或修改其它分区

格式化分区:
为什么需要格式化分区?只有格式化分区后,硬盘分区才能使用,才能用这些分区来存储数据了。

mkfs  -t  ext4  /dev/sdb1       // -t用于指定分区的文件系统类型mkfs  -t  ext4  /dev/sdb5
mkfs  -t  ext4  /dev/sdb7
mkfs  -t  ext4  /dev/sdb8
mkfs  -t  vfat  /dev/sdb6   // -t用于指定分区的文件系统类型fdisk  -l  /dev/sdb // 查看sdb硬盘下的分区结果

如何把已有的硬盘分区变更为交换分区?

mkswap  /dev/sdb7       // 把sdb7转化成交换分区

什么是挂载分区?为什么需要挂载分区?
分区完成后的硬盘,只有挂载到Linux的/树形结构上后,才能正式被使用。挂载是为了更方便地访问文件,数据实际上还是存储在/dev中的硬盘设备上。
挂载操作,是在建立存储设备分区到/树结构的映射关系。

mkdir project     // 在家目录下创建文件夹,用于挂载硬盘分区cd project
mkdir dir1 dir5 dir6 dir7 dir8  // 在project目录下创建5个空文件夹,用于挂载分区mount  -t  ext4  /dev/sdb1  /project/dir1      // 把dev/sdb1分区挂载到project/dir1树结构上mount  -t  ext4  -o  ro  /dev/sdb5  /project/dir5    // -t指定文件系统类型,-o指定读写模式,ro表示该分区为只读模式,不能执行文件编辑等操作。mount  -t  ext4  /dev/sdb7  /project/dir7
mount  -t  ext4  /dev/sdb8  /project/dir8
mount  -t  vfat  /dev/sdb6  /project/dir6

在/project目录下,执行mount命令查看挂载结果
mount   // 查看挂载结果挂载成功后,即可进入到/project中进行各种文件操作了。它们的数据都保存在/dev/sdb硬盘中。

如何卸载一个挂载点或者分区?

umount  /dev/sdb8       // 卸载sdb8分区umount  /project/dir8   // 上述两个命令的操作结果是一致的,本质上是断开了sdb8分区与/树结构之间的映射有关系,即卸载挂载。

注意:挂载被卸载后,数据仍然存储在硬盘上,只是暂时看不到了而已。当恢复挂载时,数据就会被恢复访问。

两点提示:1、挂载分区,尽量选择空目录进行挂载。2、不要在多个目录上挂载同一个硬盘分区。
注意:mount和umount命令,只有根用户才有权限使用。

如何实现在Linux开机时自动挂载分区?
为什么需要实现开机自动挂载?因为上述讲的手动mount挂载,在Linux重启后会消失,消失后需要再次手动挂载才能使用硬盘上的数据,手动挂载不是永久的。

/etc/fstab    该配置文件,用于指定Linux开机时自动挂载的映射关系。
vim  /etc/fstab     // 打开该配置文件在这个文件中,可以指定"分区->挂载点树目录"的映射关系,以及其它相关配置参数。

开机自动挂载虽然方便,但同时会带来另一个问题。因为Linux机器上的硬盘等存储设备可以人为地被热插拔更改设备顺序,从而导致/etc/fstab配置的映射关系发生变化,比如sda可能会因为插拔后变成了sdb。那么该如何解决这个问题呢?

解决方案是,给分区取一个标签别名UUID,然后用标签别名UUID来挂载分区。

那么如何给分区绑定标签别名UUID呢?

语法: e2label  分区设备名  标签别名
e2label  /dev/sdb5  uuid1   // 给sdb5分区绑定了uuid1别名// 绑定成功后,用 blkid 命令查看系统中所有的UUID列表。// 然后打开/etc/fstab配置文件,用UUID来指定分区与/树目录的映射关系,即可。

注:使用UUID来完成分区到/树目录的映射时,无论Linux怎么重启,只要/etc/fstab配置文件不变,那么分区挂载的映射关系也不会变。这是因为UUID是唯一的,并且不会受设备插拔的影响。

七、网络管理

Linux上什么是网络接口?(网络接口就是网卡,这里的网络指的是以太网)
注:所有用户都可以查看,但只有根用户可以操作网络接口。

ifconfig    // 该命令输出的数据怎么解读?“eth”开头的是网络接口,"lo"开头的是回环接口,回环接口可用于本机的网络调试。注意,此时只返回已开启的网络接口。ifconfig  eth0  // 只查看eth0这个网络接口的信息ifconfig  -a    // 查看本机上所有的网络接口,无论这些接口是否被启用。

如何启用或关闭一个网络接口?

ifconfig  eth1  up        // 启用网络接口ifconfig  eth1  down   // 关闭网络接口

如何修改网络接口的配置参数?

ifconfig  eth1  192.168.16.125  netmask  255.255.255.0      // 修改eth1网络接口的IP地址和子网掩码地址。ifconfig  eth1  mtu  5000     // 修改eth1网络接口的mtu参数

注意:这些手动修改后的网络接口参数都是临时的。当在系统重启后不会被保留。比如service  network  restart后,这些修改将恢复原状。

配置TCP/IP网络参数:
这些配置文件存放在 /etc/sysconfig/network-scripts/ 目录下。

cd  /etc/sysconfig/network-scripts/
ls
vim  ./ifcfg-eth0   // 进入并编辑第一块网卡的配置参数// 修改完成,需要重启网络。service  network  restart   // 重启网络

注意:一台机器默认只有一个网关Gateway。所以设置网卡参数时,无须给每个网卡都设置Gateway参数。如果在多个网卡接口中设置了Gateway参数,那么最后一个启用的网卡接口的Gateway会生效。

如何测试网关是否生效?

ping  -c  5  192.168.71.2   // 测试两台机器的连通性,-c用于指定数据包的个数。

如何从DNS服务器获取指定域名的解析结果?

dig  www.geekxia.cn

如何配置机器的主机名?

vim  /etc/sysconfig/network     // 打开并编辑该文件,可以修改主机名vim  /etc/host  // 打开并追加一行“ip地址->主机名”的映射// 保存上述两个配置文件的修改service  network  restart    // 重启网络ping  hostname  // 测试主机名修改是否成功

注:系统中很多地方都会用到主机名,所以修改主机名完成后,建议重启一下Linux机器,这样可保证主机名修改后完成生效。

什么是动态主机配置协议(DHCP)?

vim  /etc/sysconfig/network/ifcfg-eth0    // 打开并编辑// 修改 BOOTPROTO=static 为 BOOTPROTO=DHCP,保存。service  network  restart    // 重启网络后,即生效。

注:当BOOTPROTO=static时,机器的IP将是固定IP,不会随局域网的DHCP服务变化而变化。当BOOTPROTO=DHCP时,机器的IP将是动态的,每次重启网络后,机器的IP地址总会受局域网的DHCP服务器影响而发生变化,即动态IP。

特别说明:DHCP服务器,是处在局域网中的,它有能力给局域网中BOOTPROTO=DHCP的机器动态地分配IP地址、网关、主机名、子网掩码和DNS地址等。



作者:夏海峰
链接:https://www.jianshu.com/p/722b64995e30


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消