『Linux基础 - 4 』linux常用命令(1)
這篇筆記包含以下知識點:
linux命令
linux命令是對Linux系統進行管理的命令。對于Linux系統來說,無論是中央處理器、內存、磁盤驅動器、鍵盤、鼠標,還是用戶等都是文件,Linux系統管理的命令是它正常運行的核心,與之前的DOS命令類似。linux命令在系統中有兩種類型:內置Shell命令和Linux命令。
控制臺(console)
控制臺(console)是我們通常見到的使用字符操作界面的人機接口,例如dos。
我們說控制臺命令,就是指通過字符界面輸入的可以操作系統的命令,例如dos命令就是控制臺命令。
終端(Terminal)
終端(Terminal)也稱終端設備,是計算機網絡中處于網絡最外圍的設備,主要用于用戶信息的輸入以及處理結果的輸出等。
- 有一點一定要注意,和dos命令不同的是,Linux的命令(也包括文件名等等)對大小寫是敏感的,也就是說,如果你輸入的命令大小寫不對的話,系統是不會做出你期望的響應的。
終端提示符
- windows: C:\Users\pc-laowang>
- linux: python@ubuntu:/opt$
- python: 用戶名
- ubuntu: 主機名( hostname)
- /opt: 路徑
- $ : 用戶類型
- $ :代表普通用戶
- #: 超級用戶
Linux命令
- 在Linux中,我們可以在終端中通過命令去執行操作。
- 近幾年來,盡管 Linux 發展得非常迅速,圖形界面越來越友好,但是在真正的開發過程中,Linux 命令行的應用還是占有非常重要的席位,而且許多Linux功能在命令行界面要比圖形化界面下運行的快。
- 可以說不會命令,就不算會 Linux。
- 在職場中,大量的 服務器維護工作 都是在 遠程 通過 SSH 客戶端 來完成的,并沒有圖形界面,所有的維護工作都需要通過命令來完成。如 磁盤操作、文件存取、目錄操作、進程管理、文件權限 設定等
- Linux 發行版本的命令大概有 200 多個,這里只介紹比較重要和使用頻率最多的命令
命令的基本格式
- 終端命令格式: command [-options] [parameter]
- command:命令名,相應功能的英文單詞或單詞的縮寫
- [-options]:選項,可用來對命令進行控制,也可以省略
- [] 代表可選
- parameter:傳給命令的參數,可以是 零個、一個 或者 多個
- 例:詳細顯示 /opt目錄下邊的文件列表信息
- ls -l /opt
1. 查閱命令幫助信息
- 通過這幾個命令你可以查看其他命令的介紹,知道其他命令的介紹和用法。
| man | 獲取Linux幫助手冊 |
| man-f | 查看所有的同名的手冊(作用不同方面的),再查看特定的手冊。 |
| info | info從首頁開始瀏覽幫助手冊,也可以瀏覽特定命令的幫助手冊 |
| —help | 輸出最簡單有用的介紹。 |
示例:
示例命令 | 說明
--- |---
man date |看到date命令的幫助手冊,里面有date命令的介紹和詳細的用法。
2.列出當前目錄下的文件 ls
- ls 是英文單詞list的簡寫,其功能為列出目錄的內容,是用戶最常用的命令之一,它類似于DOS下的dir命令。
| ls | 列出目前工作目錄所含的文件及子目錄 |
| ls -a | 顯示所有文件及目錄(ls內定將文件名或目錄名稱開頭為"."的視為隱藏檔,不會列出)。 |
| ls -l | 除文件名稱外,亦將文件型態、權限、擁有者、文件大小等資訊詳細列出。 |
| ls -r | 將文件以相反次序顯示(原定依英文字母次序)。 |
| ls -t | 將文件依建立時間之先后次序列出 |
| ls -A | 同ls -a,但不列出"."(目前目錄)及".."(父目錄)。 |
| ls -F | 在列出的文件名稱后加一符號;例如可執行檔則加"*",目錄則加“/“。 |
| ls -R | 若目錄下有文件,則其以下的文件亦皆依序列出。 |
3.切換當前工作目錄 cd
- cd用于切換當前工作目錄。
- cd后面可跟絕對路徑,也可以跟相對路徑
- "~"表示為home目錄的意思
- "."則是表示目前所在的目錄
- ".."則表示目前目錄位置的上一層目錄。
- pwd用于顯示所在的工作目錄的絕對路徑名稱。
| cd | 切換到當前用戶根目錄,默認[/home/用戶名稱/] |
| cd . | 切換到當前目錄 |
| cd .. | 切換到上一級目錄 |
| cd / | 返回操作系統跟目錄,默認:[/] |
| cd direction | 進入某個指定的文件目錄 |
| cd - | 可進入上次所在的目錄. |
[注意]:如果路徑是從根路徑開始的,則路徑的前面需要加上“ / ”,如 “ /mnt ”,通常進入某個目錄里的文件夾,前面不用加 "/"。
4. 操作文件的相關命令
4.1 創建和刪除文件 mkdir,touch,rm
| touch | 創建一個空的文件 |
| mkdir | 用于新建文件夾 |
| mkdir -p | 遞歸創建目錄,當父目錄存在時忽略,若不存在則建立,用此參數可建立多級文件夾。 |
| rmdir | 刪除空文件夾 |
| rmdir -p | 刪除子目錄,如果子目錄刪除之后,父目錄為空,則父目錄亦刪除。 |
| rm | 刪除文件或目錄。 |
| rm -i | 以進行交互式方式執行,刪除前逐一詢問。 |
| rm -f | 直接強制刪除,無需逐一詢問(包括只讀文件)。會忽略不存在的文件 |
| `rm -r | 刪除目錄及目錄下所有文件。遞歸地刪除目錄下的內容,刪除文件夾時必須加此選型 |
4.2 復制文件或目錄 cp
- cp命令的功能是將給出的文件或目錄復制到另一個文件或目錄中,相當于DOS下的copy命令。
| cp | 復制文件或目錄。 |
| cp -a | 復制目錄,它保留鏈接、文件屬性,并復制目錄下的所有內容。 |
| cp -d | 復制文件時保留鏈接(類似快捷方式)。 |
| cp -f | 覆蓋已經存在的目標文件而不給出提示。 |
| cp -i | 在覆蓋目標文件之前給出提示,要求用戶確認是否覆蓋 |
| cp -p | 除復制文件的內容外,還把修改時間和訪問權限也復制到新文件中。 |
| cp -r | 若源文件為目錄文件,則復制該目錄下的所有子目錄和文件。 |
| cp -l | 不復制文件,只生成鏈接文件。 |
| cp -v | 顯示拷貝進度 |
4.3 修改和移動文件或目錄 mv
- 用戶可以使用mv命令來移動文件或目錄,也可以給文件或目錄重命名。
| mv | 修改文件或目錄名,移動文件或目錄到其他位置。 |
| mv -i | 若指定目錄已有同名文件,則先詢問是否覆蓋舊文件。 |
| mv -f | 覆蓋某已有的目標文件時不給任何指示。 |
| mv -v | 顯示移動進度 |
4.4 查看文件 cat
- cat可以查看當前目錄下的文件,也可以查看絕對路徑下的文件
- 查看內容時,在信息過長無法在一屏上顯示時,使用cat命令會出現快速滾屏,使得用戶無法看清文件的內容,此時可以使用more命令,每次只顯示一頁,按下空格鍵可以顯示下一頁,按下q鍵退出顯示,按下h鍵可以獲取幫助。
| cat | 查看文件cat XXX.txt |
| more | 逐行顯示內容按ctrl+C退出。 |
| more +line | 從指定行號開始顯示。例, more +20 從第20行開始查看 |
| less | 上下滾動查看內容按Q退出。 |
| less +line | 從指定行號開始顯示。 |
4.5 查找文件 find
- find命令功能非常強大,通常用來在特定的目錄下搜索符合條件的文件。
常用用法:
| find ./ -name '*.sh' | 查找當前目錄下所有后綴為.sh的文件 |
| find ./ -name "[A-Z]*" | 查找當前目錄下所有以大寫字母開頭的文件 |
| find /tmp -size 2M | 查找在/tmp 目錄下等于2M的文件 |
| find /tmp -size +2M | 查找在/tmp 目錄下大于2M的文件 |
| find /tmp -size -2M | 查找在/tmp 目錄下小于2M的文件 |
| find ./ -size +4k -size -5M | 查找當前目錄下大于4k,小于5M的文件 |
| find ./ -perm 777 | 查找當前目錄下權限為 777 的文件或目錄 |
問題1:查找test目錄中擴展名是py的文件
答: find ./ -name '*.py'
問題2:查找test目錄中c或者s開頭的文件
答: find ./ -name '[cs]*'
問題3:查找test目錄大于2M的文件
答:
find ./ -size +2M
ls -lh
問題4:查找出test目錄中屬主用戶有讀寫權限,同組用戶及其他用戶只有讀權限的文件
答: find ./ -perm 644
問題5:查找出test目錄中屬主用戶有讀寫執行權限,同組用戶及其他用戶只有讀和執行權限的文件
答: find ./ -perm 755
5. 對系統的相關操作
| reboot | 重啟系統 |
| poweroff | 關機 |
| shutdown –r now | 重新啟動操作系統,shutdown會給別的用戶提示 |
| shutdown -h now | 立刻關機,其中now相當于時間為0的狀態 |
| shutdown -h 20:25 | 系統在今天的20:25 會關機 |
| shutdown -h +10 | 系統再過十分鐘后自動關機 |
| `ping | 測試網絡連通狀況,會向目標機器發送數據包來測試是否連通,是否延時 |
6. 其他一些常用的命令
| clear | 清屏. 清除終端上的顯示(類似于DOS的cls清屏功能),也可使用快捷鍵:Ctrl + L |
| alias | 設置指令的別名。僅輸入alias,則可列出目前所有的別名設置。 |
| unalias | 用于刪除別名。 |
| unalias -a | 刪除全部的別名 |
| tree | 以樹形的方式查看文件列表,默認ubuntu是沒有安裝該命令,第一次使用需要安裝tree命令 |
| history | 查看使用過的命令 |
| >或>> | Linux允許將命令執行結果重定向到一個文件,本應顯示在終端上的內容保存到指定文件中。 |
| > | 比如: ls > test.txt ( test.txt 如果不存在,則創建,存在則覆蓋其內容 ) |
| >> | 比如: ls >> test1.txt(test.txt 如果不存在,則創建,存在則追加新內容到文件尾部) |
| \| | 管道:一個命令的輸出可以通過管道做為另一個命令的輸入。“| ”的左右分為兩端,左端塞東西(寫),右端取東西(讀)。 |
7. 磁盤管理的相關命令 df,du,fdisk
- 磁盤的管理是Linux上很重要的內容,磁盤管理的好壞會影響到系統的整體性能。
- fdisk是Linux下功能是極其強大的磁盤管理命令
- fdisk的詳細命令介紹: https://www.cnblogs.com/chjbbs/p/3762223.html
| df | 檢查文件系統的磁盤空間占用情況。 |
| df -h | 將容量結果以易讀的容量格式顯示出來 |
| df -aT | 將系統內的所有特殊文件格式及名稱都列出來。 |
| df -h /文件夾名 | 將該文件夾底下的可用的磁盤容量以易讀的容量格式顯示。 |
| du | 查看對文件和目錄磁盤使用的空間,全部都會列出來,包括隱藏文件的目錄。 |
| du -a | 將文件的容量也列出來。 |
| du -sm /文件夾 | 檢查根目錄底下每個目錄所占用的容量。 |
| fdisk | 磁盤分區表操作工具 |
Q: du和df的區別在哪?
區別在于du這個命令其實會直接到文件系統內去搜尋所有的文件數據。
8.建立鏈接文件:ln
- Linux鏈接文件類似于Windows下的快捷方式。
- 鏈接文件分為軟鏈接和硬鏈接。
- 使用格式:
- 軟連接格式: ln -s 源文件 鏈接文件
- 硬鏈接格式:ln 源文件 鏈接文件
- 提示:如果是在目標文件所在目錄以外的目錄創建軟鏈接,那么軟鏈接的目標文件路徑寫絕對路徑
Q:軟鏈接與硬鏈接相同點與區別?
Q:鏈接與復制的區別?
鏈接與復制就好比,復印文件,復制是多了一份, 而鏈接,不管軟還是硬,都只有一份文件
9.文本搜索 grep
Linux系統中grep命令是一種強大的文本搜索工具,grep允許對文本文件進行模式查找。如果找到匹配模式, grep打印包含模式的所有行。
- grep一般格式為:
- grep [-選項] ‘搜索內容串’ 文件名
- 在grep命令中輸入字符串參數時,最好引號或雙引號括起來。
- grep 'a' 1.txt
- grep搜索內容串可以是正則表達式。
常用選項說明:
| -v | 顯示不包含匹配文本的所有行(相當于求反) |
| -n | 顯示匹配行及行號 |
| -i | 忽略大小寫 |
問題1: 把家目錄中的文件信息寫入桌面的home.txt中, 并且查找D字符
問題2: 查詢mysql程序是否運行(拓展)
ps : 查看當前運行的進程 ,-aux: 以bsd的格式顯示內容
命令:ps -aux | grep 'mysql'
10.歸檔管理:tar
- 計算機中的數據經常需要備份,tar是Unix/Linux中最常用的備份工具,此命令可以把一系列文件歸檔到一個大文件中,也可以把檔案文件解開以恢復數據。
- tar使用格式:
- tar [選項] 打包文件名 文件
- tar命令很特殊,其選項前面可以使用“-”,也可以不使用。
- 除了-f需要放在選項的最后,其它選項的順序任意。
常用選項:
選項 | 含義
--- | ---
-c | 生成檔案文件,創建打包文件
-v | 列出歸檔解檔的詳細過程,顯示進度
-f | 指定檔案文件名稱,f后面一定是.tar文件,所以必須放選項最后
-t | 列出檔案中包含的文件
-x | 解開檔案文件
問題1: 對test目錄下的所有文件打包成my.tar 文件
答: tar -cvf my.tar *
問題2: 對my.tar 文件進行拆包
答: tar -xvf my.tar
問題3: 對test目錄下的所有文件打包且以gzip格式壓縮 成 my.tar.gz文件
答:tar -czvf my.tar.gz *
問題4: 對my.tar.gz 解壓及拆包
答: tar -xzvf my.tar.gz
問題5: 對test目錄下的所有文件打包且以bzip2格式壓縮 成 my.tar.bz2文件
答: tar -cjvf my.tar.bz2 *
問題6: 對my.tar.bz2 解壓及拆包 到桌面的test2目錄中
答:
mkdir ../test2
tar -xjvf my.tar.bz2 -C ../test2
11.文件壓縮解壓:gzip
- tar與gzip命令結合使用實現文件打包、壓縮。
- tar只負責打包文件,但不壓縮,用gzip壓縮tar打包后的文件,其擴展名一般用xxxx.tar.gz。
- gzip使用格式如下:
- gzip [選項] 被壓縮文件
常用選項:
選項 | 含義
--- | ---
-d | 解壓
-r | 壓縮所有子目錄
tar這個命令并沒有壓縮的功能,它只是一個打包的命令,但是在tar命令中增加一個選項(-z)可以調用gzip實現了一個壓縮的功能,實行一個先打包后壓縮的過程。
- 壓縮用法:
- tar cvzf 壓縮包包名 文件1 文件2 ...
- 示例:
- 將當前路徑下的所有文件以及文件夾打包并壓縮到test.tar.gz文件中
- tar -zcvf test.tar.gz *
| -z | 指定壓縮包的格式為:file.tar.gz |
- 解壓用法:
- tar zxvf 壓縮包包名
- 解壓示例:
- 解壓到當前路徑下
- tar -zxvf text.tar.gz
| -z | 指定壓縮包的格式為:file.tar.gz |
| -C | (大寫字母“C”),解壓到指定目錄 |
12.文件壓縮解壓:bzip2(了解)
- tar與bzip2命令結合使用實現文件打包、壓縮(用法和gzip一樣)。
- tar只負責打包文件,但不壓縮,用bzip2壓縮tar打包后的文件,其擴展名一般用xxxx.tar.bz2。
- 在tar命令中增加一個選項(-j)可以調用bzip2實現了一個壓縮的功能,實行一個先打包后壓縮的過程。
- 壓縮用法:tar -jcvf 壓縮包包名 文件...(tar jcvf bk.tar.bz2 *.c)
- 解壓用法:tar -jxvf 壓縮包包名 (tar jxvf bk.tar.bz2)
13. 文件壓縮解壓: zip、unzip(了解)
- 通過zip壓縮文件的目標文件不需要指定擴展名,默認擴展名為zip。
- 壓縮文件:zip [-r] 目標文件(沒有擴展名) 源文件
- 解壓文件:unzip -d 解壓后目錄文件 壓縮文件
14.查看命令位置:which
- which命令用于查找并顯示給定命令的絕對路徑,環境變量PATH中保存了查找命令時需要遍歷的目錄。
- which指令會在環境變量 PATH 設置的目錄里查找符合條件的文件。
- 使用 which 命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。
- 示例: which Python
問題:分別查看ls和shutdown兩個命令在哪個目錄中
答:
python@ubuntu:~/Desktop/test2$ which ls
/bin/ls
python@ubuntu:~/Desktop/test2$ which shutdown
/sbin/shutdown
python@ubuntu:~/Desktop/test2$
轉載于:https://www.cnblogs.com/gybb/p/9952305.html
總結
以上是生活随笔為你收集整理的『Linux基础 - 4 』linux常用命令(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PAT 1079. Total Sale
- 下一篇: Linux学习 - 文件包处理命令