开发运维基础课程-02-操作系统基础操作
操作系统基础操作
本章内容主要是以系统基础操作命令为主,同时涉及到目录结构,以及系统优化相关知识,主要帮助小白能够对安装好的操作系统能有深入的理解,掌握系统管理操作与优化的方法。
2.1 操作系统基础命令介绍
重所周知,Linux是一个主要通过命令行来进行管理的操作系统,即通过键盘输入指令来管理系统的相关操作,包括但不限于编辑文件、启动/停止服务等。这和初学者曾经使用的windows系统利用鼠标点击这类可视化管理大不相同。
使用鼠标可视化管理的优势是简单、容易上手,但缺点是不能方便快速、批量、自动化地管理系统,而且感觉系统也很臃肿,这个时候Linux系统的命令行管理优势就凸显了。使用Linux命令行管理,不但可以实现批量、自动化管理,还可以实现智能化、可视化管理,当然,后者需要开发人员配合开发管理界面来完成,但无论如何,Linux系统的优势还是快速、批量、自动化、智能化管理系统及处理业务。
2.1.1 操作系统命令执行规范
Linux系统命令行提示符介绍
Linux命令行结尾的提示符有“#”和“$”两种,如下所示
说明: 这是Linux基础操作说明
[root@oldboyedu ~]#
-- 这是超级管理员root用户对应的命令行
[oldboy@oldboyedu ~]$
-- 这是普通用户oldboy对应的命令行
编号信息 | 提示符信息 | 组成说明 |
---|---|---|
① | #符号 | 是使用超级用户root登录后的命令行结尾提示符 |
② | $符号 | 是使用普通用户登录后的命令行结尾提示符 |
③ | root | 命令行提示符@前面的字符代表当前登录的用户,可以用whoami进行查询获取 超级用户具有管理系统的所有权限 |
④ | oldboy | 命令行提示符@前面的字符代表当前登录的用户,可以用whoami进行查询获取 普通用户的权限比较小,只能进行基本的系统信息查看等操作,无法更改系统配置和管理服务 |
⑤ | @符号 | 主要用于分割登录系统用户信息与系统主机名称信息 |
⑥ | oldboyedu | @后面的为主机名称,可以用hostname命令查询获取 |
⑦ | ~符号 | 所在的位置是窗口当前用户所在的路径信息,可用pwd查询获取,一般显示~表示在当前用户家目录中 |
· Linux系统命令行执行规范要求
在执行系统命令时,一般有两种执行方式:
方式一:执行规范是命令加参数信息
# 以查看网卡信息命令,按照规范方式一执行
ip address show
-- 查看
其中ip是操作的命令,后面的address和show都是此命令的参数,其实参数就是对指定命令具体功能指定。就好比我要打架去,去打架只是笼统的说明,而如果我会采用自由搏击方式打架,或采用咏春方式打架,打架的方式就可以理解为参数。对于IP地址只是和网络相关的一个命令,加上不同的参数可以查看或设置网络的不同功能。
方式二:执行规范是命令加参数信息加处理对象信息
//以查看网卡信息命令,按照规范方式二执行
ip address show eth0
//以查看文件信息命令,按照规范方式二执行
cat -n /etc/hosts
其中ip和cat都是操作命令,命令后面的信息为命令参数,而整个命令语句最后面信息为操作的处理对象;
· 像ip命令最后对应的eth0,也就表示需要查看地址的网卡是eth0网卡,也可以换成eth1、eth2等
· 像cat命令最后对应的/etc/hosts,也就表示需要查看哪个文件的内容,也可以换成其它文件信息
说明:
命令+参数+对象之间需要至少有一个空格分割,不能连着书写;并且操作的命令、参数、以及对象必须是合法有效的;
在某些特定情况命令后也可以直接跟对象。
2.1.2 操作系统获取帮助命令
· 使用man获取命令帮助信息
①. man命令的基础语法
man命令是Linux系统中最核心的命令之一,因为通过它可以查看其他Linux命令的使用信息。当然了,man命令不仅可以查看命令的使用帮助,还可以查看软件服务配置文件、系统调用、库函数等的帮助信息。
[功能说明]
man命令用于查看命令的帮助信息。
[语法格式]
man 参数信息 命令/文件
[实践操作]
范例1:查看cp指令的帮助
//系统管理员一般常见的用法还是直接man,不带参数
man cp
②. 利用man查阅命令帮助内容的格式说明
当使用“man 命令”查询命令对应的帮助时,帮助内容中的标题格式对应的含义见下表所示
编号 | man帮助信息中标题 | 官方说明 |
---|---|---|
1 | NAME | 命令说明及介绍(常见)(重点关注) |
2 | SYNOPSIS | 命令的基本使用语法(常见)(重点关注) |
3 | DESCRIPTION | 命令使用详细描述,及相关参数选项说明(常见)(重点关注)) |
4 | OPTIOS | 命令相关参数选项说明(有的命令帮助没有此项) |
5 | COMMANDS | 当这个程序(软件)在执行的时候,可以在此程序(软件)中执行的命令 |
6 | FILES | 程序涉及(或使用或关联)的相关文件 |
7 | EXAMPLES | 命令的一些例子,这块有时很有用 |
8 | SEE ALSO | 和命令相关的信息说明 |
9 | BUGS(REPORTING BUGS) | 命令对应缺陷问题描述 |
10 | COPYRIGHT | 版权信息相关声明 |
11 | AUTHOR | 作者介绍 |
③. 进入man帮助页面中的快捷键功能说明
执行“man 命令”进入到man帮助页面中实际上就相当于浏览一个文本文件,可以利用下表中快捷键快速浏览查阅想找的内容。
序号 | 操作键 | 功能说明 |
---|---|---|
1 | [Page Down] | 向下翻一页(也可以空格键替代) |
2 | [Page Up] | 向上翻一页 |
3 | [Home]/gg | 跳转到第一页 |
4 | [End]/G | 跳转到最后一页 |
5 | /oldboy | 向下依次查找oldboy字符串,oldboy可以换成想要的内容 |
6 | ?oldboy | 向上依次查找oldboy字符串,oldboy可以换成想要的内容 |
7 | n,N | 当使用/或?符号向下或向上搜索时, 使用n会继续当前搜索方向的下一个匹配的查询, 使用N时则进行相反方向的查询 例如:/oldboy向下搜索后,再按n会继续向下搜索oldboy,而按N就会反向向上搜索oldboy了。 同理,使用?oldboy向上搜索后,再按n会继续向上搜索oldboy,而按N就会反向向下搜索oldboy了 |
8 | q | 结束本次man帮助 |
man帮助命令也有很多其它参数,但是实际工作中几乎用不到,如果在工作中需要使用man的特殊参数,可以使用man man命令查阅。 |
· 使用help命令获取bash内置命令帮助
在Linux系统里有一些特殊的命令,它们就是bash程序的内置命令,例如cd、history、read等,这些命令在系统目录里没有真实的程序文件存在(这些文件存在于bash程序里),对于这部分命令,查看帮助的方法就是使用help命令,例如
help cd
cd: cd [-L|[-P [-e]]] [dir]
Change the shell working directory.
Change the current directory to DIR. The default DIR is the value of the
HOME shell variable.
2.1.3 关机重启注销命令
①. shutdown:重启或关机命令
[功能说明]
shutdown是一个用来安全关闭或重启Linux系统的命令,系统在关闭之前会通知所有的登陆用户,系统即将关闭,此时所有的新用户都不可以登陆,与shutdown类似的命令还有init、halt、poweroff、reboot。
[语法格式]
shutdown [opetion] TIME [MESSAGE]
shutdown [选项] 时间 消息
[选项说明]
下表针对该命令的参数选项进行了说明
序号 | 参数选项 | 解释说明 |
---|---|---|
1 | -r | 重启系统,而不是关机,这个参数在系统重启时常用,例如:shutdown -r now |
2 | -h | 关闭系统,这个参数在系统关机时常用,例如:shutdown -r now |
3 | -c | 取消正在执行的shutdown指令 |
[应用范例] | ||
范例一:关机或重启系统在多久之后进行 | ||
一分钟后关闭Linux系统的命令如下: |
[root@oldboyedu ~]# shutdown -h +1
Shutdown scheduled for Thu 2020-09-03 14:04:46 EDT, use 'shutdown -c' to cancel. //提示可以执行shutdown -c取消关机计划
Broadcast message from root@oldboyedu.com (Thu 2020-09-03 14:03:46 EDT): //通知所有用户关机信息
The system is going down for power-off at Thu 2020-09-03 14:04:46 EDT! //关机时间点信息
范例二:关机或重启系统在指定时间进行
11点整重启Linux系统的命令如下:
[root@oldboyedu ~]# shutdown -r 11:00
Shutdown scheduled for Fri 2020-09-04 11:00:00 EDT, use 'shutdown -c' to cancel.
范例三:关机或重启系统立即进行
[root@oldboyedu ~]# shutdown -h now
②. halt/poweroff/reboot:重启或关机命令
[功能说明]
从Red Hat或CentOS6起,会发现halt、poweroff、reboot这三个命令对应的是同一个man帮助文档,因此在这里将三个命令放在一起讲解。
[语法格式]
reboot [option]
halt [option]
poweroff [option]
[应用范例]
范例:关机或重启系统常见操作
使用halt/poweroff关机的命令如下
[root@oldboyedu ~]# halt
[root@oldboyedu ~]# poweroff
使用reboot重启系统命令如下
[root@oldboyedu ~]# reboot
2.1.4 文件和目录操作命令
①. pwd:显示当前所在的位置信息
[功能说明]
pwd命令是print working directory中每个单词的首字母缩写,其功能是显示当前工作目录的绝对路径。在实际工作中,我们在命令行操作命令时,经常会在各个目录路径间切换,此时可使用pwd命令快速查看当前所在的目录路径。
[语法格式]
pwd [option]
[应用范例]
范例:不带任何选项执行pwd命令
[root@oldboyedu ~]# pwd
/root
[root@oldboyedu ~]# cd /etc/init.d/
[root@oldboyedu init.d]# pwd
/etc/init.d
[root@oldboyedu init.d]#
②. cd:切换目录
[功能说明]
cd命令是change directory中每个单词的首字母缩写,其功能是从当前工作目录切换到指定的工作目录
[语法格式]
cd [option] [dir]
cd [选项] [目录]
[应用范例]
范例1:进入系统/etc目录
[root@oldboyedu ~]# pwd
/root
[root@oldboyedu ~]# cd /etc
[root@oldboyedu etc]# pwd
/etc
范例2:切换到当前目录的上一级目录
[root@oldboyedu etc]# pwd
/etc
[root@oldboyedu etc]# cd ..
[root@oldboyedu /]# pwd
/
[root@oldboyedu /]#
范例3:进入当前目录的父目录的父目录
[root@oldboyedu /]# cd /usr/local/
[root@oldboyedu local]# pwd
/usr/local
[root@oldboyedu local]# cd ../../
[root@oldboyedu /]# pwd
/
范例4:返回当前用户上一次所在的目录
[root@oldboyedu /]# cd /usr/local/
[root@oldboyedu local]# pwd
/usr/local
[root@oldboyedu local]# cd
[root@oldboyedu ~]# pwd
/root
[root@oldboyedu ~]# cd -
/usr/local
[root@oldboyedu local]#
范例5:进入当前用户的家目录
[root@oldboyedu local]# cd /usr/local/
[root@oldboyedu local]# pwd
/usr/local
[root@oldboyedu local]# cd ~
[root@oldboyedu ~]# pwd
/root
说明:执行不带任何参数的cd命令和"cd ~"的结果一样
③. mkdir:创建目录
[功能说明]
mkdir命令是"make directories"中每个单词内黑体字母组合而成的,其功能是创建目录,默认情况,如果要创建的目录已存在,会有提示目录已存在信息,不会继续创建目录。
[语法格式]
mkdir [option] [dir]
mkdir [选项] [目录]
[选项说明]
下表针对该命令的参数选项进行了说明
序号 | 参数选项 | 解释说明 |
---|---|---|
1 | -P | ① 递归创建目录,递归的意思是父目录及其子目录及子目录的子目录... ② 如何要创建的目录事先存在,也不会报错提示目录存在 |
2 | -v | 现实创建目录的过程 |
[应用范例] | ||
范例一:不适用任何命令参数创建目录用法 |
[root@oldboyedu ~]# mkdir data
范例二:使用-p参数递归创建目录
[root@oldboyedu ~]# mkdir -p oldboy/test
④. touch:创建文件或更改文件的时间戳
[功能说明]
touch命令有两个功能;一是创建新的空文件;二是改变已有文件的时间戳属性。
[语法格式]
touch [option] [file]
touch [选项] [文件]
[选项说明]
[root@oldboyedu ~]# touch oldboy.txt
[root@oldboyedu ~]# touch a.txt b.txt c.txt
[root@oldboyedu ~]# touch stu{01..05}
⑤. ls:显示目录下内容及属性信息的命令
[功能说明]
ls命令可以理解为英文单词list缩写,其功能是列出目录的内容及其内容属性信息(list directory contents)。
[语法格式]
ls [opetion] [file]
ls [选项] [文件或目录]
说明:命令后面的选项和目录文件可以省略,表示查看当前路径的文件信息
[选项说明]
下表针对该命令的参数选项进行了说明
序号 | 参数选项 | 解释说明 |
---|---|---|
1 | -l | 使用长格式列出文件及目录信息 |
2 | -a | 显示目录下所有文件,包括以 . 字符开始的隐藏文件 |
3 | -t | 根据最后修改时间mtime排序,默认是以文件名排序 |
4 | -r | 依相反顺序排序 |
5 | -d | 当遇到目录时,列出目录本身而非目录内的文件 |
6 | -h | 以人类可读的信息显示文件或目录大小如1k 234M 2G等 |
7 | -S | 根据文件大小进行排序 |
8 | -R | 递归列出所有子目录 |
[应用范例] | ||
在开始范例讲解之前,先做一些准备,顺便熟悉一下前面的命令 |
[root@oldboyedu ~]# mkdir /test
[root@oldboyedu ~]# cd /test
[root@oldboyedu test]# touch file1.txt file2.txt file3.txt
[root@oldboyedu test]# mkdir dir1 dir2 dir3
范例一:直接执行ls命令,不带任何参数
[root@oldboyedu test]# pwd
/test
[root@oldboyedu test]# ls
dir1 dir2 dir3 file1.txt file2.txt file3.txt
范例二:使用-a参数显示所有文件,特别是隐藏文件
[root@oldboyedu test]# touch .file4.txt
[root@oldboyedu test]# ls
dir1 dir2 dir3 file1.txt file2.txt file3.txt
[root@oldboyedu test]# ls -a
. .. dir1 dir2 dir3 file1.txt file2.txt file3.txt .file4.txt
范例三:使用-l参数显示详细信息
[root@oldboyedu test]# ls -l
total 0
drwxr-xr-x. 2 root root 6 Sep 3 14:49 dir1
drwxr-xr-x. 2 root root 6 Sep 3 14:49 dir2
drwxr-xr-x. 2 root root 6 Sep 3 14:49 dir3
-rw-r--r--. 1 root root 0 Sep 3 14:48 file1.txt
-rw-r--r--. 1 root root 0 Sep 3 14:48 file2.txt
-rw-r--r--. 1 root root 0 Sep 3 14:48 file3.txt
说明:这个-l参数是常用的参数了,意思是长格式列出目录下的文件类型、权限、连接数、属主(组)及创建修改时间的信息。
范例四:使用-d参数只显示目录本身的信息
[root@oldboyedu test]# ls -l
total 0
drwxr-xr-x. 2 root root 6 Sep 3 14:49 dir1
drwxr-xr-x. 2 root root 6 Sep 3 14:49 dir2
drwxr-xr-x. 2 root root 6 Sep 3 14:49 dir3
-rw-r--r--. 1 root root 0 Sep 3 14:48 file1.txt
-rw-r--r--. 1 root root 0 Sep 3 14:48 file2.txt
-rw-r--r--. 1 root root 0 Sep 3 14:48 file3.txt
[root@oldboyedu test]# ls -ld dir1
drwxr-xr-x. 2 root root 6 Sep 3 14:49 dir1
⑥. cp:复制文件或目录
[功能说明]
cp命令可以理解为英文单词copy的缩写,其功能为复制文件或目录
[语法格式]
cp [opetion] [srcfile/srcdir] [destdir]
cp [选项] [备份原文件数据] [目标目录]
[应用范例]
范例一:复制文件数据信息
[root@oldboyedu test]# cp file1.txt file4.txt
[root@oldboyedu test]# cp -a file1.txt file5.txt
[root@oldboyedu test]# ll -h file1.txt file5.txt
-rw-r--r--. 1 root root 0 Sep 3 14:48 file1.txt
-rw-r--r--. 1 root root 0 Sep 3 14:48 file5.txt
范例二:复制目录数据信息
[root@oldboyedu test]# cp dir1 dir2/
cp: omitting directory ‘dir1’
[root@oldboyedu test]# cp -r dir1 dir2/
⑥. mv:移动文件或目录
[功能说明]
mv命令可以理解为英文单词move的缩写,其功能是移动或重命名文件。
[语法格式]
mv [opetion] [srcfile/srcdir] [destdir]
mv [选项] [备份原文件数据] [目标目录]
[应用范例]
范例一:移动文件数据信息
[root@oldboyedu test]# mv file1.txt file4.txt
[root@oldboyedu test]# mv file1.txt file5.txt
[root@oldboyedu test]# ll -h file1.txt file5.txt
-rw-r--r--. 1 root root 0 Sep 3 14:48 file1.txt
-rw-r--r--. 1 root root 0 Sep 3 14:48 file5.txt
范例二:复制目录数据信息
[root@oldboyedu test]# mv dir1 dir2/
⑦. rm:删除文件或目录
[功能说明]
rm命令可以理解为英文单词remove的缩写,其功能是删除一个或多个文件或目录。
[语法格式]
rm [opetion] [file/dir]
rm [选项] [文件或目录]
[应用范例]
范例一:强制删除文件
[root@oldboyedu test]# rm -f file1.txt file4.txt
范例二:强制删除目录
[root@oldboyedu test]# rm -rf dir01/
2.2 系统编辑命令使用技巧
在Linux系统中会有很多的文件信息,这些文件的内容如果需要进行编辑,就必须借助vi或vim编辑命令。
vi是linux命令行界面下的重要文字编辑器。vim是vi命令的增强版,例如:高亮显示代码,自动缩进等。
vim与vi编辑器是兼容的
[语法格式]
vim [opetion] [file]
vim [选项] [文件]
2.2.1 vim的三种模式
①. 普通模式
用vim命令打开一个文件后,默认的状态就是普通模式。在这个模式中,不能进行编辑输入操作,但可以按"上","下","左","右"键来移动光标,也可以执行一些操作命令进行如删除、复制、粘贴等工作。
②. 编辑模式
在普通模式下不能进行编辑输入操作,只有按下"i,I,o,O,a,A,r,R,s,S"(其中i最常用)等字母进入编辑模式后才可以执行录入文字等编辑操作。确定文件是否处于编辑模式状态有一个重要的特征,那就是在窗口左下角要有插入的标记"--INSERT--".
③. 命令模式
在普通模式下,输入":"或"/"或"?"时,光标会自动定位在那一行。在这个模式中,可以执行保存、退出、搜索、替换,显示引号等相关操作。
下图是vim三种模式转换示意图
2.2.2 vim快捷操作技巧
· 光标快速移动快捷方式
序号 | 操作技巧 | 解释说明 |
---|---|---|
1 | 大写字母 G | 快速切换光标到底行 |
2 | 小写字母 ngg 大写字母 nG |
快速切换光标到首行 |
5 | 数字字符 0 符号字符 ^ |
快速切换光标到单行行首 |
6 | 符号字符 $ | 切换光标到单行行尾 |
· 快速编辑文本内容信息
序号 | 操作技巧 | 解释说明 |
---|---|---|
1 | yy | 复制单行内容 |
2 | nyy | 复制多行内容 |
3 | p | 粘贴一次内容 |
4 | np | 粘贴多次内容 |
5 | dd | 删除一行内容(实际为剪切) |
6 | ndd | 删除多行内容(实际为剪切) |
7 | dG | 删除光标位置到最后一行所有内容 |
8 | :1,5s#要替换信息#替换成什么信息#g | 单行信息替换 |
9 | :1,$s#要替换信息#替换成什么信息#g | 指定行信息替换 |
10 | :%s#要替换信息#替换成什么信息#g | 全部文本替换 |
· 底行模式操作配置指令
序号 | 操作技巧 | 解释说明 |
---|---|---|
1 | set nu | 显示文件内容行号信息 |
2 | set nonu | 取消行号显示 |
3 | u | 进行操作撤销 |
4 | ctrl + r | 取消操作撤销 |
· 文件内容批量编辑方法
多行添加注释信息:
第一个步骤: 普通模式移动光标到指定行行首
oldboy edu python
oldboy edu linux
oldboy edu mysql
~
-- VISUAL BLOCK --
//光标移动到相应位置, 输入ctrl+v进入视图模式
第二个步骤: 进入视图模式上下移动光标选中多行
#oldboy edu python
oldboy edu linux
oldboy edu mysql
~
-- VISUAL BLOCK --
//选中多行后输入shift+i,对选中首行进行编辑
第三个步骤: 首行编辑完毕后按esc退出视图模式
#oldboy edu python
#oldboy edu linux
#oldboy edu mysql
~
-- VISUAL BLOCK --
//自动其余批量选择的行也自动批量加上注释
多行删除注释信息:
第一个步骤: 普通模式移动光标到指定行行首
oldboy edu python
oldboy edu linux
oldboy edu mysql
~
-- VISUAL BLOCK --
//光标移动到相应位置, 输入ctrl+v进入视图模式
第二个步骤: 进入视图模式上下移动光标选中多行
#oldboy edu python
#oldboy edu linux
#oldboy edu mysql
~
-- VISUAL BLOCK --
//选中多行注释符号信息
第三个步骤: 江光标选中#注释信息删除
oldboy edu python
oldboy edu linux
oldboy edu mysql
~
-- VISUAL BLOCK --
//选中多行注释信息后按字母d或x,可以批量将注释删除
2.3 系统快捷操作方式说明
Linux系统中一些常用的快捷方式,可以有效提升操作效率,在某些时候也可以尽量避免操作手误带来的问题。建议可以初学者不断设置使用练习,从而快速掌握快捷键的操作技巧。
序号 | 快捷键 | 官方说明 | 掌握程度 |
---|---|---|---|
最有用快捷键 | |||
01 | Tab | 命令或路径等的补全键,Linux最有用快捷键 | 重点掌握 |
移动光标快捷键 | |||
02 | Ctrl+A | 光标回到命令行首 | 重点掌握 |
03 | Ctrl+E | 光标回到命令行尾 | 重点掌握 |
04 | Ctrl+F | 光标向右移动一个字符,相当于方向键右键 | |
05 | Ctrl+B | 光标向左移动一个字符,相当于方向键左键 | |
剪切、粘贴、清除快捷键 | |||
06 | Ctrl+Insert | 复制命令行内容 | 重点了解 |
07 | Shift+Insert | 粘贴命令行内容 | 重点了解 |
08 | Ctrl+K | 剪切(删除)光标处到行尾的字符 | 重点掌握 |
09 | Ctrl+U | 剪切(删除)光标处到行首的字符 | 重点掌握 |
10 | Ctrl+W | 剪切(删除)光标前的一个单词 | 重点掌握 |
11 | Ctrl+Y | 粘贴ctrl+U,crtl+k,ctrl+w删除的文本 | 重点掌握 |
12 | Ctrl+C | 中断终端正在执行的任务或者删除整行 | 重点掌握 |
13 | Ctrl+H | 删除光标所在处的前一个字符,相当于退格键 | |
重复执行命令快捷键 | |||
14 | Ctrl+D | 退出当前shell命令行 | 重点掌握 |
15 | Ctrl+R | 搜索命令行使用过的历史命令记录 | 重点掌握 |
16 | Ctrl+G | 从执行Ctrl+R的搜索历史命令模式退出 | |
17 | Esc+.(点) | 获取上一条命令的最后的部分(空格分隔) | 重点掌握 |
控制快捷键 | |||
18 | Ctrl+L | 清除屏幕上的所有内容,并在屏幕上面开始一个新行,等同clear命令 | 重点掌握 |
19 | Ctrl+S | 锁定终端,使之无法输入内容 | |
20 | Ctrl+Q | 解锁执行Ctrl+S的锁定状态 | |
21 | Ctrl+Z | 暂停执行在终端运行的任务 | 重点掌握 |
2.4 操作系统目录结构介绍
操作系统存在着大量的数据文件信息,相应文件信息会存在在系统相应目录,为了更好的管理数据信息,会将系统进行一些目录规划,不同目录中存放的资源也会不同。
2.4.1 操作系统目录结构概述
2.4.2 目录结构操作使用方法
在对目录结构进行操作管理时,可以有三种方式对目录进行操作管理
· 采用绝对路径方式进行操作管理
· 采用相对路径方式进行操作管理
· 采用设备挂载方式进行操作管理
绝对路径方式进行操作管理
表示从根路径开始,进入指定的路径中或子目录中,获取指定的数据资源信息
[root@oldboyedu ~] cd /etc/sysconfig/network-scripts/
[root@oldboyedu network-scripts] ll ifcfg-eth0
-rw-r--r--. 1 root root 356 Sep 2 16:28 ifcfg-eth0
[root@oldboyedu network-scripts] pwd
/etc/sysconfig/network-scripts
说明:采用绝对路径方式,进入到网络配置文件存储目录中,在切换目录时,可以使用从根开始。这样切换目录可以更有效的保证操作的准确度。
相对路径方式进行操作管理
表示从当前路径开始,进入指定的路径中或子目录中,获取指定的数据资源信息
#采用绝对路径方式进入到network-scripts目录中
[root@oldboyedu ~] cd /etc/sysconfig/
[root@oldboyedu sysconfig] cd /etc/sysconfig/network-scripts/
[root@oldboyedu network-scripts] pwd
/etc/sysconfig/network-scripts
#采用相对路径方式进入到network-scripts目录中
[root@oldboyedu ~] cd /etc/sysconfig/
[root@oldboyedu sysconfig] cd network-scripts/
[root@oldboyedu network-scripts] pwd
/etc/sysconfig/network-scripts
说明:采用相对路径方式,进入到网络配置文件存储目录中,在切换目录时,可以使用从当前路径开始。这样切换目录可以提高操作效率。
系统挂载方式进行操作管理
在Linux系统所有存储设备都是以设备文件呈现在系统中,但是设备文件不能直接用于存储数据信息,需要将设备文件挂载到一个空目录上才能通过进入目录中查看或存储数据。
最终会将数据保存在设备文件所对应存储设备中。
以光驱存储设备作为参考,演示挂载操作过程:
第一步骤:确认虚拟软件中已经加载镜像信息
选择虚拟主机-->设置-->确认光驱是否加载镜像,以及光驱是否加载启动
第二步骤:确认系统光驱设备文件是否存在
[root@oldboyedu ~] ll /dev/cdrom
lrwxrwxrwx. 1 root root 3 Sep 4 11:00 /dev/cdrom -> sr0
说明:可以看出cdrom设备文件只是一个软链接(快捷方式),指向的真实光驱设备文件为sr0。
第三步骤:创建挂载点目录空实现挂载操作
[root@oldboyedu ~]# mkdir /cd_dir/
[root@oldboyedu ~]# mount /dev/cdrom /cd_dir/
mount: /dev/sr0 is write-protected, mounting read-only
[root@oldboyedu ~]# ll /cd_dir/
total 678
-rw-rw-r--. 1 root root 14 May 2 2018 CentOS_BuildTag
drwxr-xr-x. 3 root root 2048 May 3 2018 EFI
-rw-rw-r--. 1 root root 227 Aug 30 2017 EULA
-rw-rw-r--. 1 root root 18009 Dec 9 2015 GPL
drwxr-xr-x. 3 root root 2048 May 3 2018 images
drwxr-xr-x. 2 root root 2048 May 3 2018 isolinux
drwxr-xr-x. 2 root root 2048 May 3 2018 LiveOS
drwxrwxr-x. 2 root root 655360 May 3 2018 Packages
drwxrwxr-x. 2 root root 4096 May 3 2018 repodata
-rw-rw-r--. 1 root root 1690 Dec 9 2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r--. 1 root root 1690 Dec 9 2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--. 1 root root 2883 May 3 2018 TRANS.TBL
说明:进入光驱挂载点目录中后,看到的数据信息即为光驱镜像中数据信息。
第四步骤:挂载操作过程结束后可以卸载光驱设备
[root@oldboyedu ~]# umount /cd_dir
[root@oldboyedu ~]# ll /cd_dir/
total 0
说明:目录被卸载之后,目录原有数据信息会消失,恢复为默认空目录
2.4.3 目录结构中重要文件数据
01. 网卡地址信息配置文件
[文件路径]
/etc/sysconfig/network-scripts/ifcfg-eth0
说明:
① 网卡文件名称最后的编号为第几块网卡信息,eth0表示第一块网卡,eth1表示第二块网卡,依次类推;
② 网卡文件名称在centos7中默认为ensxx,需要在安装系统时进行设置修改为常用的ethxx
[文件内容]
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=68080161-bbc4-4327-a3a5-61a796970a97
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.200
PREFIX=24
GATEWAY=10.0.0.254
DNS1=223.5.5.5
IPV6_PRIVACY=no
[内容详述]
网卡配置文件中重要内容配置详细说明,参加下表所示内容:
序号 | 配置信息 | 解释说明 |
---|---|---|
01 | TYPE=Ethernet | 表示设置网络通讯的类型,一般都是设置为Ethernet,即为以太网通讯类型 |
02 | BOOTPROTO=none | 表示网卡IP地址获取方式 ① 可以采用静态手工配置方式,设置为none或者static均可 ② 可以采用动态获取配置方式,设置为dhcp即可 一般企业级服务器网卡设置均为手工配置 |
03 | DEFROUTE=yes | 表示设置开启静态默认路由功能,可以实现主机可以借助网关地址访问外网 |
04 | NAME=eth0 | 表示系统识别的网卡逻辑名称信息 |
05 | DEVICE=eth0 | 表示系统识别的网卡物理设备名称信息 |
06 | ONBOOT=yes | 表示系统是否将网卡服务激活,如果想禁用某块网卡功能可以设置为no |
07 | IPADDR=10.0.0.200 | 表示网卡具体IP地址设置信息 |
08 | PREFIX=24 | 表示网络掩码地址设置信息 |
09 | GATEWAY=10.0.0.254 | 表示网络和外网进行通讯的网关地址信息 |
10 | DNS1=223.5.5.5 | 表示网络和外网域名地址进行访问时,所需DNS服务器地址信息 若未配置会导致主机无法直接访问域名信息,只能访问IP地址信息 |
[配置生效]
网卡配置文件编写完毕之后,需要重启或启动网卡服务,使配置信息可以生效
[root@oldboyedu ~]# systemctl start network
[root@oldboyedu ~]# systemctl restart network
02. 网络域名服务配置文件
[文件路径]
/etc/resolve.conf
说明:
此文件中配置信息,也会影响主机和外网域名地址信息进行通讯。
[文件内容]
# Generated by NetworkManager
search com
nameserver 223.5.5.5
nameserver 223.6.6.6
[内容详述]
域名服务配置文件内容配置详细说明,参加下表所示内容:
序号 | 配置信息 | 解释说明 |
---|---|---|
01 | nameserver | 表示指定默认使用域名服务地址信息,当出现多个表示域名服务器的备份地址信息 |
[配置生效]
域名服务配置文件内容配置之后,无须重启任何服务会立即生效。
03. 网络本地解析配置文件
[文件路径]
/etc/hosts
说明:
此文件中配置信息,主要用于测试访问指定网站服务器,以及可以利用域名地址和其他服务器建立通讯。
[文件内容]
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
地址信息 域名信息
[内容详述]
网络本地解析配置文件内容配置详细说明,参加下表所示内容:
序号 | 配置信息 | 解释说明 |
---|---|---|
01 | 10.0.0.7 www.oldboy.com | 本地指定解析,实现指定域名和指定IP地址建立对应关系 |
[配置生效]
网络本地解析配置文件内容配置之后,无须重启任何服务会立即生效。
04. 开机自动运行脚本或命令文件
[文件路径]
/etc/rc.local
说明:
此文件中配置信息,主要编写系统命令和脚本加载信息,主要用于让指定命令或脚本在系统启动后自动运行。
[文件内容]
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
系统启动后需要自动执行的命令或脚本信息
[配置生效]
[root@oldboyedu ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 Sep 2 16:17 /etc/rc.local -> rc.d/rc.local
[root@oldboyedu ~]# chmod +x /etc/rc.d/rc.local
[root@oldboyedu ~]# ll /etc/rc.d/rc.local
-rwxr-xr-x. 1 root root 473 Apr 11 2018 /etc/rc.d/rc.local
确保文件配置信息可以生效,系统启动时可以加载,需要确保rc.local文件所指向的源文件权威具有执行权限,默认未设置,需要执行chmod命令手工设置执行权限。
05. 系统运行状况日志文件
[文件路径]
/var/log/messages
说明:
此文件中产生信息,为系统或某些服务运行状态信息,会有正常运行状态输出信息,也会有错误输出信息,主要用于排查错误使用。
2.5 操作系统基础优化介绍
操作系统部署完毕后,需要做一些基础的简单优化操作,可以为系统未来的使用过程带来更多便捷。
2.5.1 操作系统安全优化配置
系统安装完毕后,默认系统中会存在两个重要的安全服务程序,建议将其首先进行关闭,否则在后续安装部署服务过程中,会影响服务的部分功能,还会影响服务运行过程中的网络通讯。所以建议首先关闭,等服务部署完毕稳定运行后,可以根据安全需要在进行配置开启。
· 系统防火墙安全服务
作用说明:主要控制一些网络流量的进入,避免系统服务遭受到外网入侵攻击。
临时关闭方式:
[root@oldboyedu ~]# systemctl stop firewalld
[root@oldboyedu ~]# systemctl is-active firewalld //确认服务是否已经关闭
unknown
[root@oldboyedu ~]# systemctl start firewalld //恢复启动服务方式
永久关闭方式:
[root@oldboyedu ~]# systemctl disable firewalld
[root@oldboyedu ~]# systemctl is-enabled firewalld //确认服务是否永久关闭
disabled
[root@oldboyedu ~]# systemctl enable firewalld //恢复永久启动服务方式
· 系统selinux安全策略
作用说明:主要用于某些时候,可以控制系统root用户的管理控制能力,限制root用户的操作功能。
临时关闭方式:
[root@oldboyedu ~]# setenforce 0
[root@oldboyedu ~]# getenforce //确认服务是否已经关闭
Permissive
永久关闭方式:
[root@oldboyedu ~]# sed -i '/enforcing$/s#enforcing#disabled#g' /etc/selinux/config
[root@oldboyedu ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
2.5.2 操作系统下载软件优化
Linux系统运行过程中,如果需要安装部署新的软件程序,一般会借助yum命令进行,但是有时下载一些软件包程序时,会需要连接国外网站进行下载,会受到网络通讯的制约。因此可以对yum下载源进行优化,默认采用从国内下载源进行下载:
优化下载源命令操作为:
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo //优化基础软件下载源
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo //优化扩展软件下载源
以上操作参考说明:
https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11RhADpQ
https://developer.aliyun.com/mirror/epel?spm=a2c6h.13651102.0.0.3e221b11RhADpQ
下载源优化完毕后,可以下载系统常用软件进行测试:
[root@oldboyedu ~]# yum install -y vim lrzsz net-tools telnet wget tree sl bash-completion
2.5.3 操作系统时间信息优化
操作系统的时间信息需要尽量和当前所在时区时间保持统一,当一个网站架构环境中,服务器时间信息如果不能统一时,会造成日志文件记录时间信息出现混乱,严重时会导致服务之间网络通讯出现中断。
时间信息优化方式:
第一步骤:调整系统时区信息
[root@oldboyedu ~]# timedatectl set-timezone Asia/Shanghai
[root@oldboyedu ~]# timedatectl status //查看系统时间与时区信息
Local time: Mon 2020-09-07 10:10:14 CST
Universal time: Sun 2020-09-06 18:10:14 UTC
RTC time: Sun 2020-09-06 18:10:14
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
第二步骤:下载安装系统时间同步服务程序
[root@oldboyedu ~]# yum install -y chrony
[root@oldboyedu ~]# systemctl start chronyd
[root@oldboyedu ~]# systemctl enable chronyd
第三步骤:开启系统自动同步功能
[root@oldboyedu ~]# timedatectl set-ntp 1
[root@oldboyedu ~]# timedatectl status
Local time: Mon 2020-09-07 02:14:08 CST
Universal time: Sun 2020-09-06 18:14:08 UTC
RTC time: Sun 2020-09-06 18:14:08
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
2.5.4 操作系统远程连接效率提升
系统安装完毕后,进入远程连接系统时,有时会出现连接上之后,会有几秒钟的延迟才能操作系统情况,可以对远程连接服务做一定优化,解决此类问题
远程连接优化方式:
第一步骤:调整远程连接配置文件
sed -i '79s#yes#no#g' /etc/ssh/sshd_config
sed -i '115s@#UseDNS yes@UseDNS no@g' /etc/ssh/sshd_config
[root@oldboyedu ~]# grep -E "GSSAPIAuthentication|UseDNS" /etc/ssh/sshd_config //筛选过滤指定信息是否已经修改
GSSAPIAuthentication no
UseDNS no
第二步骤:重启远程服务程序加载配置
[root@oldboyedu ~]# systemctl restart sshd
说明:重启完毕之后,可以利用xshell远程连接进行测试,确认远程连接效率是否有改善。