Linux 基礎(chǔ)操作

一、Linux系統(tǒng)學(xué)習(xí)Idea
學(xué)習(xí)Linux先明確是學(xué)習(xí)Linux操作系統(tǒng)還是某個(gè)Linux發(fā)行版(Ubuntu、CentOS、Fedora、OpenSUSE、Debian、Mint等),發(fā)行版指的是由個(gè)人或者團(tuán)隊(duì)組織編寫的操作系統(tǒng),通常會(huì)包括一些系統(tǒng)軟件和應(yīng)用的軟件,以及一個(gè)用來簡化系統(tǒng)初始安裝的安裝工具,一個(gè)典型的Linux發(fā)行版會(huì)包括Linux內(nèi)核、一些GNU程序庫和工具,命令行shell,圖形界面的X Window系統(tǒng)和相應(yīng)的桌面環(huán)境。

二、LInux基礎(chǔ)操作技能
我們在電腦上操作Linux,需要一個(gè)客戶端,我們稱之為 X Client,常用的客戶端桌面環(huán)境有XFCE、LXDE、KDE和GNOME等。我們下面的操作都是用XFCE。這里還需要了解一個(gè)叫“終端”的東西,英文名叫 Terminal,我們在使用LInux的時(shí)候并不是直接與系統(tǒng)進(jìn)行交互的,而是通過一個(gè)叫shell的中間程序來完成的,而這個(gè)程序是需要我們在一個(gè)窗口進(jìn)行輸入的顯示的。終端的本質(zhì)其實(shí)就是對應(yīng)著LInux上的設(shè)備,Linux多用戶登陸是可以通過不同的設(shè)備來完成,默認(rèn)提供6個(gè)。
了解完Terminal,也來了解一下Shell,Shell的中文名是"殼",蛋殼里就應(yīng)該有”核“,也就是Linux內(nèi)核,Shell提供給使用者使用界面,在UNIX/Linux 中比較流行的Shell有bash、zsh、ksh、csh等,Ubuntu終端默認(rèn)使用bash。
2.1 快捷鍵Tab
這個(gè)是一個(gè)補(bǔ)全的快捷鍵,十分常用,就是你輸入命令的前幾個(gè)字母,然后按一下Tab鍵,就可以提示你命令的全稱。
2.2 停止鍵 Ctrl+C
這個(gè)命令的重要性不言而喻,當(dāng)輸入了一個(gè)錯(cuò)誤的命令的時(shí)候,這個(gè)時(shí)候只需要按住這個(gè)按鈕就可以實(shí)現(xiàn)終止命令的效果。
| 按鍵 | 作用 |
|---|---|
Ctrl+d | 鍵盤輸入結(jié)束或退出終端 |
Ctrl+s | 暫停當(dāng)前程序,暫停后按下任意鍵恢復(fù)運(yùn)行 |
Ctrl+z | 將當(dāng)前程序放到后臺(tái)運(yùn)行,恢復(fù)到前臺(tái)為命令fg |
Ctrl+a | 將光標(biāo)移至輸入行頭,相當(dāng)于Home鍵 |
Ctrl+e | 將光標(biāo)移至輸入行末,相當(dāng)于End鍵 |
Ctrl+k | 刪除從光標(biāo)所在位置到行末 |
Alt+Backspace | 向前刪除一個(gè)單詞 |
Shift+PgUp | 將終端顯示向上滾動(dòng) |
Shift+PgDn | 將終端顯示向下滾動(dòng) |
2.3 常用通配符
通配符可以用來對字符串進(jìn)行模糊匹配,通常出現(xiàn)在命令的參數(shù)內(nèi),Shell在參數(shù)值中遇到了通配符時(shí),將其當(dāng)做路徑或者文件名在磁盤上搜尋可能得匹配,若符合要求的匹配存在,就會(huì)進(jìn)行代換(路徑擴(kuò)展),否則就將該通配符作為一個(gè)普通字符傳遞給命令,再由命令進(jìn)行處理。

比如上面的我新建了2個(gè)txt文件,但后來我忘了文件名,但是記得是txt文件,那么我就可以按照上面的方式去進(jìn)行模糊檢索,找到我們想要的結(jié)果。
還有,如果我們需要匹配創(chuàng)建一些文件,比如相同前綴,只是后綴不同,可以這么操作:

更多的操作就不一一展示了,大家可以看看下面的列表:
| 字符 | 含義 |
|---|---|
* | 匹配 0 或多個(gè)字符 |
? | 匹配任意一個(gè)字符 |
[list] | 匹配 list 中的任意單一字符 |
[^list] | 匹配 除 list 中的任意單一字符以外的字符 |
[c1-c2] | 匹配 c1-c2 中的任意單一字符 如:[0-9][a-z] |
{string1,string2,...} | 匹配 string1 或 string2 (或更多)其一字符串 |
{c1..c2} | 匹配 c1-c2 中全部字符 如{1..10} |
2.4 命令行中自尋幫助
這個(gè)命令就是 man 了,后面跟上命令名稱即可。
2.5 安裝額外命令
有一些命名本身系統(tǒng)沒有自帶的,需要我們額外安裝,大致的腳本如下:
$?sudo?apt-get?update
$?sudo?apt-get?install?sysvbanner

三、用戶及文件權(quán)限管理
我們知道LInux是允許多個(gè)用戶同時(shí)登陸的操作系統(tǒng),因此需要對各自用戶的文件資源進(jìn)行管理,不同用戶之間不可以輕易地看到、修改彼此的文件。
3.1 查看當(dāng)前用戶- who
關(guān)鍵命令用 who am i,即可輸出當(dāng)前的用戶名,更多參數(shù):
| 參數(shù) | 說明 |
|---|---|
-a | 打印能打印的全部 |
-d | 打印死掉的進(jìn)程 |
-m | 同am i,mom likes |
-q | 打印當(dāng)前登錄用戶數(shù)及用戶名 |
-u | 打印當(dāng)前登錄用戶登錄信息 |
-r | 打印運(yùn)行等級(jí) |
3.2 用戶的創(chuàng)建與刪除
在Linux中最高權(quán)限的用戶角色就是root了,他可以做一切的操作,極為強(qiáng)大與危險(xiǎn),建議平時(shí)還是使用普通角色來操作系統(tǒng),避免出現(xiàn)不想看到的情況。但要?jiǎng)?chuàng)建Linux用戶,是需要用到root權(quán)限的,那么我們可以使用 sudo 命令來切換到root用戶。

創(chuàng)建了用戶,那么我們可以用過 su -l 來切換用戶了。
那接下來,我們可以學(xué)習(xí)下如何刪除用戶了,也是簡單的命令 sudo deluser ,默認(rèn)刪除用戶后是會(huì)保留相關(guān)的工作路徑下的文件,如果加上 --remove-home 就會(huì)把所有的東西都刪掉啦。
3.3 用戶組的創(chuàng)建、賦權(quán)與刪除
用戶組的概念其實(shí)很好理解,其實(shí)就是我們所加入的“組織”,那么我們?nèi)绻榭串?dāng)前狀態(tài)下到底加入了什么用戶組呢?
group?
可以看到只有一個(gè)叫 samlam的用戶組,這個(gè)就是上面我創(chuàng)建用戶時(shí)候自帶的,我們可以嘗試用sudo命令,但是發(fā)現(xiàn)沒有權(quán)限(因?yàn)槲覀儾辉趕udo用戶組底下),所以事情來了,如何把我們剛剛給自己新建的用戶也賦予上sudo權(quán)限呢?

其實(shí)也很簡單的,就是用 usermod 命令即可實(shí)現(xiàn)。

刪除用戶組,也是很簡單的一個(gè)命令 ?groupdel 。
3.4 文件權(quán)限管理
這個(gè)簡單理解就是限制文件被誰訪問,給不同的用戶或者用戶組賦予文件的訪問、修改權(quán)限。
我們經(jīng)常用到 ls 這個(gè)命令,我們還可以加一些參數(shù),顯示更多信息:



我們創(chuàng)建一個(gè)文件,默認(rèn)會(huì)是當(dāng)前用戶為其所有者:

那么其實(shí)我們是可以修改所有者的:

默認(rèn)我們創(chuàng)建的文件都是 rw-rw-r-- 的,也就是沒有執(zhí)行的權(quán)限,我們需要對文件的權(quán)限進(jìn)行修改,在了解文件權(quán)限修改命令前,我們先要理解一下權(quán)限的顯示方式,它一般常用的是二進(jìn)制數(shù)字表示,具體見下圖:

每個(gè)文件有三組固定的權(quán)限,分別對應(yīng)擁有者,所屬用戶組,其他用戶,記住這個(gè)順序是固定的。文件的讀寫執(zhí)行對應(yīng)字母 rwx,以二進(jìn)制表示就是 111,用十進(jìn)制表示就是 7。例如我們剛剛新建的文件 learning 的權(quán)限是 rw-rw-r--,換成對應(yīng)的十進(jìn)制表示就是 664,這就表示這個(gè)文件的擁有者,所屬用戶組具有讀寫權(quán)限,不具有執(zhí)行權(quán)限,其他用戶只有讀權(quán)限。
在了解了上面的原理,我們可以修改文件權(quán)限:
chmod?600?learning
ls?-alh?learning
