一、Shell 命令基礎(chǔ)
??Linux 操作系統(tǒng)的 Shell 作為操作系統(tǒng)的外殼,為用戶提供使用操作系統(tǒng)的接口。它是命令語言、命令解釋程序及程序設(shè)計語言系統(tǒng)。
??Shell 是用戶和 Linux 內(nèi)核之間的接口程序,如果把 Linux 內(nèi)核想象成一個球體的中心,Shell 就是圍繞內(nèi)核的外層。當從 Shell 或其他程序向 Linux 傳遞命令時,內(nèi)核會做出相應的反應。
(本期內(nèi)容相對比較基礎(chǔ)和簡單,故不做過多說明,大家通過截圖自行理解)
1、Shell 簡介
??Shell 是一個命令語言解釋器,它擁有自己內(nèi)建的 Shell 命令集,Shell 也能被系統(tǒng)中的其他應用程序所調(diào)用。用戶在提示符下輸入的命令都是先由 Shell 解釋再傳給 Linux 核心。
2、Shell 命令格式
(1)Shell 命令的基本格式
command [選項][參數(shù)]
# command 為命令名稱
# [選項]表示可選,是對命令的特別定義,以連接符 “-” 開始,多個選項可以用一個連接符連接起來,有些命令不寫選項和參數(shù)也可以執(zhí)行。
# [參數(shù)]為跟在可選項后的參數(shù),或者是command的參數(shù),參數(shù)可以是文件,也可以是目錄,可以沒有,也可以有多個,有些命令必須使用多個參數(shù)。
# command [選項][參數(shù)]等項目之間以空格隔開,無論有幾個空格,Shell 都視為一個空格。
3、顯示系統(tǒng)信息命令
(1)who——查看用戶登錄信息
ymliu@linuxserver:~$ who
ymliu pts/1 2024-03-05 14:20 (192.168.11.219)
ymliu@linuxserver:~$ who -a #顯示所有用戶的信息
系統(tǒng)引導 2024-02-18 10:34
登錄 tty1 2024-02-18 10:35 903 id=tty1
運行級別 5 2024-02-18 10:35
pts/0 2024-03-05 15:00 395290 id=ts/0 終止=0 退出=0
ymliu + pts/1 2024-03-05 14:20 . 393961 (192.168.11.219)
pts/2 2024-03-01 17:22 306784 id=ts/2 終止=0 退出=0
pts/3 2024-03-01 16:38 309422 id=ts/3 終止=0 退出=0
pts/4 2024-02-29 17:30 283791 id=ts/4 終止=0 退出=0
pts/5 2024-02-28 11:45 250739 id=ts/5 終止=0 退出=0
pts/6 2024-02-28 17:29 247342 id=ts/6 終止=0 退出=0
pts/7 2024-02-28 11:13 252432 id=ts/7 終止=0 退出=0
(2)whoami——顯示當前操作用戶
ymliu@linuxserver:~$ whoami
ymliu
ymliu@linuxserver:~$
(3)hostname/hostnamectl——顯示或設(shè)置當前系統(tǒng)的主機名
ymliu@linuxserver:~$ hostname
linuxserver
ymliu@linuxserver:~$ hostnamectl
Static hostname: linuxserver
Icon name: computer-desktop
Chassis: desktop
Machine ID: b63dd4601b294f7db05b93c57ba360b1
Boot ID: 5f01ad8b216949a9a4016ec51bf3d775
Operating System: Ubuntu 22.04.2 LTS
Kernel: Linux 5.15.0-92-generic
Architecture: x86-64
Hardware Vendor: Dell Inc.
Hardware Model: Precision T1700
ymliu@linuxserver:~$ hostnamectl set-hostname mycomputer
==== AUTHENTICATING FOR org.freedesktop.hostname1.set-static-hostname ===
設(shè)定靜態(tài)本地主機名或美觀主機名需要認證。
Authenticating as: ymliu
Password:
==== AUTHENTICATION COMPLETE ===
ymliu@linuxserver:~$ bash
ymliu@mycomputer:~$ hostname
mycomputer
ymliu@mycomputer:~$
(4)date——顯示時間/日期
ymliu@linuxserver:~$ date
2024年 03月 05日 星期二 16:00:40 CST
ymliu@linuxserver:~$
(5)cal——顯示日歷
ymliu@linuxserver:~$ cal #部分系統(tǒng)默認不安裝,可使用apt install ncal 命令安裝
三月 2024
日 一 二 三 四 五 六
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
ymliu@linuxserver:~$
(6)clear——清除屏幕
4、Shell 使用技巧
(1)命令和文件名的自動補齊功能
??Linux 操作系統(tǒng)中的命令有許多實用的功能,下面介紹自動補齊功能。在命令行模式下,輸入字符后,按兩下 “Tab” 鍵,Shell 就會列出以這些字符開始的所有可用命令。如果只有一個命令被匹配到,則按一次 “Tab” 鍵會自動將其補全。
ymliu@linuxserver:~$ cd com<Tab>
comaaa/ compose/
ymliu@linuxserver:~$ cd Dockerfiles/
(2)歷史命令
??若要查看最近使用過的命令,則可以在終端中執(zhí)行 history 命令。
??執(zhí)行歷史命令最簡單的方法就是利用上下方向鍵,可以找回最近執(zhí)行過的命令,減少輸入命令的次數(shù),在需要使用重復執(zhí)行的命令時非常方便。命令文件一般存在當前用戶目錄下的 .bash_history 文件中。
ymliu@linuxserver:~$ history # 直接使用這個命令會有很多內(nèi)容,可以使用 history n n為數(shù)字。
671 ls
672 cd web
...
1668 mkdir comaaa
1669 ls -al
1670 history
ymliu@linuxserver:~$
ymliu@linuxserver:~$ history 5 # 只顯示最近 5 個歷史命令
1667 ls
1668 mkdir comaaa
1669 ls -al
1670 history
1671 history 5
ymliu@linuxserver:~$
ymliu@linuxserver:~$ !1671 執(zhí)行歷史命令輸入 “!n” n為歷史命令前的序號
history 5
1667 ls
1668 mkdir comaaa
1669 ls -al
1670 history
1671 history 5
ymliu@linuxserver:~$
(3)命令別名
??用戶可以為某有一個復雜的命令創(chuàng)建一個簡單的別名,當用戶使用這個別名時,系統(tǒng)就會自動地找到并執(zhí)行這個別名對應的真實命令,從而提高工作效率。
ymliu@linuxserver:~$ alias # 執(zhí)行不加任何參數(shù)的 alias 命令
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'
ymliu@linuxserver:~$
(4)命令幫助
??由于Linux 操作系統(tǒng)的命令以及選項和參數(shù)太多,所以建議用戶不要去費力記住所有命令的用法,實際上也不可能全部記住,借助Linux 操作系統(tǒng)提供的各種幫助工具,可以很好的解決此類問題。以下幾種方式都可以查詢命令。
二、Linux 文件及目錄管理
??文件系統(tǒng)是 Linux 操作系統(tǒng)的重要組成部分,文件系統(tǒng)中的文件是數(shù)據(jù)的集合,文件系統(tǒng)不僅包含文件中的數(shù)據(jù),還包含文件系統(tǒng)的結(jié)構(gòu),所有 Linux 用戶和程序看到的文件、目錄、軟鏈接及文件保護信息等都存儲在其中。
1、Linux操作系統(tǒng)的目錄結(jié)構(gòu)
??Linux 操作系統(tǒng)安裝完成以后,會自動建立一套完整的目錄結(jié)構(gòu),雖然各個 Linux 發(fā)行版本之間有一些差異,但是基本上都會遵循傳統(tǒng) Linux 操作系統(tǒng)建立的目錄的方法,即最底層的目錄稱為根目錄,用 “/” 表示,Linux 操作系統(tǒng)的主要目錄結(jié)構(gòu)如下:
- 根目錄
Linux文件系統(tǒng)的根目錄是“/”。在Linux中,“/”表示最大的分類,所有的目錄結(jié)構(gòu)都是從“/”開始。所有的一級目錄都包含在根目錄下。 - /bin目錄
/bin目錄存儲了一些最基本的Linux命令和二進制文件,例如cat,cp,ls,mkdir等。 - /etc目錄
/etc目錄包含了所有的系統(tǒng)配置文件。通常這些文件可以用來配置硬件,網(wǎng)絡(luò)等等。例如,/etc/passwd 來存儲用戶的信息。 - /home目錄
/home目錄是所有已安裝的用戶的家目錄。默認情況下,每創(chuàng)建一個用戶,就會在/home下創(chuàng)建對應的目錄。比如/home/username。 - /root目錄
/root目錄是超級用戶(root用戶)的家目錄,與/home 目錄類似。 - /usr目錄
/usr目錄用于存儲系統(tǒng)軟件和數(shù)據(jù)。其中,/usr/bin 目錄中包含了一些用戶常用的命令,/usr/include 目錄中包含了一些常用的頭文件,/usr/lib 目錄下存放了共享庫文件等。 - /var目錄
/var 目錄存儲了可變的文件,例如日志信息、用戶郵件等等。
2、文件及目錄顯示類命令
(1)pwd——顯示當前工作目錄
(2)cd——改變當前工作目錄
(3)ls——顯示目錄文件
(4)stat——顯示文件或文件系統(tǒng)狀態(tài)信息
3、文件及目錄操作類命令
(1)touch——創(chuàng)建文件或修改文件的存儲時間
(2)mkdir——創(chuàng)建新目錄
(3)rmdir——刪除目錄
(4)rm——刪除文件或目錄
(5)cp——復制文件或目錄
(6)mv——移動文件或目錄/文件或目錄重命名
(7)tar——打包、歸檔文件或目錄
(8)du——查看文件或目錄的容量大小
4、文件內(nèi)容的顯示和處理
(1)cat——顯示文件內(nèi)容
(2)tac——反向顯示文件內(nèi)容
(3)more——逐頁顯示文件中的內(nèi)容(僅向下翻頁)
(4)less——逐頁顯示文件中的內(nèi)容
(5)head——查看文件的 n 行,默認顯示10行
(6)tail——查看文件的最后 n 行,默認顯示最后10行
(7)file——查看文件的目錄的類型
(8)wc——統(tǒng)計
(9)sort——排序
(10)uniq——去重
(11)echo——將顯示內(nèi)容輸出到屏幕上
5、文件查找類命令
(1)whereis——查找文件位置
(2)locate——查找絕對路徑中包含指定字符串的文件的位置
(3)find——文件查找
(4)which——確定程序的具體位置
(5)grep——查找文件中包含指定字符串的行
三、vi、vim 編輯器的使用
四、文件管理進階
1、硬鏈接與軟鏈接
2、通配符與文件名變量
3、輸入/輸出重定向與管道
(1)標準文件
(2)輸入重定向
(3)輸出重定向
(4)錯誤重定向文章來源:http://www.zghlxwxcb.cn/news/detail-838789.html
(5)管道文章來源地址http://www.zghlxwxcb.cn/news/detail-838789.html
五、Linux 快捷鍵的使用
快捷鍵 | 功能說明 |
---|---|
Ctrl+A | 把光標移動到命令行開頭 |
Ctrl+E | 把光標移動到命令行末尾 |
Ctrl+C 或 Ctrl+\ | 鍵盤總段請求,結(jié)束當前任務(wù) |
Ctrl+Z | 中斷當前執(zhí)行的進程,但并不結(jié)束此進程,而是將此進程放到后臺,想要繼續(xù)執(zhí)行時,可用 fg 命令喚醒她,但由于 “Ctrl+Z” 組合鍵轉(zhuǎn)入后臺運行的進程在當前用戶退出后就會終止,所以使用此快捷鍵不如使用 nohup 命令,因為 nohup 命令的作用就是用戶退出之后進程仍然繼續(xù)運行,而現(xiàn)在許多腳本和命令在root 用戶退出時仍然有效 |
Ctrl+D | 設(shè)置 EOF ,即文件末尾(end of file)。如果光標處在一個空白的命令行中,則按 “Ctrl+D” 組合鍵后,將會退出 BASH ,比使用 exit 命令退出要快得多 |
Ctrl+S | 暫停屏幕輸出 |
Ctrl+Q | 恢復屏幕輸出 |
Ctrl+L | 清屏,相當于 clear 命令 |
Ctrl+U | 剪切刪除光標前的所有字段 |
Ctrl+K | 剪切刪除光標后的所有字段 |
Ctrl+W | 剪切刪除光標前的字段 |
Alt+D | 向后刪除一個詞 |
Ctrl+Y | 粘貼被 “Ctrl+U” 或 “Ctrl+K” 或 “Ctrl+W” 組合鍵剪切刪除的部分 |
Tab | 自動補齊命令行與文件名,雙擊 “Tab” 鍵,可以列出所有可能匹配的選擇 |
Alt+F | 光標向前移動一個詞的距離 |
Alt+B | 光標向后移動一個詞的距離 |
Ctrl+R | 在歷史命令中查找,當 history 比較多時,若想找一個比較復雜的命令,使用此快捷鍵后,Shell 會自動查找并調(diào)用該命令 |
到了這里,關(guān)于Linux學習筆記——基本操作命令的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!