常用的shell命令總結

2021-12-29 21:44:56 字數 3356 閱讀 3367

基本shell命令

幫助手冊

man: 檢視命令、系統呼叫和庫函式等幫助手冊。 info: 類似man,但不是以分頁的形式顯示。 -help選項: 大多數命令都有這個選項,顯示其使用方法。

檔案和目錄

pwd: 檢視當前工作目錄

cd: 改變工作目錄

.代表當前目錄 ..代表上級目錄 -代表上次所在的目錄

ls: 列出當前目錄中的檔案

-l: 長列表形式,輸入各個檔案的具體資訊 -a: 列出所有檔案,包括以.開頭的隱藏檔案 -h: 以易於閱讀的形式輸出,比如檔案大小以kb,mb為單位 -r: 遞迴地列出子目錄的內容

touch: 建立乙個空檔案,如果檔案已存在,更新訪問時間和修改時間。

cp: 複製檔案

cp source destination

cp source... directory

如果destination是乙個目錄,則把source放到該目錄下,檔名不變。

如果destination是乙個檔名,則把source複製到該路徑處,如果已存在該檔案,則被覆蓋。

-i: 覆蓋前提示 -r: 遞迴複製,包括其中的子目錄和檔案。

ln: 建立檔案鏈結

ln target link-name

建立硬鏈結,目標檔案和鏈結必須在同乙個分割槽上,不能跨檔案系統分割槽。

-s建立符號鏈結,可以跨檔案系統。

mv: 移動、重新命名檔案

- mv source dest

- mv source... directory

rm: 刪除檔案

-r: 遞迴刪除,包括目錄和子目錄 -f: 強制刪除,忽略引數中不存在的檔案,不報錯。 -i: 刪除前提示

mkdir: 建立目錄

建立乙個目錄,如果該目錄已存在,報錯。

-p: 如果目錄已存在,不報錯;如果需要建立的目錄的父目錄不存在,則自動建立。

rmdir: 刪除目錄

預設只能刪除空目錄,不如用rm。

file: 檢視檔案型別

cat: 顯示文字檔案到標準輸出

less: 以分頁的方式檢視檔案,內部操作類似vim。j上移,k下移。

tail: 檢視檔案的最後10行

- -n: 指定行數

- -f: 跟隨檔案的變化,可以對日誌檔案動態跟蹤。

head: 檢視檔案的開頭10行

- -n: 指定行數或者用-n直接指定。

檢測程式

ps: 檢視執行在系統上的程序。

預設情況下,ps只會顯示執行在當前控制台下的屬於當前使用者的程序。

-e: 顯示所有程序 -f: 顯示完整格式的輸出 -l: 顯示長列表輸出

top: 動態顯示系統上的程序

top命令可實時顯示程序資訊。執行時允許鍵入單字元的互動命令,改變top的行為。想要螢幕不再重新整理,輸個命令就可以,比如d。

space/enter: 重新整理 q: 退出 d: 修改輪詢間隔 f: 選擇程序資訊的輸出字段 k: 給程序傳送訊號,需要輸入pid,預設為第乙個程序。

kill: 不只是殺死程序,它可以給程序傳送各種訊號,預設是term。引數只能是pid。

kill pid

-s sig: 指定訊號型別。

killall: 可以通過程序名和萬用字元指定接受訊號的程序。

監測磁碟空間

linux系統中的所有的檔案都被安排到乙個檔案樹(也稱虛擬目錄)下,根目錄是/。硬碟中的檔案系統掛載到這個檔案樹下才能被訪問。

mount: 掛載**裝置。

預設時,輸出當前系統掛載的裝置列表。包括四部分資訊:**的裝置檔名、掛載到虛擬目錄的掛載點、檔案系統型別和已掛載**的訪問狀態。

掛載裝置的完整命令:

mount [-fnrsvw] [-t fstype] [-o options] device dir

umount: 解除安裝裝置。

引數可以是掛載點或者裝置名,如果有程式使用裝置上的檔案,解除安裝失敗。

df: 檢視已掛載裝置的使用情況

-h: human readable

du: 顯示某個目錄的磁碟使用情況

預設情況下,du顯示當前目錄下所有檔案和目錄占用磁碟的大小。

-c: 顯示所有列出檔案的總大小 -h: 以使用者易讀的方式輸出 -s: 顯示每個輸出引數的總計

處理資料檔案

sort: 對檔案中的資料行按照字串比較的結果進行排序

-n: 將字串轉化為數字進行比較 -r: 翻轉輸出的結果

grep: 在檔案中查詢包含匹配指定模式的文字行。

grep功能強大,這裡只做簡要介紹,具體檢視man grep。

grep [options] pattern [file]

pattern預設是正規表示式,也可以在options中指定其為擴充套件正規表示式。要想指定多個模式,輸出匹配任一模式的文字行,可以使用-e pattern這種方式指定,可多次使用-e選項。file可以多個,不指定時為標準輸入。

-v: 反向,輸出不匹配的行 -n: 顯示行號 -e: 用來指定多個模式串

gzip: 壓縮檔案

gunzip: 解壓縮檔案

tar: unix系統中最廣泛使用的歸檔工具,用來打包檔案。

tar function [options] object...

function:

-c: 建立新的歸檔檔案 -a: 將乙個歸檔檔案追加到另乙個歸檔檔案 -r: 將檔案新增到已有歸檔檔案中 -t: 列出歸檔檔案中的檔名 -x: 從歸檔檔案中提取檔案

options:

-f file: 輸出結果到檔案中 -v: 顯示處理過程 -z: 將輸出重定向給gzip來壓縮內容,或者將輸入先給gunzip解壓縮。

理解shell

shell命令分為內建命令和外部命令。內建命令是編譯在shell內部的命令,而外部命令是其他可執行程式,在執行外部命令的時候需要建立子程序。有的命令可能既有內部實現又有外部程式。

which: 檢視命令的可執行程式的位置,如果只有內部實現,就顯示built-in。

type: 檢視命令的型別,有的命令既是內部命令又有相應的可執行程式。可使用-a引數。

history: 檢視歷史命令

!!: 輸入上條命令

alias: 建立命令別名

預設時檢視系統中已經建立的別名。

alias new-name='command'

printenv: 顯示全域性環境變數的值

set: 顯示全部變數,包括區域性變數、使用者定義變數和全域性變數

var-name=content: 定義區域性變數

區域性變數不會被子程序繼承。

export var-name: 把區域性變數匯出為全域性變數

子shell就能訪問此變數,但是子shell做的修改並不會呈現到父shell中。

unset: 刪除某個環境變數,不會影響父程序。

Shell常用命令總結

shell常用命令總結 1 ls命令 列出檔案 ls la 列出當前目錄下的所有檔案和資料夾 ls a 列出當前目錄下所有以 a字母開頭的檔案 ls l txt 列出當前目錄下所有字尾名為 txt的檔案 2 cp命令 複製 cp a.txt b.txt 把檔案 a的內容複製到b檔案 cp a.txt...

shell 常用命令總結

bin bash if 1 gt 90 then echo good,1 elif 1 gt 70 then echo ok,1 else echo bad,1 fiexit 0 for day in sun mon tue wed thu fri sat doecho day done 如果列表被...

Shell常用命令總結

shell 是乙個用 c 語言編寫的程式,它是使用者使用 linux 的橋梁。shell 既是一種命令語言,又是一種程式語言。shell 是指一種應用程式,這個應用程式提供了乙個介面,使用者通過這個介面訪問作業系統核心的服務。filename filename echo filename echo ...