基本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 ...