【Linux基礎】寫出儘可能多的Linux命令。
阿新 • • 發佈:2019-02-09
一、考點
1、Linux常用命令
1) 系統安全
sudo // 超級使用者
su // 用於切換當前使用者身份到其他身份,變更時需輸入所要變更的使用者賬號與密碼。
chmod // 用來變更檔案或目錄的許可權
setfacl // 設定檔案訪問控制列表
2) 程序管理
w // 用於顯示已經登陸系統的使用者列表,並顯示使用者正在執行的指令。 top // 可以實時動態地檢視系統的整體執行情況,是一個綜合了多方資訊監測系統性能和執行資訊的實用工具。 ps // 用於報告當前系統的程序狀態。 kill // 用來刪除執行中的程式或工作。 pkill // 可以按照程序名殺死程序。 pstree // 以樹狀圖的方式展現程序之間的派生關係,顯示效果比較直觀。 killall // 使用程序的名稱來殺死程序,使用此指令可以殺死一組同名程序。
3) 使用者管理
id // 可以顯示真實有效的使用者ID(UID)和組ID(GID)。
usermod // 用於修改使用者的基本資訊。
useradd // 用於 Linux中建立的新的系統使用者。
groupadd // 用於建立一個新的工作組,新工作組的資訊將被新增到系統檔案中。
userdel // 使用者刪除給定的使用者,以及與使用者相關的檔案。若不加選型,則進刪除使用者賬號,而不刪除相關檔案。
4) 檔案系統
mount // 使用者載入檔案系統到指定的載入點。 umount // 用於解除安裝已經載入的檔案。 fsck // 用於檢查並且試圖修復檔案系統中的錯誤。 df // 用於顯示磁碟分割槽上的可使用的磁碟空間。 du // 對檔案和目錄磁碟使用的空間的檢視。
5) 系統關機和重啟
shutdown // 關機
reboot // 重啟
6) 網路應用
curl // 是一個利用URL規則在命令列下工作的檔案傳輸工具。
telnet // 用於登入遠端主機,對遠端主機進行管理。
mail // 命令列的電子郵件傳送和接收工具。
elinks // 能實現一個純文字介面的WWW瀏覽器,操作方式與"lynx"類似。
7) 網路測試
ping // 用於測試主機之間網路的連通性。 netstat // 用來列印Linux中網路系統的狀態資訊,可讓你得知整個Linux系統的網路情況。 host // 常用的分析域名查詢工具,可以用來測試域名系統工作是否正常。
8) 網路配置
hostname // 用於顯示和設定系統的主機名稱。
ifconfig // 被用於配置和顯示Linux核心中網路介面的網路引數。
9) 常用工具
ssh // 時openssh套件中的客戶端連線工具,可以給予ssh加密協議實現安全的遠端登入伺服器。
screen // 是一款由GNU計劃開發的用於命令列終端切換的自由軟體。
clear // 用於清除當前螢幕終端上的任何資訊。
who // 顯示當前登入系統的使用者資訊。
date // 顯示或設定系統時間與日期。
10) 軟體包管理
yum // 提供了查詢、安裝、刪除某一個、一組甚至全部軟體包的命令,而且命令簡潔而又好記。
rpm // rpm軟體包的管理工具。
apt-get // Debian Linux發行版中的APT軟體包管理工具。所有基於Debian的發行都使用這個包管理系統。deb包可以把一個應用的檔案包在一起,大體如同 Windows上的安裝檔案。
11) 檔案查詢和比較
locate // 用來查詢檔案或目錄。
find // 用來在指定目錄下查詢檔案。
12) 檔案內容檢視
head // 用於顯示檔案的開頭的內容。在預設情況下,head命令顯示檔案的頭10行內容。
tail // 用於輸入檔案中的尾部內容。tail命名預設在螢幕上顯示指定檔案的末尾10行。
more // 用來瀏覽檔案檔案的內容(只能向前瀏覽)。
less // 用來瀏覽文字檔案的內容,允許使用者向前或向後瀏覽檔案。使用該命令時,用PageUp鍵向上翻頁,用PageDown鍵向下翻頁。要退出less程式,應按Q鍵。
13) 檔案處理
unlink // 用於系統呼叫函式 unlink 去刪除指定的檔案。
rename // 用字串替換的方式批量改變檔名。
cat // 連線檔案並列印到標準輸出裝置上,cat經常用來顯示檔案的內容。
touch // 有兩個功能:一是用於把已存在檔案的時間標籤更新為系統當前的時間(預設方式),它們的資料將原封不動地保留下來;二是用來建立新的空檔案。
ln // 用來為檔案建立連線,連線型別分為硬連線和符號連線兩種,預設的連線型別是硬連線。如果要建立符號連線必須使用"-s"選項(注意:符號連結檔案不是一個獨立的檔案,它的許多屬性依賴於原始檔,所以給符號連結檔案設定存取許可權時沒有意義的)
14) 目錄操作
cd // 用來切換工作目錄至 dirname。
mv // 用來對檔案或目錄重新命名,或者將檔案從一個目錄移到另一個目錄中。
rm // 可以刪除一個目錄中的一個或多個檔案或目錄,也可以將某個目錄及其下屬的所有檔案及其子目錄均刪除掉。
pwd // 以絕對路徑的方式顯示使用者當前工作目錄。
tree // 以樹狀圖列出目錄的內容。
cp // 用來將一個或過個原始檔或者目錄複製到指定的目的檔案或目錄。
ls // 用來顯示目錄列表,在 Linux中是使用率較高的命令。ls命令的輸出資訊可以進行彩色加亮顯示,以區分不同型別的檔案。
15) 檔案許可權屬性
setfacl // 用來變更檔案或目錄的許可權。
chmod // 設定檔案訪問控制列表。
chgrp // 用來改變檔案或目錄所屬的使用者組。
chown // 改變某個檔案或目錄的所有者和所屬的組,該命令可以向某個使用者授權,使該使用者變成指定檔案的所有者。或者改變所屬的組。(使用者可以是使用者或者是使用者ID,使用者組可以是組名或組ID。檔案可以是由空格分開的檔案列表,在檔名中可以包含萬用字元)【只有檔案主和超級使用者才可以使用該命令】
16) 檔案傳輸
ftp // 用來設定檔案系統相關功能。
scp // 用於在Linux下遠端拷貝檔案的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨伺服器,而且scp傳輸是加密的。可能會稍微影響一下速度。當你伺服器硬碟變為只讀 read only system 時,用 scp 可以幫你把檔案移出來。另外,scp還非常節省資源,不會提高多少系統負荷,在這一點上,rsync就遠遠不及它了。雖然 rsync 比 scp 會快一點,但當小檔案眾多的情況下,rsync 會導致硬碟 I/O 非常高,而 scp 基本不影響系統正常使用。
2、Linux系統定時任務
1) crontab 命令
contab -e // 建立定時任務
* * * * * 命令 // 分、時、日、月、周(每過多長時間去執行,根據我們所設定的分、時、日、月、周)
2) at 命令
# at 2:00 tomorrow // 在明天的兩點去執行
at>/home/Jason/do_job // 執行結果是這種格式的
at>Ctrl + D // 退出
總體意思,明天兩點執行 do_job,最終退出
注:at 命令 是一次性執行,不是迴圈執行,也不是週期性執行。
3、延伸
1) vi/vim 編輯器
① 模式
- 一般模式、編輯模式和命令列模式;
- 一般模式:刪除、複製和貼上
- 切換 編輯模式:
i
、I
、a
、A
、o
、O
、r
、R
- 切換 命令列模式:
:
、/
、?
- 【:w】:儲存檔案
- 【:w!】:若檔案為只讀,強制儲存檔案
- 【:q】:退出 vi
- 【:q!】:不儲存,強制退出 vi
- 【:wq】:儲存並退出
- 【:wq!】:強制儲存,並退出
- 【:set nu】:顯示行號
- 【:set nonu】:取消顯示行號
- 切換 編輯模式:
Esc
:退出 編輯模式,回到 一般模式
② 移動游標
- 【Ctrl + F】 :到下一頁
- 【Ctrl + B】 :到上一頁
- 【[0] 或者功能鍵 [Home]】:游標移動到當前行的最前面
- 【[$] 或者功能鍵 [End]】:游標移動到當前行的末尾
- 【G】:游標移動到檔案的最後一行(第一個字元處)
- 【gg】:游標移動到檔案的第一行,相當於 “1G”
- 【N + [Enter]】:游標向下移動 n 行
③ 查詢和替換
/word
:在檔案中查詢內容為 word 的字串(向下查詢)?word
:在檔案中查詢內容為 word 的字串(向上查詢):n1, n2s/word1/word2/g
:n1,n2 為數字,在第 n1 行到第 n2 行之間查詢 word1,並將其替換成 word2:1,$s/word1/word2/g
:從第一行(第n行同理)到最後一行查詢 word1 註冊,並替換成 word2:1,$s/word1/word2/gc
:功能同上,只不過每次替換時都會讓使用者確認
④ 刪除、複製和貼上
- 【x】:向後刪除一個字元,相當於**【Delete】**
- 【X】:向前刪除一個字元,相當於**【Backspace】**
- 【dd】:刪除游標所在的一整行
- 【ndd】:刪除游標所在的向下 n 行
- 【yy】: 複製游標所在的那一行
- 【nyy】:複製游標所在的向下 n 行
- 【p】:為將已將複製的資料在游標下一行貼上
- 【P】:為將已將複製的資料在游標上一行貼上
- 【Ctrl + r】:多次撤銷
⑤ 檢視模式(vim)
- 【v】:將游標經過的地方反白選擇
- 【V】:將游標經過的行反白選擇
- 【Ctrl + v】:塊選擇,可用長方形的方式選擇文字
- 【y】:將反白的地方複製到剪貼簿
- 【d】:將反白的內容刪除
⑥ 配置
- 【:set nu】:顯示行號
- 【:set nonu】:取消顯示行號
2) shell 基礎
① 指令碼執行方式
1)賦予許可權,直接執行,例:chmod + x test.sh; ./test.sh
2)呼叫解釋其使得指令碼執行,例:bash、csh、ash、bsh、ksh等等
3)使用source命令,例:source test.sh
② 編寫基礎
1)開頭用 #! 指定指令碼直譯器,例如:#!/bin/sh
2)編寫具體功能
二、解題方法
牢記 以上基礎知識點。
三、真題
如何實現每天0點鐘重新啟動伺服器?
crontab -e
* * * * * reboot
分 時 日 月 周 reboot
0 0 * * * reboot