開發運維基礎課程-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遠程連接進行測試,確認遠程連接效率是否有改善。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM