linux
基礎
Ctrl + d 鍵盤輸入結束或者退出終端
Ctrl + S 暫停當前程序,暫停后按下任意鍵回復
Ctrl + z 將當前程序加到后臺運行穿撮, 回復到前臺命令是fg
Ctrl + a 將光標移到行頭,相當于Home鍵
Ctrl + e 將光標移到行尾议忽,相當于end鍵
Ctrl + k 刪除光標所在位置到行末
alt + backspace 向前刪除一個單詞
shift + PgUp 將終端顯示向上滾動
shift + PgDn 將終端顯示向下滾動
shift + 上下左右 移動選中區(qū)域
通配符
終端里面輸入的通配符是由 Shell 處理的裕偿,不是由所涉及到命令語句處理的,它只會出現(xiàn)在命令的“參數(shù)值”里(它不用在 命令名稱里埂材, 命令不記得,那就用Tab補全)汤求。當 Shell 在“參數(shù)值”中遇到了通配符時俏险,Shell 會將其當作路徑或文件名去在磁盤上搜尋可能的匹配:若符合要求的匹配存在,則進行代換(路徑擴展)扬绪;否則就將該通配符作為一個普通字符傳遞給“命令”竖独,然后再由命令進行處理〖放#總之莹痢,通配符 實際上就是一種 Shell 實現(xiàn)的路徑擴展功能。在 通配符被處理后, Shell 會先完成該命令的重組,然后再繼續(xù)處理重組后的命令竞膳,直至執(zhí)行該命令航瞭。
在創(chuàng)建文件的時候,如果需要一次性創(chuàng)建多個文件坦辟,比如:“l(fā)ove_1_linux.txt刊侯,love_2_linux.txt,... love_10_linux.txt”锉走。在 Linux 中十分方便:$ touch love_{1..10}_linux.txt#### Shell 常用通配符:*匹配 0 或多個字符 ?匹配任意一個字符 [list]匹配 list 中的任意單一字符 [!list]匹配 除list 中的任意單一字符以外的字符 [c1-c2]匹配 c1-c2 中的任意單一字符 如:[0-9] [a-z] {string1,string2,...}匹配 sring1 或 string2 (或更多)其一字符串 {c1..c2}匹配 c1-c2 中全部字符 如{1..10}## 權限管理who 命令其它常用參數(shù)參數(shù)說明 -a打印能打印的全部 -d打印死掉的進程 -m同am i,mom likes -q打印當前登錄用戶數(shù)及用戶名 -u打印當前登錄用戶登錄信息 -r打印運行等級 root賬戶擁有至高無上的權利滨彻。可以創(chuàng)建/刪除用戶 su可以切換到用戶user sudo可以以特權級別運行cmd命令挠日,需要當前用戶屬于sudo組疮绷,且需要輸入當前用戶密碼 su -命令也是切換用戶,同時環(huán)境變量也會跟著改變成目標用戶的環(huán)境變量嚣潜。
在 Linux 里面每個用戶都有一個歸屬(用戶組)冬骚,用戶組簡單地理解就是一組用戶的集合,它們共享一些資源和權限懂算,同時擁有私有資源只冻,就跟家的形式差不多,你的兄弟姐妹(不同的用戶)屬于同一個家(用戶組)计技,你們可以共同擁有這個家(共享資源)喜德,爸媽對待你們都一樣(共享權限),你偶爾寫寫日記垮媒,其他人未經(jīng)允許不能查看(私有資源和權限)舍悯。當然一個用戶是可以屬于多個用戶組的,正如你既屬于家庭睡雇,又屬于學忻瘸模或公司。它抱、
使用 usermod 命令可以為用戶添加用戶組秕豫,同樣使用該命令你必需有 root 權限
sudo adduser lilei
sudo deluser lilei --remove-home
一個目錄要同時具有讀權限和執(zhí)行權限才可以打開,而一個目錄要有寫權限才允許在其中創(chuàng)建其它文件观蓄,這是因為目錄文件實際保存著該目錄里面的文件的列表等信息
chmod go-rw iphone6 混移,'g''o'還有'u',分別表示group侮穿,others歌径,user,'+'亲茅,'-' 就分別表示增加和去掉相應的權限沮脖。修改權限
目錄及文件
使用 cd 命令可以切換目錄金矛,在 Linux 里面使用 . 表示當前目錄,.. 表示上一級目錄(**注意勺届,還記得我們上一節(jié)介紹過的,以 . 開頭的文件都是隱藏文件娶耍,所以這兩個目錄必然也是隱藏的免姿,你可以使用 ls -a 命令查看隱藏文件), - 表示上一次所在目錄,~ 通常表示當前用戶的"home"目錄榕酒。使用 pwd 命令可以獲取當前所在路徑(絕對路徑)胚膊。
FHS標準
絕對路徑
關于絕對路徑,簡單地說就是以根"/"目錄為起點的完整路徑想鹰,以你所要到的目錄為終點紊婉,表現(xiàn)形式如: /usr/local/bin,表示根目錄下的 usr 目錄中的 local 目錄中的 bin 目錄辑舷。
相對路徑喻犁,
也就是相對于你當前的目錄的路徑,相對路徑是以當前目錄 . 為起點何缓,以你所要到的目錄為終點肢础,表現(xiàn)形式如: usr/local/bin (這里假設你當前目錄為根目錄)。你可能注意到碌廓,我們表示相對路徑實際并沒有加上表示當前目錄的那個 . 传轰,而是直接以目錄名開頭,因為這個 usr 目錄為 / 目錄下的子目錄谷婆,是可以省略這個 . 的(以后會講到一個類似不能省略的情況)慨蛙;如果是當前目錄的上一級目錄,則需要使用 .. 纪挎,比如你當前目錄為“home”目錄期贫,根目錄就應該表示為 ../../ ,表示上一級目錄("home"目錄)的上一級目錄("/"目錄)
有時候你會遇到想要刪除一些為只讀權限的文件,直接使用rm刪除會顯示一個提示
你如果想忽略這提示廷区,直接刪除文件唯灵,可以使用-f參數(shù)強制刪除
使用通配符批量創(chuàng)建 5 個文件
$ touch file{1..5}.txt
批量將這 5 個后綴為 .txt 的文本文件重命名為以 .c 為后綴的文件
$ rename 's/.txt/.c/' *.txt
批量將這 5 個文件,文件名改為大寫
$ rename 'y/a-z/A-Z/' *.c
使用cat,tac和nl命令查看文件
這兩個命令都是用來打印文件內(nèi)容到標準輸出(終端),其中cat為正序顯示隙轻,tac倒序顯示埠帕。
nl命令,添加行號并打印玖绿,這是個比cat -n更專業(yè)的行號打印命令敛瓷。
-b : 指定添加行號的方式,主要有兩種:
-b a:表示無論是否為空行斑匪,同樣列出行號("cat -n"就是這種方式)
-b t:只列出非空行的編號并列出(默認為這種方式)
-n : 設置行號的樣式呐籽,主要有三種:
-n ln:在行號字段最左端顯示
-n rn:在行號字段最右邊顯示,且不加 0
-n rz:在行號字段最右邊顯示,且加 0
-w : 行號字段占用的位數(shù)(默認為 6 位)
使用more和less命令分頁查看文件
如果說上面的 cat 是用來快速查看一個文件內(nèi)容的狡蝶,那么這個more和less就是天生用來"閱讀"一個文件的內(nèi)容的庶橱,比如說"man"手冊內(nèi)部就是使用的 less 來顯示內(nèi)容。其中more命令比較簡單贪惹,只能向一個方向滾動苏章,而"less"為基于"more"和"vi"(一個強大的編輯器,我們有單獨的課程來讓你學習)開發(fā)奏瞬,功能更強大枫绅。less 的使用基本和 more 一致,具體使用請查看 man 手冊硼端,這里只介紹 more 命令的使用并淋。
使用head和tail命令查看文件
這兩個命令那些性子比較急的人應該會比較喜歡,因為它們一個是只查看的頭幾行(默認為10行珍昨,不足10行則顯示全部)和尾幾行县耽。還是拿 passwd 文件舉例,比如當我們想要查看最近新增加的用戶曼尊,那么我們可以查看這個/etc/passwd文件酬诀,不過我們前面也看到了,這個文件里面一大堆亂糟糟的東西骆撇,看起來實在費神啊瞒御。這里想到系統(tǒng)新增加一個用戶,應該會將用戶的信息添加到passwd文件的最后神郊,那么這時候我們就可以使用tail命令了:甚至更直接的只看一行肴裙, 加上-n參數(shù),后面緊跟行數(shù):