基礎命令
一些常用快捷鍵
按鍵 | 作用 |
---|---|
Ctrl+c | 結(jié)束當前任務 |
Ctrl+d | 鍵盤輸入結(jié)束或退出終端 |
Ctrl+s | 暫停當前程序,暫停后按下任意鍵恢復運行 |
Ctrl+z | 將當前程序放到后臺運行缕坎,恢復到前臺為命令fg蒂誉,jobs查看當前后臺任務 |
Ctrl+a | 將光標移至輸入行頭教藻,相當于Home鍵 |
Ctrl+e | 將光標移至輸入行末,相當于End鍵 |
Ctrl+k | 刪除從光標所在位置到行末 |
Ctrl+u | 刪除當前行內(nèi)容 |
Alt+Backspace | 向前刪除一個單詞 |
Shift+PgUp | 將終端顯示向上滾動 |
Shift+PgDn | 將終端顯示向下滾動 |
通配符
$ touch love_{1..10}_linux.txt
一次創(chuàng)建多個文件
字符 | 含義 |
---|---|
* | 匹配 0 或多個字符 |
? | 匹配任意一個字符 |
[list] | 匹配 list 中的任意單一字符 |
[!list] | 匹配 除list 中的任意單一字符以外的字符 |
[c1-c2] | 匹配 c1-c2 中的任意單一字符 如:[0-9] [a-z] |
{string1,string2,...} | 匹配 sring1 或 string2 (或更多)其一字符串 |
{c1..c2} | 匹配 c1-c2 中全部字符 如{1..10} |
man命令
在 Linux 環(huán)境中拗盒,如果你遇到困難怖竭,可以使用man 命令,它是Manual page的縮寫陡蝇。
通常情況下痊臭,man 手冊里面的內(nèi)容都是英文的,這就要求你有一定的英文基礎登夫。man 手冊的內(nèi)容很多广匙,涉及了 Linux 使用過程中的方方面面,為了便于查找恼策,是做了分冊(分區(qū)段)處理的鸦致,在Research UNIX、BSD涣楷、OS X 和 Linux 中分唾,手冊通常被分為8個區(qū)段
區(qū)段 | 說明 |
---|---|
1 | 一般命令 |
2 | 系統(tǒng)調(diào)用 |
3 | 庫函數(shù),涵蓋了C標準函數(shù)庫 |
4 | 特殊文件(通常是/dev中的設備)和驅(qū)動程序 |
5 | 文件格式和約定 |
6 | 游戲和屏保 |
7 | 雜項 |
8 | 系統(tǒng)管理命令和守護進程 |
要查看相應區(qū)段的內(nèi)容狮斗,就在 man 后面加上相應區(qū)段的數(shù)字即可绽乔,如:
$ man 1 ls
文件操作
查看文件
使用cat,tac和nl命令查看文件
使用cat,tac和nl命令查看文件。使用cat,tac和nl命令查看文件碳褒。
$ cat -n passwd
nl
命令折砸,添加行號并打印,這是個比cat -n更專業(yè)的行號打印命令沙峻。
這里簡單列舉它的常用的幾個參數(shù):
-b : 指定添加行號的方式睦授,主要有兩種:
-b a:表示無論是否為空行,同樣列出行號("cat -n"就是這種方式)
-b t:只列出非空行的編號并列出(默認為這種方式)
-n : 設置行號的樣式摔寨,主要有三種:
-n ln:在行號字段最左端顯示
-n rn:在行號字段最右邊顯示去枷,且不加 0
-n rz:在行號字段最右邊顯示,且加 0
-w : 行號字段占用的位數(shù)(默認為 6 位)
使用more和less命令分頁查看文件
more 是簡單地分頁查看工具
less 是more和vi的結(jié)合體是复,功能強大
使用head和tail命令查看文件
更直接的只看一行沉填, 加上-n參數(shù),后面緊跟行數(shù):
$ tail -n 1 /etc/passwd
關于tail命令佑笋,不得不提的還有它一個很牛的參數(shù)-f,這個參數(shù)可以實現(xiàn)不停地讀取某個文件的內(nèi)容并顯示斑鼻。這可讓我們動態(tài)查看日志起到實時監(jiān)視的作用蒋纬。
環(huán)境變量
PATH環(huán)境變量是Linux下程序執(zhí)行的搜索路徑,通常全局環(huán)境變量使用大寫。環(huán)境變量僅在當前線程內(nèi)有效蜀备。
查看PATH
$ echo PATH
添加值
$ PATH=$PATH:/home/shiyanlou/mybin
添加到zsh自啟動執(zhí)行
zsh的配置文件為.zshrc关摇,bash的配置文件為.bashrc
$ echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc
變量修改
變量設置方式 | 說明 |
---|---|
${變量名#匹配字串} | 從頭向后開始匹配,刪除符合匹配字串的最短數(shù)據(jù) |
${變量名##匹配字串} | 從頭向后開始匹配碾阁,刪除符合匹配字串的最長數(shù)據(jù) |
${變量名%匹配字串} | 從尾向前開始匹配输虱,刪除符合匹配字串的最短數(shù)據(jù) |
${變量名%%匹配字串} | 從尾向前開始匹配,刪除符合匹配字串的最長數(shù)據(jù) |
${變量名/舊的字串/新的字串} | 將符合舊字串的第一個字串替換為新的字串 |
${變量名//舊的字串/新的字串} | 將符合舊字串的全部字串替換為新的字串 |
刪除變量
$ unset path
環(huán)境變量修改立刻生效
$ source .zshrc
-----
$ . ./.zshrc # 第一個點后邊必須跟絕對路徑
文件搜索
whereis
whereis只能搜索二進制文件(-b)脂凶,man幫助文件(-m)和源代碼文件(-s)宪睹。如果想要獲得更全面的搜索結(jié)果可以使用locate命令。
locate
它可以用來查找指定目錄下的不同文件類型蚕钦,如查找 /etc 下所有以 sh 開頭的文件:
$ locate /etc/sh
注意,它不只是在 etc 目錄下查找并會自動遞歸子目錄進行查找
查找 /usr/share/ 下所有 jpg 文件:
$ locate /usr/share/\*.jpg
注意要添加*號前面的反斜杠轉(zhuǎn)義亭病,否則會無法找到
如果想只統(tǒng)計數(shù)目可以加上-c參數(shù),-i參數(shù)可以忽略大小寫進行查找嘶居,whereis 的-b,-m罪帖,-s同樣可以是使用。
which
which本身是 Shell 內(nèi)建的一個命令邮屁,我們通常使用which來確定是否安裝了某個指定的軟件整袁,因為它只從PATH環(huán)境變量指定的路徑中去搜索命令:
$ which ls
find
find應該是這幾個命令中最強大的了,它不但可以通過文件類型佑吝、文件名進行查找而且可以根據(jù)文件的屬性(如文件的時間戳坐昙,文件的權限等)進行搜索。find命令強大到迹蛤,要把它將明白至少需要單獨好幾節(jié)課程才行民珍,我們這里只介紹一些常用的內(nèi)容。
在指定目錄下搜索指定文件名的文件:
$ find /etc/ -name interfaces
注意 find 命令的路徑是作為第一個參數(shù)的盗飒, 基本命令格式為 find [path] [option] [action]
與時間相關的命令參數(shù):
參數(shù) | 說明 |
---|---|
-atime |
最后訪問時間 |
-ctime |
創(chuàng)建時間 |
-mtime |
最后修改時間 |
下面以-mtime參數(shù)舉例:
? -mtime n
: n 為數(shù)字嚷量,表示為在n天之前的”一天之內(nèi)“修改過的文件
? -mtime +n
: 列出在n天之前(不包含n天本身)被修改過的文件
? -mtime -n
: 列出在n天之內(nèi)(包含n天本身)被修改過的文件
? newer file
: file為一個已存在的文件,列出比file還要新的文件名
文件系統(tǒng)操作及磁盤管理
df
查看磁盤情況
$ df -h #以大小形式顯示逆趣,而不是block塊形式
du
查看文件夾大小
# 只查看1級目錄的信息
$ du -h -d 0 ~
幫助命令
使用type可以判斷命令類型蝶溶,是內(nèi)部命令,還是其他的
- type ls
- type vim
- type ls
help
zsh沒有help命令宣渗,help命令用來顯示shell內(nèi)建命令的簡要幫助信息抖所。
外部命令也可以使用help命令
ls --help
man
man 手冊中一共有這么幾個章節(jié)
章節(jié)數(shù) | 說明 |
---|---|
1 | Standard commands (標準命令) |
2 | System calls (系統(tǒng)調(diào)用) |
3 | Library functions (庫函數(shù)) |
4 | Special devices (設備說明) |
5 | File formats (文件格式) |
6 | Games and toys (游戲和娛樂) |
7 | Miscellaneous (雜項) |
8 | Administrative Commands (管理員命令) |
9 | 其他(Linux特定的), 用來存放內(nèi)核例行程序的文檔痕囱。 |
info
如果man命令顯示的信息還不夠田轧,可以用info命令。但zsh沒有這個命令