Linux——基礎命令用法(上)
一、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鍵:將所有匹配的命令或者選項或者參數全部羅列出來