一.什麼是Linux
Linux作業系統是一套免費使用和自由傳播的類UNIX作業系統,其核心由林納斯·本納第克特·托瓦茲于1991年第一次釋出,它主要受到Minix和Unix思想的啟發,是一個基于POSIX和Unix的多使用者、多任務、支援多線程和多CPU的作業系統。它能運作主要的Unix工具軟體、應用程式和網絡協定。它支援32位和64位硬體。Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多使用者網絡作業系統。Linux有上百種不同的發行版,如基于社群開發的debian、archlinux,和基于商業開發的Red Hat Enterprise Linux、SUSE、oracle linux等。
Linux的基本思想有兩點:第一,一切都是檔案;第二,每個檔案都有确定的用途。其中第一條詳細來講就是系統中的所有都歸結為一個檔案,包括指令、硬體和軟體裝置、作業系統、程序等等對于作業系統核心而言,都被視為擁有各自特性或類型的檔案。至于說Linux是基于Unix的,很大程度上也是因為這兩者的基本思想十分相近。
linux是指Linux核心(kernel),系統核心程式,相當人的大腦,負責系統程式和硬體配置設定及排程;作業系統是一個用來和硬體打交道并為使用者程式提供一個有限服務集的低級支撐軟體。一個計算機系統是一個硬體和軟體的共生體,它們互相依賴,不可分割。計算機的硬體,含有外圍裝置、處理器、記憶體、硬碟和其他的電子裝置組成計算機的發動機。但是沒有軟體來操作和控制它,自身是不能工作的。完成這個控制工作的軟體就稱為作業系統,在Linux的術語中被稱為“核心”,也可以稱為“核心”。
Linux核心的主要子產品(或元件)分以下幾個部分:存儲管理、CPU和程序管理、檔案系統、裝置管理和驅動、網絡通信,以及系統的初始化(引導)、系統調用等。
計算機的組成部分:電腦(CPU).寄存器(記憶體ram).控制器 輸入裝置(鍵盤滑鼠硬碟).輸出裝置(顯示器硬碟)
記憶體越大,CPU處理越快.将硬碟中的内容先緩存到記憶體中,再由cpu處理.
二.什麼是shell
shell:解釋器
1.對外提供操作和系統溝通接口 2.對内實作對核心進行保護 3.rhel8中預設使用的shell是bash
(1)shell的含義: 首先shell的英文含義是“殼”; 它是相對于核心來說的,因為它是建立在核心的基礎上,面向于使用者的一種表現形式,比如我們看到一個球,見到的是它的殼,而非核。 Linux中的shell,是指一個面向使用者的指令接口,表現形式就是一個可以由使用者錄入的界面,這個界面也可以回報運作資訊;
(2)shell在Linux中的存在形式: 由于Linux不同于Windows,Linux是核心與界面分離的,它可以脫離圖形界面而單獨運作,同樣也可以在核心的基礎上運作圖形化的桌面。 這樣,在Linux系統中,就出現了兩種shell表現形式,一種是在無圖形界面下的終端運作環境下的shell,另一種是桌面上運作的類似Windows 的MS-DOS運作視窗,前者我們一般習慣性地簡稱為終端,後者一般直接稱為shell ;
(3)shell如何執行使用者的指令 shell有兩種執行指令的方式,第一種方法是使用者事先編寫一個sh腳本檔案,内含shell腳本,而後使用shell程式執行該腳本,這種方式,我們習慣稱為shell程式設計。 第二種形式,則是使用者直接在shell界面上執行shell指令,由于shell界面的關系,大家都習慣一行行的書寫,很少寫出成套的程式來一起執行,是以也稱指令行。
三.shell行提示符的含義
shell類型:常見的Shell 有 sh、bash、csh、tcsh、ash 等。rhel8中預設使用的shell為bash,bash=GNU Bourne-Again Shell ,bash 由 GNU 組織開發,保持了對 sh shell 的相容性,是各種 Linux 發行版預設配置的 shell
(一)shell打開方式
1.右鍵打開
2.Application---->favorites---->terminal
3.gnome-terminal
(二)shell指令行提示符
[[email protected] Desktop]#
[1][2] [3] [4] [5]
[1]:運作shell的使用者
[2]:分割符
[3]:系統主機短名稱目前主機去掉域名部分的短名稱
[4]:目前目錄名稱
[5]:身份提示符 #表示目前使用者為超級使用者,$目前使用者為普通使用者
四.shell中的快捷鍵
(一).shell中的快捷鍵使用
ctrl>+<shift>+<T> | 一個terminal中開啟多個視窗 |
<ctrl>+<shift>+<N> | 重新打開一個terminal |
<ctrl>+<c> | 取消指令執行 |
<ctrl>+<d> | 關閉shell |
<ctrl>+<shift>+<滑鼠選中>+<c> | 複制選中字元 或(滑鼠選中為複制) |
<ctrl>+<shift>+<v> | 粘貼 或(滑鼠滾輪下按為粘貼) |
ctrl +a | 指令行光标移至首位 |
ctrl+e | 指令行光标移至尾位 |
ctrl+u | 删除光标前面内容 |
ctrl+k | 删除光标後面内容 |
自定義開啟shell的方式
(二).shell中如何執行指令
1.指令執行格式
指令 參數 對象
指令就是程式,參數表示指令的特殊功能,對象就是操作目标
2.指令執行的方法
有些指令可以單獨執行,參數可以加多個
-a -b -c = -abc = -cba = -acb
-s = --size -s 表示單詞的縮寫 --size 單詞的全拼
指令必須在行提示符之後輸入,否則指令無法執行;當指令行被占用通常使用<ctrl>+<c>結束占用指令行的程式來釋放指令行
五.指令行獲得幫助
(一).whatis rm 檢視指令的基本用途
檢視過程中出現rm: nothing appropriate.
1.表示要檢視内容沒有幫助
2.系統幫助資料未更新用mandb指令更新
(二).rm --help 檢視指令的基本用法
[] | 内容可加可不加 |
... | 内容個數任意 |
<> | 必須在指令執行時加入的元素 |
(三).man date 指令用法詳解 man是manual的縮寫
man -k passwd passwd關鍵字有多少級别的man
man的級别
1 | 指令 |
2 | 系統調用 |
3 | 函數庫調用 |
4 | 特殊檔案(裝置檔案等) |
5 | 檔案 |
6 | 遊戲 |
7 | 特殊的包 |
8 | 系統管理指令 |
9 | 核心資訊規則 |
(四).man rm 進入到rm指令的幫助
q | 退出 |
關鍵字 | 搜尋關鍵字,n 向下比對, N 向上比對 |
G | 快速移動到man的最後 |
g | 表示快速移動到man的最前 |
六.Linux指令行曆史調用
(一).我們目前使用的shell可以記錄系統中執行過的曆史指令
history 檢視曆史指令
history -c 清空目前曆史指令 (永久清空曆史需要清空檔案.bash_history)
(二).曆史指令的調用
上鍵|下鍵 | 逐行調用 |
!數字 | 調用指定行曆史 |
!字元 | 調用以此字元開頭的最近曆史 |
<ctrl>+<R> | 開啟曆史搜尋模式,指令行顯示會變為:(reverse-i-search)`':輸入關鍵字,會顯示含有此關鍵字的最近一條曆史 |
七.<TAB>
補齊系統中存在的指令,檔案,和某些指令的參數,當按一次tab沒有效果,表示以此字元開頭的資訊不唯一可連續按2次,那麼會把以此字元開頭的所有内容顯示.如果第2次仍然不顯示表示沒有以此字元開頭的指令