一、Linux基礎命令
1、Linux命令列的格式
命令列的格式為:使用者名稱+主機名+當前工作目錄
輸入內容的命令格式為:命令 [-短選項/--長選項] [引數]
[root@localhost ~]# 命令 [-短選項/--長選項] [引數]
其中命令就是“做什麼”,選項就是“怎麼做”,引數就是“對誰做”
例如:更改主機名
[root@localhost ~]# hostnamectl set-hostname 主機名
[root@localhost ~]# bash #環境變數過載
2、常用基礎命令
1、pwd命令——作用:顯示當前所在位置的完整路徑
[root@localhost yum.repos.d]# pwd
/etc/yum.repos.d
2、cd命令——作用:進入某個資料夾(某條路徑)
藍色字元代表資料夾
橄欖綠色的字元代表連結檔案
黑色字元代表文字檔案
.代表當前路徑
..代表上一層路徑
~代表當前使用者的家目錄,cd後面可省略
[root@localhost etc]# cd~
[root@localhost ~]# cd /
[root@localhost /]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]#
3、ls命令——作用:顯示當前資料夾的所有內容
-l -> 以長檔案的形式顯示(ls -l 可縮寫成 ll 命令)
-a -> 顯示隱藏的檔案(以.開頭的檔案)
-la -> 以長檔案的形式顯示隱藏的檔案(ls -al 可縮寫成 ll -a)
-r -> 遞迴顯示檔案內容
[root@localhost /]# ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
[root@localhost /]# ls -a
. bin dev home lib64 mnt proc run srv tmp var
.. boot etc lib media opt root sbin sys usr
4、man命令——作用:檢視某個命令的使用幫助文件
[root@localhost ~]# man ls 或 ls --help
5、su命令——作用:切換使用者
[root@localhost ~]# #代表管理員root,有且僅有1個
[root@localhost ~]# su – luna 不需要輸入普通使用者密碼
[luna@localhost ~]$ $代表普通使用者,可以有多個
[luna@localhost ~]$ su – root 要輸入root使用者密碼
6、passwd命令——作用:設定或更改使用者的密碼
注意:只有root使用者才能使用該命令更改密碼
[root@localhost ~]# passwd luna
7、date命令——作用:顯示或者設定當前的系統日期和時間
date 單獨使用 -> 詳細日期和時間
date +%T -> 顯示時間
date +%D -> 顯示日期
date +%X%x -> 顯示日期和時間
[root@localhost /]# date +%d%m%Y
04032021
[root@localhost /]# date +%d%m%y
040321
8、file命令——作用:檢視檔案型別
注意:linux中字尾名是可以自定義的,所以不要以檔案的字尾名來判斷檔案型別
[root@localhost /]# file /etc/passwd
/etc/passwd: ASCII text
10、head命令(tail命令)——作用:顯示檔案的前(後)幾行,預設顯示10行,可帶引數-n指定顯示行數
[root@localhost /]# head /etc/passwd
...
[root@localhost /]# head -n 2 /etc/passwd
...
[root@localhost /]# tail -n 10 /etc/passwd | head -n 6 #檢視/etc/passwd 檔案倒數第10 行至第5行
...
11、cat(tac)命令——作用:將整個文件內容從頭至尾(從尾到頭)顯示出來
[root@localhost /]# cat /etc/crontab
...
[root@localhost /]# tac /etc/crontab
...
12、wc命令——作用:統計檔案中的行數、字數和字元數,分別對應-l、-w、-c
[root@localhost /]# wc /etc/shadow
42 42 1226 /etc/shadow
[root@localhost /]# wc -l /etc/shadow
42 /etc/shadow
[root@localhost /]# wc -lwc /etc/shadow
42 42 1226 /etc/shadow
13、history命令——作用:顯示之前使用過的命令列表
[root@localhost ~]# history
[root@localhost ~]# !number #執行歷史命令列表中第number號命令
[root@localhost ~]# !string #執行歷史命令列表中最近一次與string匹配的命令
[root@localhost ~]# history -c #刪除歷史命令列表中的所有命令
可通過上下鍵查詢之前使用過的命令
15、init命令——作用:切換系統狀態
[root@localhost ~]# init1 #切換到命令模式,相當於ctrl + alt + F2
[root@localhost ~]# init5 #切換到桌面圖形化模式,相當於ctrl + alt + F1
[root@localhost ~]# init0 #關機,相當於ctrl + alt + Del
二、Linux的檔案系統
Linux系統一切皆檔案!以“/”開頭的路徑都是絕對路徑,不以“/”開頭的路徑都是相對路徑。
1、“/”下面的重要目錄
- /usr -> 存放普通使用者命令(/usr/bin)、供root使用者使用的系統管理命令,(/usr/sbin)、及安裝的軟體等資料。
- /etc -> 存放系統服務的配置檔案。
- /dev -> 存放裝置檔案,例如硬碟、cpu、網路卡等資料。
- /home -> 普通使用者的家目錄(或主目錄),存放普通使用者的配置檔案。
- /root -> root使用者的家目錄(或主目錄),存放root使用者的配置檔案。
- /boot -> 存放系統啟動過程所需的檔案,系統核心等。
- /var -> 存放動態變化的檔案,例如日誌檔案、快取檔案、資料庫等。
- /tmp -> 存放臨時檔案,10天內未訪問更改的檔案將自動刪除。
- /run -> 存放上一次系統啟動過的程式檔案。
其中有4個連結檔案:
- /bin -> /usr/bin -> 存放普通使用者使用的命令。
- /sbin -> /usr/sbin -> 存放root使用者使用的命令。
- /lib -> /usr/lib -> 庫檔案
- /lib64 -> /usr/lib64
2、檔案相關的命令
1、touch命令——作用:建立一個空文字檔案
[root@localhost ~]# touch /opt/abc
[root@localhost ~]# touch abc
2、dd命令——作用:建立一個大容量空檔案
dd if=/dev/zero of=/test.file bs=1M count=100
3、mkdir命令——作用:建立資料夾
mkdir -p 建立多級目錄
[root@localhost ~]# mkdir /aaa
[root@localhost ~]# mkdir -p /aaa/bbb/ccc
4、cp命令——作用:複製檔案
cp -r 複製資料夾(-r遞迴複製,也就是將當前資料夾裡面所有子目錄也複製過去)
注意:當複製的舊檔案與新檔案重名時,舊檔案將覆蓋新檔案。
[root@localhost opt]# cp -r /aaa/ /opt/
5、mv命令——作用:移動檔案,重新命名檔案
[root@localhost ~]# mv /aaa /mnt
[root@localhost ~]# cd /mnt
[root@localhost mnt]# ls
aaa
[root@localhost mnt]# mv aaa bbb
[root@localhost mnt]# ls
bbb
6、rm命令——作用:刪除檔案
rm -r 刪除資料夾
rm -f 強制刪除,不提示刪除確認
[root@localhost /]# rm -f abc
[root@localhost /]#
[root@localhost /]# rm -rf /aaa
[root@localhost /]#
7、echo命令——作用:將命令後面的引數顯示出來
$符號後面跟系統變數,這個變數可以是大寫也可以是小寫。
[root@localhost /]# echo $HOSTNAME
localhost.localdomain
[root@localhost /]# echo date
date
[root@chenglu213 /]# echo `date`
p 8 11:36:21 CST 2020
echo還可以修改文字內容,語法是:echo “XXX” > 、 >> filename
3、萬用字元的使用
*號簡單模式匹配 -> 由0個或更多字元組成的字串
?號簡單模式匹配 -> 任何1個字元
{ }大括號 -> 批量執行命令,可以連續使用或者巢狀使用
[root@localhost /]# echo file{a{1,2},b,c}.log
filea1.log filea2.log fileb.log filec.log
[root@localhost /]# echo file{a,b,c}{1..3}.log
filea1.log filea2.log filea3.log fileb1.log fileb2.log fileb3.log filec1.log filec2.log filec3.log
``反引號命令替換
[root@localhost /]# echo today is `date +%X%x`
today is 12:59:11 PM11/13/2021
\反斜槓轉意字元
[root@localhost /]# echo the hostname is \&HOSTNAME
the hostname is &HOSTNAME
由單引號括起來的字元都作為普通字元出現
由雙引號括起來的字元,除$、反引號(`)和反斜線(\)仍保留其特殊功能外,其餘字元均作為普通字元對待。
4、重定向操作符
一個>是重定向符,作用:覆蓋寫入,檔案裡的原有資料不保留
兩個>>是追加重定向符,作用:追加寫入,不覆蓋已有內容,直接寫在檔案末尾,原資料保留
[root@localhost /]# touch err.txt
[root@localhost /]# systemctl restart unbound
Failed to restart unbound.service: Unit not found.
[root@localhost /]# systemctl restart unbound 2>err.txt
[root@localhost /]# cat err.txt
Failed to restart unbound.service: Unit not found.
在linux中,一個執行的程式(或稱為程式)需要通過shell從鍵盤讀取輸入並將輸出寫入到終端或者檔案。
程式使用一個名為檔案描述符的編號通道來獲取輸入併傳送輸出。所有程式在開始時至少需要具有三個檔案描述符:標準輸入(通道0)、標準輸出(通道1)、標準錯誤(通道2)。
5、管道符"|"的使用
作用:將前面的執行結果丟到管道符後面的命令去執行。
注意:管道符前面有重定向符號時,管道符後面要加上一個tee命令
[root@chenglu etc]# ls | grep ssh
ssh
[root@localhost /]# ls -l > 1.txt |tee less
三、vim文字編輯器
Vim有四種模式,分別是:插入模式、命令模式、末行模式和視覺化模式。
1、插入模式
先按i/a/O/o -> 進入編輯狀態(插入模式)
i -> 在當前游標處進行編輯
a -> 在當前游標下一格進行編輯
O -> 在當前游標上一行插入一個空行進行編輯
o -> 在當前游標下一行插入一個空行進行編輯
2、命令模式
先按Esc -> 退出編輯狀態(插入模式)
yy -> 複製一行
nyy -> 複製n行
p -> 貼上
dd -> 刪除一行
ndd -> 刪除n行
u -> 撤銷上一次操作
U -> 撤銷之前所有的操作
G -> 游標跳到末行
gg -> 游標跳到首行
3、末行模式
先按Esc -> 退出編輯狀態(插入模式)
:(w/q/wq/wq!=x) -> 退出vim(w儲存,q退出)
:set nu -> 顯示行號
:set nonu -> 不顯示行號
/word -> 從上而下查詢某個單詞內容
?word -> 從下而上查詢某個單詞word
N -> 從尾至頭進行查詢
n -> 從頭至尾進行查詢
:%s/XXX/YYY/g -> 將文件中所有的XXX替換為YYY
4、可視模式
先按Esc -> 退出編輯狀態(插入模式)
V(大寫的) -> 用游標選擇 -> Y
vim多行註釋:
1、先按Esc進入命令列模式
2、按Ctrl+v,進入列模式
3、上下鍵選擇需要註釋內容
4、按大寫“I”鍵,進入插入模式
5、然後輸入註釋符“#”
6、最後按兩下“Esc”鍵完成
四、常用快捷鍵
-
Ctrl + a -> 游標跳到命令列的開頭
-
Ctrl + e -> 游標跳到命令列的結尾
-
Ctrl + u -> 將游標處到命令列開頭的所有內容清除
-
Ctrl + k -> 將游標處到命令列結尾的所有內容清除
-
Ctrl + ← -> 將游標跳到命令列前一字的開頭(在桌面圖形化狀態下)
-
Ctrl + → -> 將游標跳到命令列下一字的末尾
-
Alt + backspace -> 刪除游標所在的單詞
-
Ctrl + g -> 游標進入
-
Ctrl + Alt -> 游標退出
-
Ctrl + L -> 清屏 = clear命令
-
Tab鍵補全——補全命令、選項和引數
按一次Tab鍵:補全唯一匹配的命令或者選項或者引數
按兩次Tab鍵:將所有匹配的命令或者選項或者引數全部羅列出來