­

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鍵:將所有匹配的命令或者選項或者參數全部羅列出來

Tags: