關(guān)于linux的由來(lái)、發(fā)展歷程之類的我就不去介紹了跌捆,都是些純粹的理論知識(shí)薄湿,感興趣可以直接找度娘叫倍。
寫博客的同時(shí)也能夠促進(jìn)自我進(jìn)步,希望可以和大家一起加油~話不多少豺瘤,上干貨
@TOC
shell的定義
通俗的說(shuō)吆倦,shell就是系統(tǒng)和計(jì)算機(jī)硬件之間進(jìn)行交互的中間介質(zhì)。
==流程:== 用戶操作shell -> shell將輸入的指令傳給系統(tǒng)內(nèi)核執(zhí)行 -> 系統(tǒng)內(nèi)核控制計(jì)算機(jī)硬件去執(zhí)行各項(xiàng)操作
shell中的快捷鍵
快捷鍵 | 作用 |
---|---|
ctrl + c | 取消當(dāng)前命令的執(zhí)行 |
ctrl + d | 關(guān)閉當(dāng)前shell |
ctrl + shift + n | 打開(kāi)一個(gè)新的shell |
ctrl + shift + t | 在當(dāng)前shell下打開(kāi)一個(gè)頁(yè)面 |
ctrl + a | 移動(dòng)光標(biāo)到所在命令首字母 |
ctrl + e | 移動(dòng)光標(biāo)到所在命令末尾 |
ctrl + l | 清屏 |
ctrl + u | 刪除光標(biāo)前面的字母(含有剪切的功能) |
ctrl + k | 刪除光標(biāo)之后的字母(含有剪切的功能) |
ctrl + shift + c | 復(fù)制 |
ctrl + shift + v | 粘貼 |
歷史記錄的查詢坐求、刪除及調(diào)用
命令 | 作用 |
---|---|
history | 查看歷史記錄 |
history -c | 清除當(dāng)前shell中的歷史記錄 |
上下鍵 | 逐行調(diào)用 |
蚕泽!數(shù)字 | 指定行調(diào)用 |
! 字母 | 指定首字母調(diào)用 |
ctrl + r + 關(guān)鍵字 | 指定關(guān)鍵字調(diào)用 |
常用shell命令
文件管理
cat
cat命令: 用于連接文件并打印到標(biāo)準(zhǔn)輸出設(shè)備上
語(yǔ)法格式: cat [-AbeEnstTuv] [--help] [--version] fileName
參數(shù) | 含義 |
---|---|
-n / --number | 從1開(kāi)始對(duì)所有輸出的行數(shù)編號(hào) |
-b / --number-nonblank | 與-n類似,但對(duì)于空白行不編號(hào) |
-s / --squeeze-blank | 遇到連續(xù)兩行以上的空白行瞻赶,替換為一行的空白行 |
-v / --show-nonprinting | 使用^和M符號(hào)替換空格 |
-E / --show-ends | 在每行結(jié)束處顯示$ |
-T / --show-tabs | 將Tab字符顯示為^I |
-A / --show-all | 顯示全部赛糟,等價(jià)于-vET |
-e | 等價(jià)于-vE |
-t | 等價(jià)于-vT |
實(shí)例:
- 將file1的文檔內(nèi)容加上行號(hào)以后輸入到file2文件中:cat -n file1 > file2
- 將file1的文件內(nèi)容加上行號(hào)(空白行不加行號(hào))后輸入到file2文件中:cat -b file1 > file2
- 清空f(shuō)ile文件內(nèi)容:cat /dev/null > file
chgrp
chgrp命令:用于變更文件或目錄的所屬群組
語(yǔ)法格式:chgrp [-cfhRv][--help][--version][所屬群組][文件或目錄...] 或者 chgrp [-cfhRv][--help][--reference=<參考文件或目錄>][--version][文件或目錄...]
參數(shù) | 含義 |
---|---|
-c或--changes | 只顯示更改部分的執(zhí)行過(guò)程 |
-f或--quiet或--silent | 不顯示錯(cuò)誤信息 |
-h或--no-dereference | 只對(duì)符號(hào)連接的文件作修改 |
-R或--recursive | 遞歸處理,將指定目錄下所有文件及子目錄一并處理 |
-v或--verbose | 顯示指令執(zhí)行過(guò)程 |
--help | 在線幫助 |
--reference=<參考文件或目錄> | 把指定文件或目錄的所屬群組全部設(shè)成和參考文件或目錄的所屬群組相同 |
--version | 顯示版本信息 |
實(shí)例:
- 改變文件群組屬性:chgrp -v student test.txt
- 根據(jù)指定文件改變文件的群組屬性:chgrp --reference=test.txt test1.txt
<font color="red" size="2">(改變文件 test1.txt 的群組屬性砸逊,使得文件 test1.txt 的群組屬性和參考文件 test.txt 的群組屬性相同)</font>
chmod
chmod命令:控制文件如何被他人所調(diào)用璧南,分為三級(jí):文件擁有者、群組师逸、其他司倚。
<font color="red" size="2">命令使用權(quán)限:所有使用者</font>
語(yǔ)法格式:chmod [-cfvR] [--help] [--version] mode file...
參數(shù) | 含義 |
---|---|
-c | 若該文件權(quán)限確實(shí)已經(jīng)更改,才顯示其更改動(dòng)作 |
-f | 若該文件權(quán)限無(wú)法被更改也不要顯示錯(cuò)誤訊息 |
-v | 顯示權(quán)限變更的詳細(xì)資料 |
-R | 對(duì)目前目錄下的所有文件與子目錄進(jìn)行相同的權(quán)限變更(即以遞歸的方式逐個(gè)變更) |
--help | 顯示輔助說(shuō)明 |
--version | 顯示版本 |
實(shí)例:
- 將文件 file 設(shè)為所有人皆可讀:chmod ugo+r file / chmod a+r file
- 將文件 file 設(shè)定為文件擁有者和其所屬同一個(gè)群體者可寫入篓像,其它的均不可寫:chmod ug+w,o-w file
- 將 demo.sh 設(shè)定為只有該文件擁有者可以執(zhí)行:chmod u+x,go-x demo.sh
- 將當(dāng)前目錄下的所有文件與子目錄皆設(shè)為任何人可讀榷:chmod -R a+r *
此外chmod也可以用數(shù)字來(lái)表示權(quán)限 - 若要rwx屬性則4+2+1=7
- 若要rw-屬性則4+2=6
- 若要r-x屬性則4+1=5
- 即r=4,w=2员辩,x=1盒粮,最大權(quán)限為777
chown
chown命令:指定文件的擁有者改為指定的用戶或組,用戶可以是用戶名或者用戶ID奠滑;組可以是組名或者組ID丹皱;文件是以空格分開(kāi)的要改變權(quán)限的文件列表妒穴,支持通配符
<font color="red" size="2">root</font>
語(yǔ)法格式:chown [-cfhvR] [--help] [--version] user[:group] file...
參數(shù) | 含義 |
---|---|
user | 新的文件擁有者的使用者 ID |
group | 新的文件擁有者的使用者組(group) |
-c | 顯示更改的部分的信息 |
-f | 忽略錯(cuò)誤信息 |
-h | 修復(fù)符號(hào)鏈接 |
-v | 顯示詳細(xì)的處理信息 |
-R | 處理指定目錄以及其子目錄下的所有文件 |
--help | 顯示輔助說(shuō)明 |
--version | 顯示版本 |
find
find命令:用來(lái)在指定目錄下查找文件,任何位于參數(shù)之前的字符串都將被視為欲查找的目錄名摊崭。不設(shè)置參數(shù)時(shí)讼油,默認(rèn)在當(dāng)前目錄下查找子目錄與文件,并將子目錄與文件全部顯示出來(lái)