一、Linux入門概述
1.1 概述
Linux內核最初由芬蘭人Linus Torvalds在赫爾辛基大學就讀時處于個人愛好撰寫的,
Linux是一套免費使用且自由傳播的類Unix作業系統,是一個基于POSIX和Unix的多用戶、多任務、支持多執行緒和多CPU的作業系統,Linux能運行主要的Unix工具軟體、應用程式和網路協議,它支持32位和64位硬體,Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路作業系統,
而目前市面上較為知名的發行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SUSE、OpenSUSE,
1.2 下載地址
CentOS下載地址:
網易鏡像:http://mirrors.163.com/centos/8/isos/
搜狐鏡像:http://mirrors.sohu.com/centos/8/isos/
1.3 Linux的特點
在Linux系統中,一切皆是檔案,沒有后綴名的這一說法,
1.4 Linux和Windows的區別
目前國內Linux更多應用于服務器上,而桌面作業系統(個人PC以及辦公電腦)更多使用的是Windows,不過也有少數人選擇Deepin(國產Linux桌面作業系統),Linux和Windows的主要區別有:
- 在界面上,windows的界面統一,外殼程式固定所有Windows程式選單幾乎一致,快捷鍵也幾乎相同;而Linux使用圓形界面風格,且不同的發布版本也會有不同的改變,可能互不兼容,GNU/Linux的終端機是從Unix傳承下來,基本命令和操作方法也幾乎一致,
- 在驅動程式上,Windows的驅動程式豐富,版本更新頻繁,默認安裝程式里面一般包含該版本發布時流行的硬體驅動程式,之后所出的新硬體驅動依賴于硬體廠商提供,對于一些老硬體,如果沒有了原配的驅動有時候很難支持,另外有時硬體廠商未提供所需版本的Windows下的驅動,會比較難搞;而Linux的驅動程式由志愿者開發,由核心開發小組發布,很多硬體廠商基于版本考慮并未提供驅動程式,盡管多數無需手動安裝,但是涉及安裝則相對復雜,是的新用戶面對驅動程式問題會一籌莫展,但是在開源開發模式下,許多老硬體盡管在Windows下很難支持的也容易趙鐸驅動,HP、Intel和AMD等硬體廠商逐步不同程式支持開源驅動,問題正在得到緩解,
- 在使用方面,Windows的使用更加簡單卻容易入門,圓形化界面對沒有計算機背景知識的用戶使用十分有利;而Linux的文字界面(即命令列界面)需要學習才能掌握,相對較難入門,
- 在學習方面,Windows系統構造復雜、變化頻繁,且知識、技能淘汰快,深入學習較難;而Linux系統構造簡單、穩定,且知識、技能傳承性好,深入學習相對容易,
- 在軟體方面,Windows每一種特定功能可能都需要商業軟體的支持,需要購買相應的授權;而Linux大部分軟體都可以自由獲取,同樣功能的軟體選擇較少,
二、Linux目錄結構
2.1 概覽

2.2 目錄結構及作用
- /bin:是Binary的縮寫,該目錄下存放著系統必備的執行命令,例如:cd、ls、cat...
- /boot:這里存放的是啟動Linux時使用的一些核心檔案,包括一些連接檔案和鏡像檔案,類似于Windows下的system目錄
- /dev:Device的縮寫,該目錄下存放的是Linux的外部設備,在Linux中訪問設備的方式和訪問檔案的方式是相同的
- /etc:所有的系統管理所需要的組態檔和子目錄
- /home:存放普通用戶的主目錄,在Linux中每個yoghurt都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的
- /lib:系統開機所需要最基本的動態鏈接共享庫,其作用類似于Windows里的dll檔案,幾乎所有的應用程式都需要用到這些共享庫
- /lost+found:這個目錄一般情況下是空的,當系統非法關機后,這里就會產生會自動洗掉的碎片檔案
- /media:linux系統會自動識別一些設備,例如U盤、光驅等,當識別后,Linux會把識別的設備掛載到這個目錄下
- /mnt:系統提供該目錄是為了讓用戶臨時掛載別的檔案系統的,我們可以將光驅掛載在/mnt/上,然后進入該目錄就可以查看光驅里面的檔案了
- /net:存放著和網路相關的一些檔案
- /opt:這是給主機額外安裝軟體所擺放的目錄,比如要安裝一個Oracle資料庫就可以放在這個目錄下,默認是空的
- /proc:該目錄是一個虛擬的目錄,是系統記憶體的映射,可以通過直接訪問這個目錄來獲取系統資訊
- /root:該目錄為系統管理員,也稱作超級權限者的用戶主目錄
- /sbin:s就是Super User的意思,這里存放的是系統管理員使用的系統管理程式
- /selinux:這個目錄是Redhat和CentOS特有的目錄,Selinux是一個安全機制,類似于windows的防火墻
- /srv:service的縮寫,該目錄存放一些服務啟動之后需要提取的資料
- /sys:存放著與Linux系統相關的檔案
- /tmp:用來存放臨時檔案
- /usr:存放用戶的很多應用程式和檔案,類似于windows的program files目錄
- /var:存放著不斷擴充的東西,我們習慣將那些經常被修改的目錄放在該目錄下,包括各種日志檔案
三、VI、VIM編輯器
3.1 概述
所有的Unix Like系統都會內建vi文書編輯器,其他的文書編輯器則不一定會存在,但是目前我們使用比較多的是vim編輯器,
Vim具有程式編輯的能力,可以主動的以字體顏色辨別語法的正確性,方便程式設計,Vim是從VI發展出來的一個文本編輯器,代碼補完、編譯及錯誤 跳轉等方便編程的功能特別豐富,被廣泛使用,
具體來說,VI是老師的字處理器,不過功能已經齊全,但是可以改進;VIM則可以說是程式開發者的一項很好用的工具,
3.2 一般模式
以VI打開一個檔案就直接進入一般模式了,也是默認模式,在這個模式中,你可以使用【上下左右】按鍵來移動游標,可以使用【洗掉字符】或【洗掉整行】來處理檔案內容,也可以使用【復制】【粘貼】來處理檔案資料,
常用語法
- 【yy】:復制游標單簽一行
- 【y數字Ny】:復制一段(游標后N行)
- 【p】:箭頭移動到目的行粘貼
- 【u】:撤銷上一步
- 【dd】:洗掉游標當前行
- 【d數字Nd】:洗掉游標后N行
- 【x】:洗掉一個字母,相當于del
- 【X】:洗掉一個字母,相當于backspace
- 【yw】:復制一個詞
- 【dw】:洗掉一個詞
- 【shift+^】:移動到行頭
- 【shift+$】:移動到行尾
- 【1+shift+g】:移動到頁頭,數字
- 【shift+g】:移動到頁尾
- 【數字N+shift+g】:移動到目標行
3.3 編輯模式
在一般模式中可以進行洗掉、復制、粘貼等動作,但是卻無法編輯檔案內容,要等按下【i,I,o,O,a,A,r,R】任何一個字母之后才會進入編輯模式,
在Linux中,按下這些按鍵時,會在畫面的左下方出現【INSERT】或【REPLACE】字樣,此時代表進入編輯模式,可以進行編輯,如果要回到一般模式時,必須按下【Esc】退出編輯模式,
常用語法
- 【i】:進入編輯模式,當前游標前
- 【a】:進入編輯模式,當前游標后
- 【o】:進入編輯模式,當前游標行的下一行
- 【Esc】:退出編輯模式
3.4 指令模式
在一般模式中,輸入【:】【/】【?】中的任何一個按鈕,就可以將游標移動到最底下那一行,
在這個模式中,可以提供搜尋資料的動作,而讀取、存盤、大量取代字符、離開vi、顯示行號等動作都是在此模式中達成,
常用語法
- 【:】:選項
- 【w】:保存
- 【q】:退出
- 【!】:強制執行
- 【/被查找詞】:n是查找下一個,shift+n是往上查找
- 【?被查找詞】:n是查找上一個,shift+n是往下查找
- 【:wq!】:強制保存退出
四、網路與防火墻
4.1 查看、修改IP、網關、DNS
一、臨時修改IP地址、網關
- 修改IP:命令列輸入 network eth0 192.168.1.100 netmask 255.255.255.0
- 修改網關:命令列輸入 route add default gw 192.168.1.1
- 洗掉網關:命令列輸入 route del dafault gw 192.168.1.1
注意:在命令列中的操作待用戶退出后會失效,如要永久生效,則需要修改組態檔
二、永久修改IP地址、網關、DNS
- 在命令列輸入setup,在彈出的視窗中手動配置IP、網關、DNS即可
- 修改IP地址和網關:
命令列輸入:vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE = eth0 //etho標識網卡的標識
IPADDR =192.138.1.100 //標識網卡的IP
GATWAY = 192.168.1.1 //標識網關
NETMASK = 255.255.255.0 //標識子網掩碼
HWADDR = 11:22:***:33 //標識Mac地址
ONBOOT = yes/no //啟動時是否激活該網卡
3. 修改DNS:在命令列輸入 vim /etc/resolv.conf,手動輸入:nameserver 123.125.81.6
三、查看IP、網關、DNS
命令列中輸入ifconfig可以查看IP
命令列中輸入route -n ,IP地址為0.0.0.0后的gateway即為默認網關
四、IP等資訊修改完成后需要執行service network restart重啟生效
4.2 防火墻
一、基本語法
- 【service iptables statas】:查看防火墻狀態
- 【chkconfig iptables -list】:查看防火墻開機啟動狀態
- 【service iptables stop】:臨時關閉防火墻
- 【chkconfig iptables off】:關閉防火墻開機啟動
- 【chkconfig iptables on】:開啟防火墻開機啟動
二、擴展
Linux系統有7個運行級別(runlevel),分別是:
- 運行級別0:系統停機狀態,系統默認運行級別不能設為0,否則不能正常啟動
- 運行級別1:單用戶作業狀態,root權限,用戶系統維護,進制遠程登陸
- 運行級別2:多用戶狀態(沒有NFS)
- 運行界別3:完全的多用戶狀態(有NFS),登陸后進入控制臺命令列模式
- 運行級別4:系統未使用,保留
- 運行級別5:X11控制臺,登錄后進入圖形GUI模式
- 運行級別6:系統正常關閉并重啟,默認運行級別不能設為6,否則不能正常啟動
4.3 關機重啟
Linux大多用于服務器,很少遇到關機的操作,畢竟服務器上跑一個服務是永無止境的,除非特殊情況下,不得已才會關機,正確的關機流程為:sync ->shutdown ->reboot -> halt,
一、基本語法
- 【sync】:將資料有記憶體同步到硬碟中
- 【shutdown [選項][時間]】,選項:-h:關機,-r:重啟
- 【halt】:關閉系統,等同于shutdown -h now 和 poweroff
- 【reboot】:重啟,等同于shutdown -r now
二、示例
- 10分鐘后關機:shutdown -h 10
- 立即重啟:shutdown -r now或者reboot
- 關機:halt
五、常用基本命令
5.1 幫助命令
5.1.1 man獲得幫助資訊
基本語法
man 【命令或組態檔】:獲得幫助資訊


- 顯示說明
| NAME | 命令的名稱和單行描述 |
| SYNOPSIS | 怎樣使用命令 |
| DESCRIPTION | 命令功能的深入討論 |
| EXAMPLES | 示例 |
| SEE ALSO | 相關主題 |
2. 數字說明(命令之后括號中的數字)
| 1 | 用戶在shell環境中可以操作的命令或是可執行的檔案 |
| 2 | 系統內核(Kernel)可以呼叫的函式 |
| 3 | 常用的函式或函式庫 |
| 4 | 設備組態檔 |
| 5 | 組態檔的格式 |
| 6 | 游戲相關 |
| 7 | linux網路協議和檔案系統 |
| 8 | 系統管理員可以用的命令 |
| 9 | 和內核有關系的檔案 |
5.1.2 help獲得shell內置命令的幫助資訊
基本語法
help 【命令】:獲得shell內置命令的幫助資訊

5.1.3 常用快捷鍵
| Ctrl+C | 停止行程 |
| Ctrl+L | 清屏 |
| Ctrl+Q | 退出 |
| Ctrl+ALT | 虛擬機中linux和window切換 |
| TAB | 命令、目錄補全 |
| 上下鍵 | 查找執行過的命令 |
5.2 檔案目錄類命令
5.2.1 pwd顯示當前作業目錄的絕對路徑
基本語法
【pwd】:顯示當前作業目錄的絕對路徑

5.2.2 ls 列出目錄的內容
基本語法
ls【選項】【目錄或是檔案】
選項:
-a :全部的檔案,連同隱藏檔案一起列出來
-l :長資料串列出,包含檔案的屬性與權限等,每行列出的基本資訊依次為:檔案型別與權限、鏈接數、檔案屬主、檔案屬組、檔案大小(用byte表示)、建立或最近修改的時間、名字,

5.2.3 mkdir創建一個新的目錄
基本語法
mkdir 【-p】目錄名稱
選項:-p:創建多層目錄

5.2.4 rmdir 洗掉一個空的目錄
基本語法
rmdir 【目錄名稱】

5.2.5 touch創建空檔案
基本語法
touch 【檔案名稱】

5.2.6 cd切換目錄
基本語法
| cd 絕對路徑 | 進入指定目錄 |
| cd 相對路徑 | 進入指定目錄 |
| cd~或cd | 進入home家目錄 |
| cd - | 回到上一次所在目錄 |
| cd .. | 回到當前目錄的上一級目錄 |
| cd -P | 跳轉到實際物理路徑,而非快捷方式路徑 |

5.2.7 cp復制檔案或目錄
基本語法
- cp 【source】【dest】:復制source檔案到dest
- cp -r【sourceFolder】 【targetFolder】:遞回復制整個檔案夾

5.2.8 rm 移除檔案或目錄
基本語法
| rm 【檔案名】 | 洗掉檔案 |
| rm -r 【目錄名】 | 遞回洗掉目錄 |
| rm -rf【目錄名】 | 強制遞回洗掉目錄 |
| rm -rf * | 刪庫跑路必備 |


5.2.9 mv移動檔案與目錄或重命名
基本語法
- mv 【oldNameFolder】【newNameFolder】:重命名
- mv 【movefile】 【targetFolder】:移動檔案

5.2.10 cat查看檔案內容
查看檔案內容,從第一行開始顯示,
基本語法
cat 【選項】【檔案名】
選項:
| -A | 相當于-vET的整合,可列出一些特殊字符而不是空白 |
| -b | 列出行號,僅針對非空白行做行號顯示,空白行不標行號 |
| -E | 將結尾的斷行位元組$顯示出來 |
| -n | 列出行號,連同空白行也會有行號 |
| -T | 將【TAB】按鍵以^I顯示出來 |
| -v | 列出一些看不出來的特殊字符 |

5.2.11 tac查看檔案內容
查看檔案內容,從最后一行開始顯示,可以看出tac是cat的反寫,
基本語法
tac 【選項引數】【檔案名】

5.2.12 more查看檔案內容
查看檔案內容,一頁一頁的顯示,
基本語法
more 【檔案名】
| Space空格鍵 | 向下翻一頁 |
| Enter回車鍵 | 向下翻一行 |
| q | 立刻離開more,不再顯示內容 |
| Ctrl+F | 向下滾動一屏 |
| Ctrl+B | 回傳上一屏 |
| = | 輸出當前行的行號 |
| :f | 輸出檔案名和當前行的行號 |

5.2.13 less查看檔案內容
less的作用于more十分相似,都可以用來瀏覽文字檔案的內容,不同的是less允許使用【pageUp】和【pageDown】來回滾動,
基本語法
less 【檔案名】
| Space空格鍵 | 向下翻動一頁 |
| pageDown | 向下翻動一頁 |
| pageUp | 向上翻動一頁 |
| /【字串】 | 向下搜尋【字串】,n:向下查找,N:向上查找 |
| ?【字串】 | 向上搜尋【字串】,n:向上查找,N:向下查找 |
| q | 離開less程式 |

5.2.14 head查看檔案內容
查看檔案內容,只看前幾行,
基本語法
head -n 【數字M】【檔案名】:查看檔案的前M行內容,

5.2.15 tail查看檔案內容
查看檔案內容,只看后幾行,
基本語法
- tail -n 【數字M】【檔案名】:查看檔案后M行內容,
- tail -f 【檔案名】:實時追蹤該檔案的所有更新,

5.2.16 重定向命令
基本語法
- ls -l >檔案名:串列的內容寫入檔案中(覆寫寫)
- ls -al >>檔案名:串列的內容追加到檔案的末尾

5.1.17 echo命令
基本語法
- echo【要顯示的內容】>>【檔案名】:將要顯示的內容存盤到檔案中
- echo 【變數】:顯示變數的值

5.2.18 In軟鏈接
基本語法
In -s 【原檔案】【目標檔案】:給原檔案創建一個軟鏈接,軟鏈接存放在目標檔案目錄

5.2.19 history查看命令歷史
基本語法
【history】

==================================================================================================================================================================
2020-07-14
22:36:00
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/36170.html
標籤:Linux
上一篇:這是為什么
