Linux筆記

linux

基礎(chǔ)

Ctrl + d 鍵盤輸入結(jié)束或者退出終端

Ctrl + S 暫停當前程序,暫停后按下任意鍵回復(fù)

Ctrl + z 將當前程序加到后臺運行, 回復(fù)到前臺命令是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}## 權(quán)限管理who 命令其它常用參數(shù)參數(shù)說明 -a打印能打印的全部 -d打印死掉的進程 -m同am i,mom likes -q打印當前登錄用戶數(shù)及用戶名 -u打印當前登錄用戶登錄信息 -r打印運行等級 root賬戶擁有至高無上的權(quán)利??梢詣?chuàng)建/刪除用戶 su可以切換到用戶user sudo可以以特權(quán)級別運行cmd命令,需要當前用戶屬于sudo組,且需要輸入當前用戶密碼 su -命令也是切換用戶,同時環(huán)境變量也會跟著改變成目標用戶的環(huán)境變量。

在 Linux 里面每個用戶都有一個歸屬(用戶組),用戶組簡單地理解就是一組用戶的集合,它們共享一些資源和權(quán)限,同時擁有私有資源,就跟家的形式差不多,你的兄弟姐妹(不同的用戶)屬于同一個家(用戶組),你們可以共同擁有這個家(共享資源),爸媽對待你們都一樣(共享權(quán)限),你偶爾寫寫日記,其他人未經(jīng)允許不能查看(私有資源和權(quán)限)。當然一個用戶是可以屬于多個用戶組的,正如你既屬于家庭,又屬于學校或公司。、

使用 usermod 命令可以為用戶添加用戶組,同樣使用該命令你必需有 root 權(quán)限

sudo adduser lilei

sudo deluser lilei --remove-home

一個目錄要同時具有讀權(quán)限和執(zhí)行權(quán)限才可以打開,而一個目錄要有寫權(quán)限才允許在其中創(chuàng)建其它文件,這是因為目錄文件實際保存著該目錄里面的文件的列表等信息

chmod go-rw iphone6 ,'g''o'還有'u',分別表示group,others,user,'+','-' 就分別表示增加和去掉相應(yīng)的權(quán)限。修改權(quán)限

目錄及文件

使用 cd 命令可以切換目錄,在 Linux 里面使用 . 表示當前目錄,.. 表示上一級目錄(**注意,還記得我們上一節(jié)介紹過的,以 . 開頭的文件都是隱藏文件,所以這兩個目錄必然也是隱藏的,你可以使用 ls -a 命令查看隱藏文件), - 表示上一次所在目錄,~ 通常表示當前用戶的"home"目錄。使用 pwd 命令可以獲取當前所在路徑(絕對路徑)。

FHS標準

絕對路徑

關(guān)于絕對路徑,簡單地說就是以根"/"目錄為起點的完整路徑,以你所要到的目錄為終點,表現(xiàn)形式如: /usr/local/bin,表示根目錄下的 usr 目錄中的 local 目錄中的 bin 目錄。

相對路徑,

也就是相對于你當前的目錄的路徑,相對路徑是以當前目錄 . 為起點,以你所要到的目錄為終點,表現(xiàn)形式如: usr/local/bin (這里假設(shè)你當前目錄為根目錄)。你可能注意到,我們表示相對路徑實際并沒有加上表示當前目錄的那個 . ,而是直接以目錄名開頭,因為這個 usr 目錄為 / 目錄下的子目錄,是可以省略這個 . 的(以后會講到一個類似不能省略的情況);如果是當前目錄的上一級目錄,則需要使用 .. ,比如你當前目錄為“home”目錄,根目錄就應(yīng)該表示為 ../../ ,表示上一級目錄("home"目錄)的上一級目錄("/"目錄)

有時候你會遇到想要刪除一些為只讀權(quán)限的文件,直接使用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 : 設(shè)置行號的樣式,主要有三種:

-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命令查看文件

這兩個命令那些性子比較急的人應(yīng)該會比較喜歡,因為它們一個是只查看的頭幾行(默認為10行,不足10行則顯示全部)和尾幾行。還是拿 passwd 文件舉例,比如當我們想要查看最近新增加的用戶,那么我們可以查看這個/etc/passwd文件,不過我們前面也看到了,這個文件里面一大堆亂糟糟的東西,看起來實在費神啊。這里想到系統(tǒng)新增加一個用戶,應(yīng)該會將用戶的信息添加到passwd文件的最后,那么這時候我們就可以使用tail命令了:甚至更直接的只看一行, 加上-n參數(shù),后面緊跟行數(shù):

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容