Linux應知應會(一)

1、Linux入門概述

1.1 概述

Linux內核最初由芬蘭人Linus Torvalds在赫爾辛基大學就讀時處於我的愛好編寫的。linux

Linux是一套無償使用且自由傳播的類Unix操做系統,是一個基於POSIX和Unix的多用戶、多任務、支持多線程和多CPU的操做系統。Linux能運行主要的Unix工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡爲核心的設計思想,是一個性能穩定的多用戶網絡操做系統。shell

而目前市面上較爲知名的發行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SUSE、OpenSUSE。數據庫

1.2 下載地址

CentOS下載地址:編程

網易鏡像:http://mirrors.163.com/centos/8/isos/vim

搜狐鏡像:http://mirrors.sohu.com/centos/8/isos/windows

1.3 Linux的特色

在Linux系統中,一切皆是文件,沒有後綴名的這一說法。centos

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大部分軟件均可以自由獲取,一樣功能的軟件選擇較少。

2、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:存放着不斷擴充的東西,咱們習慣將那些常常被修改的目錄放在該目錄下,包括各類日誌文件

3、VI、VIM編輯器

3.1 概述

全部的Unix Like系統都會內建vi文書編輯器,其餘的文書編輯器則不必定會存在。可是目前咱們使用比較多的是vim編輯器。服務器

Vim具備程序編輯的能力,能夠主動的以字體顏色辨別語法的正確性,方便程序設計。Vim是從VI發展出來的一個文本編輯器,代碼補完、編譯及錯誤 跳轉等方便編程的功能特別豐富,被普遍使用。網絡

具體來講,VI是老師的字處理器,不過功能已經齊全,可是能夠改進;VIM則能夠說是程序開發者的一項很好用的工具。

3.2 通常模式

以VI打開一個檔案就直接進入通常模式了,也是默認模式。在這個模式中,你可使用【上下左右】按鍵來移動光標,可使用【刪除字符】或【刪除整行】來處理檔案內容,也可使用【複製】【粘貼】來處理文件數據。

經常使用語法

  1. 【yy】:複製光標單籤一行
  2. 【y數字Ny】:複製一段(光標後N行)
  3. 【p】:箭頭移動到目的行粘貼
  4. 【u】:撤銷上一步
  5. 【dd】:刪除光標當前行
  6. 【d數字Nd】:刪除光標後N行
  7. 【x】:刪除一個字母,至關於del
  8. 【X】:刪除一個字母,至關於backspace
  9. 【yw】:複製一個詞
  10. 【dw】:刪除一個詞
  11. 【shift+^】:移動到行頭
  12. 【shift+$】:移動到行尾
  13. 【1+shift+g】:移動到頁頭,數字
  14. 【shift+g】:移動到頁尾
  15. 【數字N+shift+g】:移動到目標行

3.3 編輯模式

在通常模式中能夠進行刪除、複製、粘貼等動做,可是卻沒法編輯文件內容。要等按下【i,I,o,O,a,A,r,R】任何一個字母以後纔會進入編輯模式。

在Linux中,按下這些按鍵時,會在畫面的左下方出現【INSERT】或【REPLACE】字樣,此時表明進入編輯模式,能夠進行編輯,若是要回到通常模式時,必須按下【Esc】退出編輯模式。

經常使用語法

  1. 【i】:進入編輯模式,當前光標前
  2. 【a】:進入編輯模式,當前光標後
  3. 【o】:進入編輯模式,當前光標行的下一行
  4. 【Esc】:退出編輯模式

3.4 指令模式

在通常模式中,輸入【:】【/】【?】中的任何一個按鈕,就能夠將光標移動到最底下那一行。

在這個模式中,能夠提供搜尋資料的動做,而讀取、存盤、大量取代字符、離開vi、顯示行號等動做都是在此模式中達成。

經常使用語法

  1. 【:】:選項
  2. 【w】:保存
  3. 【q】:退出
  4. 【!】:強制執行
  5. 【/被查找詞】:n是查找下一個,shift+n是往上查找
  6. 【?被查找詞】:n是查找上一個,shift+n是往下查找
  7. 【:wq!】:強制保存退出

4、網絡與防火牆

4.1 查看、修改IP、網關、DNS

1、臨時修改IP地址、網關

  1. 修改IP:命令行輸入 network eth0 192.168.1.100 netmask 255.255.255.0
  2. 修改網關:命令行輸入 route add default gw 192.168.1.1
  3. 刪除網關:命令行輸入 route del dafault gw 192.168.1.1

注意:在命令行中的操做待用戶退出後會失效,如要永久生效,則須要修改配置文件

2、永久修改IP地址、網關、DNS

  1.  在命令行輸入setup,在彈出的窗口中手動配置IP、網關、DNS便可
  2. 修改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

3、查看IP、網關、DNS

命令行中輸入ifconfig能夠查看IP

命令行中輸入route -n ,IP地址爲0.0.0.0後的gateway即爲默認網關

4、IP等信息修改完成後須要執行service network restart重啓生效

4.2 防火牆

1、基本語法

  1. 【service iptables statas】:查看防火牆狀態
  2. 【chkconfig iptables -list】:查看防火牆開機啓動狀態
  3. 【service iptables stop】:臨時關閉防火牆
  4. 【chkconfig iptables off】:關閉防火牆開機啓動
  5. 【chkconfig iptables on】:開啓防火牆開機啓動

2、擴展

Linux系統有7個運行級別(runlevel),分別是:

  1. 運行級別0:系統停機狀態,系統默認運行級別不能設爲0,不然不能正常啓動
  2. 運行級別1:單用戶工做狀態,root權限,用戶系統維護,進制遠程登錄
  3. 運行級別2:多用戶狀態(沒有NFS)
  4. 運行界別3:徹底的多用戶狀態(有NFS),登錄後進入控制檯命令行模式
  5. 運行級別4:系統未使用,保留
  6. 運行級別5:X11控制檯,登陸後進入圖形GUI模式
  7. 運行級別6:系統正常關閉並重啓,默認運行級別不能設爲6,不然不能正常啓動

4.3 關機重啓

Linux大多用於服務器,不多遇到關機的操做。畢竟服務器上跑一個服務是永無止境的,除非特殊狀況下,不得已纔會關機。正確的關機流程爲:sync ->shutdown ->reboot -> halt。

1、基本語法

  • 【sync】:將數據有內存同步到硬盤中
  • 【shutdown [選項][時間]】,選項:-h:關機,-r:重啓
  • 【halt】:關閉系統,等同於shutdown -h now 和 poweroff
  • 【reboot】:重啓,等同於shutdown -r now

2、示例

  1. 10分鐘後關機:shutdown -h 10
  2. 當即重啓:shutdown -r now或者reboot
  3. 關機:halt

5、經常使用基本命令

5.1 幫助命令

5.1.1 man得到幫助信息

基本語法

man 【命令或配置文件】:得到幫助信息

  1. 顯示說明
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  

相關文章
相關標籤/搜索