查看shell cat /etc/shells 查看系統支持的shell echo $SHELL 查看目前正在使用的shell 快捷鍵 Ctrl+a 跳到行首 Ctrl+e 跳到行尾 Ctrl+u 刪除游標至行首的內容 Ctrl+k 刪除游標至行尾的內容 Ctrl+ c 拼接文件內容 tac 鏈接文 ...
查看shell
- cat /etc/shells 查看系統支持的shell
- echo $SHELL 查看目前正在使用的shell
快捷鍵
- Ctrl+a 跳到行首
- Ctrl+e 跳到行尾
- Ctrl+u 刪除游標至行首的內容
- Ctrl+k 刪除游標至行尾的內容
- Ctrl+<-- 游標跳到離自己最近的一個單詞前
- Ctrl+l 清屏
命令替換
把命令中的某個子命令替換為其結果
- $(COMMAND) (推薦)
- 'COMMAND'
命令行展開
- ~ 展開為用戶的家目錄
- ~USERNAME 展開為USERNAME用戶的家目錄
- {} 可承載一個以逗號分隔的列表,並將其展開為多個目錄,例如
- /tmp/{a,b} = /tmp/a, /tmp/b
- /tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi
文件名通配
- * 匹配任意長度的任意字元
- ? 匹配任意單個字元
- [] 匹配任意範圍內的單個字元
- [^] 匹配任意範圍外的任意單個字元
- [abc] [a-m] [0-9]
- [[:space:]] 空白字元
- [[:punct:]] 標點符號
- [[:lower:]] 小寫字母
- [[:upper:]] 大寫字母
- [[:alpha:]] 大小寫字母
- [[:digit:]] 數字
- [[:alnum:]] 數字和大小寫字母
環境變數
- PATH 命令搜索路徑(系統會從這個路徑的文件里搜索命令,如果把這個改了,很有可能會導致無法使用部分命令)
- HISTSIZE 命令歷史緩衝區大小
- SHELL 當前shell
命令別名
僅在當前shell生命周期內有效
- alias CMDALIAS='COMMAND [options] [arguments]'
命令類型
- linux分為兩種命令
- 內部命令,shell內置
- 外部命令,在文件系統下有一個與命令名稱相應的可執行文件
- type 顯示命令類型
目錄管理
- ls 列出目錄內容
- 選項:
- -l 長格式
文件類型:- 普通文件(f)
- d 目錄文件
- b 塊設備文件(block)
- c 字元設備文件(character)
- l 符號鏈接文件(symbolic link file)
- p 命令管道(pipe)
- s 套接字文件(socket)
- -h 人性化單位轉換
- -a 顯示隱藏文件(以.開頭的文件)
- -d 顯示目錄自身屬性
- -i 顯示文件的inode
- -r 逆序顯示
- -R 遞歸顯示
- -l 長格式
- cd 切換目錄
- psw 查看當前所在目錄路徑
- msdir 創建目錄
- 選項:
- -p 創建目錄是,若父目錄不存在則創建
- -v 顯示目錄創建過程
- tree 查看目錄的樹狀結構
- 選項:
- -d 只顯示目錄
- -l LEVEL 指定顯示的層數
- -P PATTERN 只顯示指定PATTERN匹配到的路徑
文件管理
- touch 創建空文件,或修改時間戳
- stat 查看文件或文件系統狀態
- rm 刪除文件
- 選項:
- -r 遞歸刪除
- -f 強制刪除
- 在rm前加,即\rm也可以起到強制刪除的作用
- 不要手賤去刪除/bin/、/usr/等系統目錄,《Linux從刪庫到跑路》
- cp 複製文件
- 選項:
- -r 遞歸複製,複製目錄必須帶
- -a 歸檔複製,常用於備份
- -p 帶許可權拷貝
- mv 移動文件
- install 複製文件並設置屬性,常用於安裝或升級軟體或備份數據
選項:- -m mode模式,自行設定許可權
- -o owner模式,自行設定屬主
- -g group模式,自行設定屬組
壓縮、解壓命令
壓縮格式:gz、bz2、xz、zip、Z
- compress 壓縮後文件名為FILENAME.Z
- uncompress 解壓
- gzip 壓縮後文件名為FILENAME.gz,會刪除原文件
- 選項:
- -d 解壓,會刪除原文件
- -c 輸出結果
- -# [1-9] 指定壓縮比,預設6
- gunzip 解壓,會刪除原文件
- zcat 不解壓的情況下查看文本內容
- bzip2 壓縮後的文件名為FILENAME.bz2,比gzip壓縮比更大,格式相近
- 選項:
- -d 解壓,會刪除原文件
- -k 壓縮保留原文件
- -# [1-9] 指定壓縮比,預設6
- bunzip2 解壓,會刪除原文件
- xz 壓縮後的文件名為FILENAME.xz
- 選項:
- -d 解壓,會刪除原文件
- -k 壓縮保留原文件
- -# [1-9] 指定壓縮比,預設6
- unxz 解壓,會刪除原文件
- xzcat 不解壓的情況下查看文本內容
- zip 既歸檔又壓縮,可以壓縮目錄,不刪除原文件
- zip filename.zip file1 file2
- zip filename.zip DIR/*
- unzip 解壓,不刪除原文件
- archive 歸檔,不壓縮
- tar 歸檔,不壓縮(常用)
- 選項:
- -c 創建歸檔文件
- -f file.tar 指定歸檔操作的文件
- -x 還原歸檔
- -cf 歸檔文件,f選項必須在歸檔後文件名前
- -xf 解壓歸檔文件,f選項必須在歸檔前文件名前
- -v 顯示詳細信息
- -p 保留許可權信息,只有管理員才有此選項的使用許可權
- -C 將展開的歸檔文件保存到指定的目錄下
- --delete 從歸檔文件中刪除文件
- --xattrs 歸檔時保留擴展屬性信息
- -tf 不展開歸檔,直接查看歸檔了哪些文件
- -tvf 不展開歸檔,直接查看歸檔了哪些文件,可以查看歸檔文件的詳細信息
- -zcf 歸檔並調用gzip壓縮
- -zxf 調用gzip解壓並展開歸檔
- -jcf 歸檔並調用bzip2壓縮
- -jxf 調用bzip2解壓並展開歸檔
- -Jcf 歸檔並調用xz歸檔
- -Jxf 調用xz解壓並展開歸檔
查看文本
- cat 拼接文件內容並輸出至標準輸出,使用cat查看文件會將文件的所有內容載入至記憶體,所以應該避免使用cat打開巨大文件
- -n 顯示行號
- cat a b >> c 拼接文件內容
- tac 鏈接文件並倒敘列印內容至標準輸出,和cat類似。但這個命令並沒有什麼卵用
- more 全屏查看文本文件內容。只能從前往後,顯示完自動退出
- less 全屏查看文本文件內容。可以往前也能往後,比more高到不知道哪裡去了。推薦使用
- 選項:
- -N 顯示每行的行號
- 快捷鍵:
- /字元串:向下搜索"字元串"的功能
- ?字元串:向上搜索"字元串"的功能
- n:重覆前一個搜索(與 / 或 ? 有關)
- N:反向重覆前一個搜索(與 / 或 ? 有關)
- b 向後翻一頁
- d 向後翻半頁
- h 顯示幫助界面
- Q 退出less 命令
- u 向前滾動半頁
- y 向前滾動一行
- 空格鍵 滾動一頁
- 回車鍵 滾動一行
- [pagedown]: 向下翻動一頁
- [pageup]: 向上翻動一頁
- head 查看文本文件頭部內容,預設列印10行
- 選項:
- -n 指定要列印的行數,可以是-n [NUM],也可以是-[NUM]
- tail 查看文本文件尾部內容
- 選項:
- -n 指定要列印的行數,可以是-n [NUM],也可以是-[NUM]
文本處理
- cut 截取文本內容
- 選項:
- -d 指定欄位分隔符,預設是空格
- -f 指定要顯示的欄位區域,與-d連用
- -f 1,3 顯示1和3
- -f 1-4 顯示1到4
- -b 以位元組分割,可以指定要顯示的位元組範圍
- sed 基於行的過濾與轉換文本的流編輯器,可以對欄位進行替換
- 選項:
- -e [script] 以選項中的指定的script來處理輸入的文本文件
- -f [script文件] 以選項中指定的script文件來處理輸入的文本文件
- 命令:
- a 在當前行下麵插入文本。
- i 在當前行上面插入文本。
- c 把選定的行改為新的文本。
- d 刪除,刪除選擇的行。
- D 刪除模板塊的第一行。
- s 替換指定字元
- = 列印當前行號碼。
- awk 基於列的文本報告工具
- 該命令用法較為複雜,建議查閱:菜鳥教程-AWK命令
文本排序
- sort 預設升序,不是按數值大小排序
- 選項:
- -n 根據數值大小排序
- -r 逆序排序
- -t 欄位分隔符
- -k 以哪個欄位為關鍵字進行排序
- -u 去重,排序後相同的行只顯示為一行
- -f 排序時忽略大小寫
- uniq 報告重覆的行
- 選項:
- -c 顯示文件中行的重覆次數
- -d 只顯示重覆的行
- -u 只顯示為重覆的行
文本統計
- wc 統計
- 選項:
- -c 顯示位元組數
- -l 顯示行數
- -w 顯示單詞數
系統統計
- du 查看文件或目錄占用的磁碟空間
- 選項:
- -h 人性化單位轉換
- -s 顯示總占用
- df 報告文件系統磁碟空間使用情況
- 選項:
- -h 人性化單位轉換
- -i 顯示inode信息
主機名管理
- hostname 查看或臨時修改主機名,生存期到關機前
- hostnamectl 查看或永久修改主機名,生存期到永久
其他
- time 顯示命令執行花費的時間
- clear 清屏,更推薦使用快捷鍵
- whoami 查看當前登錄用戶,也可寫作who am i
- w 顯示當前線上用戶並顯示其在運行的程式
- who 查看當前線上用戶
- which 顯示指定命令的絕對路徑
- date 顯示或設置日期與時間
- 選項:
- -s 以字元串方式設置時間
- 格式化輸出時間 +
- %Y 年
- %m 月
- %d 日
- %H 時
- %M 分
- %S 秒
- cal 列印日曆
- bc 數學運算時保留小數(不常用)
- ldd 查看程式依賴
- 二進位程式
- 庫文件
- 幫助文件
- 設置文件