一、命令基本格式
- 命令提示符
當(dāng)?shù)卿沴inux系統(tǒng)時(shí)拾徙,最常見的命令就是:
** [root@bogon ~]#**
其中:
root:當(dāng)前登錄用戶
bogon:主機(jī)名(一般情況應(yīng)該是localhost)
~:當(dāng)前所在目錄(家目錄pwd 查看家目錄)管理員是/root 普通用戶是/home/user1
#:超級用戶的提示符(普通用戶的提示符是$)
關(guān)于為什么我的主機(jī)是bogon洲炊,參考:linux主機(jī)名被更改為bogon原理分析
命令格式
命令 [選項(xiàng)] [參數(shù)]
注意:個(gè)別命令使用不遵循此格式。當(dāng)有多個(gè)選項(xiàng)時(shí)尼啡,可以寫在一起暂衡。簡化選項(xiàng)(-a)== 完整選項(xiàng)(--all)。查詢目錄中的內(nèi)容:ls
ls [選項(xiàng)] [文件或目錄]
選項(xiàng):
-a 顯示所有文件崖瞭,包括隱藏文件
-l 顯示詳細(xì)信息
-d 查看目錄屬性
-h 人性化顯示文件大小
-i 顯示inode(索引點(diǎn)狂巢、信息節(jié)點(diǎn))
-
其中,輸入ls -l命令顯示詳細(xì)信息(也可以簡寫成ll)书聚,顯示如圖:
-
-rw-r--r--
- -文件類型(Linux通過權(quán)限位第一個(gè)來判斷文件類型唧领,共有7種藻雌,其中常用的有三種:- 代表文件、 d 代表目錄 斩个、l代表軟鏈接文件)
- 除第一位判斷文件類型胯杭,余下9位,每3位為一組受啥,他們有不同的權(quán)限做个,這些組依次代表: rw-(u 所有者) r--(g 所屬組) r--(o 其他人)
- r讀 w寫 x執(zhí)行
那么大白話翻譯就是:這個(gè)文件的所有者有讀寫權(quán)限。所屬組和其他人只有讀權(quán)限滚局。
.(-rw-r--r--后邊的點(diǎn))代表ACL權(quán)限居暖。(暫時(shí)沒有官方資料證明)
數(shù)字1(點(diǎn)后邊的數(shù)字)代表這個(gè)文件個(gè)數(shù),如果是目錄類型藤肢,就會(huì)顯示它包含多少個(gè)文件太闺。如果是文件,就只是1嘁圈。
第一個(gè)root省骂,代表文件所有者
第二個(gè)root,代表所屬組
-
第二個(gè)root后邊的數(shù)字丑孩,代表文件大小冀宴,單位是字節(jié)。當(dāng)然温学,我們平常習(xí)慣看的是kb略贮、mb這樣的≌提可以在-l后面加個(gè)h逃延,h代表human,意為人性化顯示文件大小轧拄。
后邊的【6月 2 05:20】代表最后一次修改時(shí)間揽祥。
最后一列是文件名稱
-
-
輸入ls -a命令查看所有文件
- 其中以點(diǎn)(.)開頭的代表隱藏文件
-
輸入ls -d表示顯示目錄自身的屬性,而不是目錄中的內(nèi)容檩电,可以和-l連寫拄丰,寫成ls -ld,代表顯示當(dāng)前目錄詳細(xì)信息和屬性
-
ls -i顯示當(dāng)前目錄或文件的索引
-
-h命令其實(shí)前邊例子用過了俐末,人性化顯示文件大小料按,但是我發(fā)現(xiàn)只用-h是沒有作用的,需要和-l連寫
當(dāng)然也可以簡寫成
上圖例子是把 -l -d -h連寫在一起了卓箫,意思是顯示當(dāng)前目錄的詳細(xì)信息和屬性并且人性化顯示大小载矿。
最后說一下linux下文件的一些文件顏色的含義:
綠色---->代表可執(zhí)行文件,(綠色代表通行證的意思)
紅色---->代表壓縮文件
深藍(lán)色---->代表目錄
淺藍(lán)色----->代表鏈接文件
灰色---->代表其它的一些文件
二烹卒、文件處理命令
- 目錄處理命令
- 建立目錄:mkdir
mkdir [-p] [目錄名]
-p 遞歸創(chuàng)建(同時(shí)創(chuàng)建下一層目錄) 如:mkdir -p main/sub 就會(huì)先創(chuàng)建main目錄然后在它下邊創(chuàng)建sub目錄闷盔,必須加-p弯洗,否則報(bào)錯(cuò)。
命令英文原意:make directories
* 切換目錄命令:cd [目錄名] 命令英文原意:change directory
* 簡化操作
cd ~ 或者 cd 都是進(jìn)入當(dāng)前用戶的家目錄
cd - 進(jìn)入上次目錄
cd .. 進(jìn)入上一級目錄
cd . 進(jìn)入當(dāng)前目錄
Linux的清屏快捷鍵:Ctrl+L
* 相對路徑:參照當(dāng)前所在目錄進(jìn)行查找
* 絕對路徑:從根目錄開始指定逢勾,一級一級遞歸查找牡整。在任何目錄下,都能進(jìn)入指定位置敏沉。
* 當(dāng)輸入cd 后不知道后面是什么文件時(shí)果正,可以摁Tab鍵炎码,會(huì)顯示此目錄下一層文件盟迟。輸入cd后,只記得目錄首字母也可以摁Tab鍵潦闲,會(huì)自動(dòng)補(bǔ)全攒菠。忘記命令時(shí)也可以摁Tab幫助。
目錄提示補(bǔ)全:
命令提示補(bǔ)全:
* 查詢所在目錄位置:pwd 命令英文原意:print working directory
* 刪除空目錄:rmdir
rmdir [目錄名] 命令英文原意:remove empty directories
* 刪除文件或目錄:rm
rm [-rf] [文件或目錄] 命令英文原意:remove
選項(xiàng):
-r 刪除目錄(如果不寫歉闰,默認(rèn)是文件辖众。如果確定刪的是目錄,就一定加上-r)
-f 強(qiáng)制(不強(qiáng)制和敬,會(huì)提示“是否刪除”凹炸,如果某目錄下文件很多,就會(huì)每刪一個(gè)問一遍昼弟。)
因?yàn)閯h除的權(quán)限很大啤它,所以一定不要執(zhí)行【rm -rf /】。這會(huì)導(dǎo)致Linux自殺2斩弧1渎狻!【/】是根目錄芭逝,刪除根目錄塌碌,除非你瘋了!
- 復(fù)制文件或目錄:cp
cp [選項(xiàng)] [原文件或目錄] [目標(biāo)目錄] 命令英文原意:copy
選項(xiàng):
-r 復(fù)制目錄(不加-r 復(fù)制文件)
-p 連帶文件屬性復(fù)制
-d 若原文件是鏈接文件旬盯,則復(fù)制鏈接屬性
-a 相當(dāng)于-pdr台妆,就是把上邊三個(gè)選項(xiàng)連寫
將install.log復(fù)制到main/sub1目錄下:
將install.log復(fù)制到main/sub1目錄下的同時(shí)更換一個(gè)新文件名:
復(fù)制main目錄到main2目錄下:
上邊例子,復(fù)制了install.log文件到main/sub1目錄下胖翰,現(xiàn)在查看兩份文件的詳細(xì)信息接剩,發(fā)現(xiàn)時(shí)間是不一致的。工作中有一種特殊情況泡态,需要我們保留原文件的最后一次修改時(shí)間搂漠。
使用-p選項(xiàng)可以將原文件屬性同時(shí)復(fù)制
使用-a選項(xiàng)可以同時(shí)復(fù)制文件或者目錄及其屬性
- 剪切或改名命令:mv
mv [原文件或目錄] [目標(biāo)目錄] 命令英文原意:move
剪切main/anaconda-ks.cfg文件到main2目錄中(只要是不同目錄 就代表執(zhí)行的是剪切)
創(chuàng)建abc文件,并使用mv命令更改其名稱(只要是同一層目錄某弦,即認(rèn)為是改名)
- cat命令桐汤,參考文章:linux命令——cat
-
常用目錄的作用
* / 根目錄
* /bin 命令保存目錄(普通用戶就可以讀取的命令)
* /boot 啟動(dòng)目錄而克。啟動(dòng)相關(guān)文件
* /dev 設(shè)備文件保存目錄(不要輕易去動(dòng))
* /etc 配置文件保存目錄
* /home 普通用戶的家目錄
* /lib 系統(tǒng)庫保存目錄(函數(shù)庫)
* /mnt 系統(tǒng)掛載目錄(因?yàn)槔鲜降膌inux版本,是沒有media和misc目錄的怔毛,所以建議將media和misc都寫在mnt下)
* /media 掛載目錄
* /root 超級用戶的家目錄
* /tmp 臨時(shí)目錄
* /sbin 命令保存目錄(超級用戶才能使用的目錄)
* /proc 偽文件系統(tǒng)员萍,它只存在內(nèi)存當(dāng)中,而不占用外存空間拣度。它以文件系統(tǒng)的方式為訪問系統(tǒng)內(nèi)核數(shù)據(jù)的操作提供接口碎绎。
* /sys 和/proc一樣,都是保存內(nèi)存的過載點(diǎn)
* /usr 系統(tǒng)軟件資源目錄
/usr/bin 系統(tǒng)目錄(普通用戶)
/usr/sbin 系統(tǒng)命令(超級用戶)
* /var 系統(tǒng)相關(guān)文檔內(nèi)容
關(guān)于【/proc】目錄抗果,可閱讀這篇文章:Linux下/proc目錄簡介
根目錄下的bin和sbin筋帖,uer目錄下的bin和sbin都是用來保存系統(tǒng)命令的。其中sbin目錄下的命令只有root用戶可以執(zhí)行冤馏。
- 鏈接命令:ln
ln [-s] [原文件] [目標(biāo)文件] 命令英文原意:link
功能描述:生成鏈接文件
選項(xiàng):
-s 創(chuàng)建軟鏈接(不加默認(rèn)創(chuàng)建硬鏈接)
* **硬鏈接**就是一個(gè)文件的一個(gè)或多個(gè)文件名日麸。再說白點(diǎn),所謂鏈接無非是把文件名和計(jì)算機(jī)文件系統(tǒng)使用的節(jié)點(diǎn)號鏈接起來逮光。因此我們可以用多個(gè)文件名與同一個(gè)文件進(jìn)行鏈接代箭,這些文件名可以在同一目錄或不同目錄。
硬鏈接特征:
1. 擁有相同的i節(jié)點(diǎn)和存儲(chǔ)block塊涕刚,可以看作是同一個(gè)文件
2. 可通過i節(jié)點(diǎn)識別
3. 不能跨分區(qū)
4. 不能針對目錄使用
未刪除newinstall.log這個(gè)硬鏈接之前呢嗡综,查查他們的i節(jié)點(diǎn)是否一致,發(fā)現(xiàn)是一樣的杜漠,更加說明极景,他們雖然看似兩個(gè)不同的文件,但是實(shí)質(zhì)上都鏈接著同一個(gè)文件碑幅。
-
軟鏈接又叫符號鏈接戴陡,這個(gè)文件包含了另一個(gè)文件的路徑名」嫡牵可以是任意文件或目錄恤批,可以鏈接不同文件系統(tǒng)的文件。
特別注意:ln -s [一定要寫原文件的絕對路徑裹赴,如果不寫則表示原文件的軟鏈接也在這個(gè)路徑] [目標(biāo)文件]
軟鏈接特征:
1. 類似Windows的快捷方式
2. 軟鏈接擁有自己的i節(jié)點(diǎn)和block塊喜庞,但數(shù)據(jù)塊中只保存原文件的文件名和i節(jié)點(diǎn)號,并沒有實(shí)際的文件數(shù)據(jù)
3. lrwxrwxrwx: l代表軟鏈接類型 軟連接的文件權(quán)限為rwxrwxrwx棋返,但實(shí)際權(quán)限要看它所包含的另一個(gè)文件的權(quán)限
4. 修改任意文件延都,另一個(gè)都改變
5. 刪除原文件,軟鏈接不能使用
正確的姿勢:
錯(cuò)誤的姿勢:
原文件不寫絕對路徑睛竣,則代表軟連接也是此目錄:
三晰房、文件搜索命令
- 文件搜索命令 locate(優(yōu)點(diǎn)速度快,缺點(diǎn)只能使用文件名搜索)
* locate 文件名(文件名如果不是絕對路徑的話,默認(rèn)會(huì)從根目錄查找)
會(huì)在后臺數(shù)據(jù)庫中按文件名搜索殊者,所以搜索速度很快与境。
* /var/lib/mlocate(可通過【locate locate】命令找到這個(gè)數(shù)據(jù)庫)
#locate命令所搜索的后臺數(shù)據(jù)庫(正常是一天會(huì)更新一次,導(dǎo)致如果創(chuàng)建了新文件猖吴,會(huì)搜索不到)
* updatedb(強(qiáng)制更新/var/lib/mlocate摔刁,這樣即使新創(chuàng)建的文件,也能搜索到了)
下面做個(gè)實(shí)驗(yàn):
在/tmp/目錄下創(chuàng)建一個(gè)test1.abc的文件海蔽,然后使用locate搜索它共屈,結(jié)果肯定是找不到,然后使用強(qiáng)制更新党窜,發(fā)現(xiàn)還是找不到拗引??刑然?這是為什么呢寺擂?
切換到【/etc/updatedb.conf】配置文件:
其中:
1. PRUNE_BIND_MOUNTS = "yes" 意為開啟搜索限制暇务,會(huì)在執(zhí)行l(wèi)ocate命令時(shí)根據(jù)這個(gè)配置去搜索
2. PRUNEFS = "……" 意為搜索時(shí)忽略的文件系統(tǒng)
3. PRUNENAMES = "……" 意為搜索時(shí)忽略的文件類型
4. PRUNEPATHS = "……" 意為搜索時(shí)忽略的目錄(路徑)
知道了上述知識泼掠,/tmp/下創(chuàng)建的test1.abc為什么找不到就不難理解了,因?yàn)楦揪褪枪室夂雎圆蝗ニ阉鬟@個(gè)目錄了嘛垦细!
- 命令搜索命令whereis 與which
- 搜索命令的命令whereis
whereis [選項(xiàng)] 命令名
搜索系統(tǒng)命令所在路徑及幫助文檔所在位置
選項(xiàng):
-b:只查找可執(zhí)行文件
-m:只查找?guī)椭募?
* 搜索命令的命令which
which 命令名
搜索系統(tǒng)命令所在路徑及別名择镇。但不是所有命令都有別名。
--color=auto括改,意思是ls的查詢結(jié)果自動(dòng)顯示各自的顏色腻豌。
注意:實(shí)際上,并不是所有命令都可以查到的嘱能,例如:cd 切換目錄命令吝梅。這是為什么呢?因?yàn)閏d命令是shell自帶命令惹骂,不需要獨(dú)立的執(zhí)行文件苏携。
* PATH環(huán)境變量
* PATH環(huán)境變量:定義的是系統(tǒng)搜索命令的路徑。
注:echo是輸出命令对粪。
實(shí)際上我們每輸入一個(gè)命令右冻,都會(huì)去PATH環(huán)境變量存儲(chǔ)的路徑里找。每個(gè)路徑以冒號分割著拭。
如果輸入的命令在PATH里找不到呢纱扭,就會(huì)報(bào)如下信息:
- 文件搜索命令find(遍歷全部,速度慢)
- find命令
find [搜索范圍] [選項(xiàng)] [搜索條件]
如果使用find命令搜索儡遮,條件是按名稱乳蛾,則名稱一定要寫得準(zhǔn)確度到達(dá)百分之百。否則不會(huì)搜出來!
當(dāng)然如果忘記名稱具體內(nèi)容了肃叶,可以使用通配符忆首,結(jié)果會(huì)與通配符完全匹配才顯示。
選項(xiàng):
-name 按名稱區(qū)分大小寫搜索
-iname 按名稱不區(qū)分大小寫搜索
-user 按照所有者搜索
-nouser 查找沒有所有者的文件
-atime +10 10天前文件訪問時(shí)間
-ctime 10 10天當(dāng)天改變文件屬性時(shí)間
-mtime -10 10天內(nèi)修改文件內(nèi)容時(shí)間
#以上三條選項(xiàng)后綴天數(shù)可以隨意改變被环。
-inum 查詢符合i節(jié)點(diǎn)的文件
-size 查詢符合文件大小的文件(后綴參數(shù)+代表大于 -代表小雨糙及,例如 +25k代表大于25k的為文件)
-size 復(fù)雜化,例如:find /root -size +20k -a -size -50k 意思為:在/root目錄下查詢文件大小為大約20k且小于50k的為文件 筛欢。
-a and 邏輯與浸锨,兩個(gè)條件都滿足
-o or 邏輯或,兩個(gè)條件滿足其中之一即可
-size 更加復(fù)雜版姑,例如:find /root -size +20k -a -size -50k -exec ls -lh {} \;
意思為:在/root目錄下查詢文件大小為大約20k且小于50k的為文件并且顯示詳細(xì)信息 柱搜。
其中 -exec ls -lh {} \; 對搜索結(jié)果執(zhí)行詳細(xì)展示操作。固定格式為:-exec 要執(zhí)行的命令 {} \; 注意空格0铡聪蘸!
* Linux中的通配符
```
* 匹配任意內(nèi)容
? 匹配任意一個(gè)字符
[] 匹配任意一個(gè)中括號內(nèi)的字符
```
匹配 *:
匹配 ? :
匹配 [] 內(nèi)任意字符:
使用選項(xiàng)【-iname】不區(qū)分大小寫搜索文件
查詢有所有者的文件
查詢沒有所有者的文件表制,這樣的文件除了proc和sys目錄下和U盤文件之外健爬,都是linux的垃圾文件,直接刪除即可么介。
查詢/var/log目錄下10天以前是否有修改過內(nèi)容的log文件
查詢大于25k的文件娜遵。此處注意千字節(jié)要小寫的k,兆字節(jié)要大寫的M壤短。
查詢符合i節(jié)點(diǎn)的文件
查詢/root目錄下文件大小大于2k且小于10k的文件并顯示結(jié)果的詳細(xì)信息设拟!
- 字符串搜索命令grep
grep [選項(xiàng)] 字符串 文件名
在文件當(dāng)中匹配符合條件的字符串,并將字符串所在的行一起顯示出來
選項(xiàng):
-i 忽略大小寫
-v 排除指定字符串
這個(gè)命令比較簡單久脯,就不做太多例子了纳胧。
- find命令與grep命令的區(qū)別
- find命令:在系統(tǒng)當(dāng)中搜索符合條件的文件名。如果需要匹配帘撰,使用通配符匹配跑慕,通配符是完全匹配。范圍是系統(tǒng)中骡和。
- grep命令:在文件的那個(gè)中搜索符合條件的字符串涨椒。如果需要匹配則使用正則表達(dá)式匹配福贞,正則表達(dá)式包含匹配,即結(jié)果中包含符合條件字符串,就會(huì)顯示整行付材。范圍是一個(gè)文件中刁笙。
四泻肯、幫助命令
- 幫助命令 man(manual)
man 命令(不包含shell內(nèi)部命令)
獲取指定命令的幫助
例如海洼,獲取ls命令的幫助
下面搜索以下man的man幫助:
會(huì)發(fā)現(xiàn)man這個(gè)命令有以下級別佳励,其中:
1. 查看用戶命令幫助
2. 查看可被內(nèi)核調(diào)用的函數(shù)的幫助
3. 查看函數(shù)和函數(shù)庫的幫助
4. 查看設(shè)備和特殊文件的幫助(主要是/dev目錄的文件)
5. 查看配置文件的幫助
6. 查看游戲的幫助
7. 查看其他雜項(xiàng)的幫助
8. 查看系統(tǒng)管理員可用命令的幫助
查看命令擁有哪個(gè)級別的幫助
-
man -f 命令 相當(dāng)于 whatis 命令
舉個(gè)例子:查詢passwd命令的級別,發(fā)現(xiàn)它有兩個(gè)級別1和5蛆挫,如果直接輸入man passwd的話赃承,默認(rèn)會(huì)進(jìn)入最小級別。
-
man [級別] 命令
查看命令指定的級別的幫助文檔
查看和命令相關(guān)的所有幫助
man -k 命令 相當(dāng)于 apropos 命令
會(huì)查找到所有包含指定命令的命令的幫助信息
使用apropos查詢
- 其他幫助命令
- 選項(xiàng)幫助
命令 --help
獲取命令選項(xiàng)的幫助
實(shí)際很長悴侵,下圖只是部分截圖:
- shell內(nèi)部命令幫助
help shell內(nèi)部命令
獲取shell內(nèi)部命令的幫助
怎么區(qū)分是否是shell的內(nèi)部命令呢瞧剖?
使用【whereis 命令】可以區(qū)分,只要沒有找到bin目錄可免,即代表這個(gè)命令屬于shell自帶命令
通過whereis找不到命令的執(zhí)行文件抓于,即代表它是shell內(nèi)部命令,使用【help 命令】的方式找它的幫助
- 詳細(xì)命令幫助info
info 命令
操作:
-回車 → 進(jìn)入子幫助頁面(帶有*號標(biāo)記)
-u → 進(jìn)入上層頁面
-n → 進(jìn)入下一個(gè)幫助小節(jié)
-p → 進(jìn)入上一個(gè)幫助小節(jié)
-q → 退出
info這個(gè)命令浇借,打開后是一個(gè)整體的大文檔捉撮,包含了所有的命令。
具體可參考這篇文章:重拾簡單的linux指令之info
五妇垢、壓縮與解壓縮命令
.zip格式壓縮(與windows互通巾遭,是同一種壓縮)
zip 壓縮文件名 源文件
壓縮文件
zip -r 壓縮文件名 源目錄
壓縮目錄
壓縮文件:
壓縮目錄:
.zip格式解壓縮(與windows互通,是同一種壓縮)
unzip 壓縮文件
解壓縮.zip文件
.gz格式壓縮(可以被windows的壓縮軟件解壓縮)
gzip 源文件
壓縮為.gz格式的壓縮文件闯估,源文件會(huì)消失
gzip -c 源文件 > 壓縮文件
壓縮為.gz格式灼舍,源文件保留
gzip -r 目錄
壓縮目錄下的所有文件,但是不能壓縮目錄
.gz格式解壓縮
gzip -d 壓縮文件
解壓縮文件
gunzip 壓縮文件
解壓縮文件
解壓縮目錄睬愤,加-r
.bz2格式壓縮
注意:bzip2命令不能壓縮目錄
bzip2 源文件
壓縮為.bz2格式片仿,不保留源文件
bzip2 -k 源文件
壓縮為.bz2格式,保留源文件
.bz2格式解壓縮
bzip2 -d 壓縮文件
解壓縮 -k 保留壓縮文件
bunzip2 壓縮文件
解壓縮 -k 保留壓縮文件
打包命令tar
tar -cvf 打包文件名 源文件
選項(xiàng):
-c 打包
-v 顯示過程
-f 指定打包后的文件名
解打包命令
tar -xvf 打包文件名
選項(xiàng):
-x 解打包
我發(fā)現(xiàn)尤辱,這個(gè)解打包命令,在解了之后厢岂,如果目錄上存在同名文件是不提示直接覆蓋的光督。導(dǎo)致我第一次解完都沒看到效果。后來刪掉了原文件塔粒,再次解包结借,才能看出效果。
.tar.gz壓縮格式
其實(shí).tar.gz格式是先打包為.tar格式卒茬,再壓縮為.gz格式
tar -zcvf 壓縮包名.tar.gz 源文件
選項(xiàng):
-z 壓縮為.tar.gz格式
tar -ztvf 壓縮包名.tar.gz
選項(xiàng):
-t 不解壓.tar.gz格式文件船老,只是查看內(nèi)容(.tar.bz2也通用)
tar -zxvf 壓縮包名.tar.gz
選項(xiàng):
-x 解壓縮.tar.gz格式
壓縮和解壓縮.tar.gz格式文件:
.tar.bz2壓縮格式
其實(shí).tar.bz2格式是先打包為.tar格式,再壓縮為.bz2格式
tar -jcvf 壓縮包名.tar.bz2源文件
選項(xiàng):
-j 壓縮為.tar.bz2格式
tar -jxvf 壓縮包名.tar.bz2 [-C 目標(biāo)路徑]
選項(xiàng):
-j 解壓縮.tar.bz2格式
[-C 目標(biāo)路徑] 解壓到指定路徑圃酵,不寫這項(xiàng)則認(rèn)為當(dāng)前路徑柳畔。(.tar.gz也通用)
壓縮和解壓縮.tar.bz2格式文件:
將壓縮文件壓縮到指定目錄:
將當(dāng)前文件壓縮到指定路徑:
將壓縮文件解壓到指定路徑:
多個(gè)文件合并壓縮:
不解壓只查看壓縮文件內(nèi)容:
六、關(guān)機(jī)與重啟命令
1. shutdown命令 (更安全郭赐,會(huì)在關(guān)機(jī)時(shí)保存信息)
shutdown [選項(xiàng)] 時(shí)間 [&]
選項(xiàng):
-c 取消前一個(gè)關(guān)機(jī)命令
-h 關(guān)機(jī)
-r 重啟
時(shí)間:
now 代表當(dāng)前時(shí)間
xx:xx 幾點(diǎn)積分
&:
把這條命令放入計(jì)算機(jī)后臺執(zhí)行(記得敲回車才能再次回到終端)薪韩。
不加的話,只要設(shè)定了時(shí)間,沒到指定時(shí)間之前俘陷,系統(tǒng)就會(huì)鎖住罗捎。(如果鎖住,使用ctrl+c解鎖拉盾,可以再重新輸入一條加了&命令)
設(shè)置關(guān)機(jī)命令桨菜,完成后頁面被鎖住,不能操作捉偏。(真實(shí)場景雷激,避免使用關(guān)機(jī)命令,因?yàn)榉?wù)器一般都不在公司里告私,一旦關(guān)了機(jī)屎暇,開機(jī)可不能通過命令遠(yuǎn)程操作哦。)
這時(shí)按Ctrl+C可以取消此命令:
這時(shí)驻粟,再輸入關(guān)機(jī)命令并在后邊+&根悼,即將此任務(wù)放入后臺,并回車蜀撑,就可調(diào)出熟悉的[root@localhost ~]# :
取消關(guān)機(jī)命令:
2. 其他關(guān)機(jī)命令 (不夠安全挤巡,關(guān)機(jī)時(shí)有可能不保存信息)
- halt
- poweroff
- init 0
3. 其他重啟命令
- reboot
- init 6
4. 系統(tǒng)運(yùn)行級別
- 0 關(guān)機(jī)
- 1 單用戶(一般操作忘記密碼 參考:linux單用戶模式)
- 2 不完全多用戶,不含NFS服務(wù)(NFS用戶共享服務(wù))
- 3 完全多用戶(包含NFS服務(wù))
- 4 未匹配
- 5 圖形界面(前提是給系統(tǒng)裝了圖形界面才能啟動(dòng))
- 6 重啟
5. 查看系統(tǒng)運(yùn)行級別
runlevel
其中:
前一個(gè)N代表之前的運(yùn)行級別是Null 后邊的3酷麦,代表當(dāng)前的運(yùn)行級別是3矿卑。
6. 修改系統(tǒng)默認(rèn)運(yùn)行級別
使用cat /etc/inittab命令,查看inittab內(nèi)容:
7. 退出登錄命令
logout
七沃饶、其他常用命令
掛載命令
在Linux當(dāng)中母廷,將一個(gè)文件系統(tǒng)的頂層目錄掛到另一個(gè)文件系統(tǒng)的子目錄上,使它們成為一個(gè)整體糊肤,稱為掛載琴昆。把該子目錄稱為掛載點(diǎn)。
** 1. 查詢與自動(dòng)掛載**
mount
查詢系統(tǒng)中已經(jīng)掛載的設(shè)備
為了更容易理解馆揉,解說第一條:
/dev/sda5 on / type ext4 (rw)
代表第一塊(SCSI or SATA 接口)硬盤的第一個(gè)邏輯分區(qū)掛載在根分區(qū)业舍,它的文件系統(tǒng)是ext4,權(quán)限是讀寫升酣。
/dev/sda5:第一塊(SCSI or SATA 接口)硬盤的第一個(gè)邏輯分區(qū)
那么是不是呢舷暮?切換到根目錄下的dev目錄使用find命令搜索:
【.】:代表當(dāng)前目錄,此處為dev目錄
【sda】:代表整個(gè)硬盤
【sda1~5】:代表分區(qū)1~5噩茄。由此可見下面,并不是所有的分區(qū)都掛載。mount查詢的已經(jīng)掛載設(shè)備中只看到了sda1巢墅、3和5诸狭。
為什么說sda5是第一個(gè)邏輯分區(qū)券膀,請看下圖
mount -a
依據(jù)配置文件/etc/fstab的內(nèi)容,自動(dòng)掛載
打開/etc/fstab文件驯遇,有以下內(nèi)容:
雖然看不懂特別多芹彬,但大致意思是能看明白的,對吧叉庐。這就和我們之前查到的已經(jīng)掛載的設(shè)備聯(lián)接上了舒帮。
只要執(zhí)行mount -a就可以根據(jù)/etc/fstab內(nèi)容實(shí)現(xiàn)自動(dòng)掛載。
** 2. 掛載命令格式**
mount [-t 文件系統(tǒng)] [-o 特殊選項(xiàng)] 設(shè)備文件名 掛載點(diǎn)
選項(xiàng):
-t 文件系統(tǒng):加入文件系統(tǒng)類型來指定掛載的類型陡叠,可以ext3玩郊、ext4(centos 6+)、iso9660(光盤的默認(rèn)文件系統(tǒng))等文件系統(tǒng)
-o 特殊選項(xiàng):可以指定掛載的額外選項(xiàng)
特殊選項(xiàng):
做個(gè)實(shí)驗(yàn)枉阵,測試exec/noexec選項(xiàng):
使用vi命令創(chuàng)建一個(gè)hello.sh文件
關(guān)于vi译红,參考:vi/vim基本使用方法假如我會(huì)寫腳本了,寫了個(gè)hello world兴溜,每個(gè)程序員的第一步侦厚,首先向世界打個(gè)招呼_
#!/bin/bash
//是指此腳本使用/bin/bash來解釋執(zhí)行,#!是特殊的表示符拙徽,其后面根的是此解釋此腳本的shell的路徑刨沦。
-
切換到home目錄,可以看到新創(chuàng)建的hello.sh文件:
-
給hello.sh設(shè)置執(zhí)行權(quán)限 chmod 755 hello.sh膘怕,發(fā)現(xiàn)權(quán)限的確增加了x想诅,并且文件名稱變成鮮明的綠色~
-
直接輸入它的路徑,就可以直接執(zhí)行文件中腳本岛心,so輸出了可愛可親的来破,“hello world”,我說hello鹉梨,記得給我回world~哈哈
-
重點(diǎn)來了讳癌,對/home目錄執(zhí)行了重新掛載并不允許執(zhí)行其內(nèi)部的可執(zhí)行文件的特殊選項(xiàng),直接導(dǎo)致我們剛才新建的hello.sh文件存皂,無法打開,因?yàn)槟居袡?quán)限了大門都鎖上了逢艘,門里的小盒子還能打開嗎旦袋?當(dāng)然是不行的!當(dāng)然對root用戶是有辦法打開的它改,但現(xiàn)在重點(diǎn)不再此哦~
-
這樣太危險(xiǎn)了疤孕,還是恢復(fù)會(huì)來吧~
** 3. 掛載光盤**
mkdir /mnt/cdrom
建立掛載點(diǎn)
mount -t iso9660 /dev/cdrom /mnt/cdrom/
掛載光盤
or
mount /dev/sr0 /mnt/cdrom/
系統(tǒng)默認(rèn)知道/dev/sr0是光盤,所以文件系統(tǒng)iso9660也可以省略央拖。
/dev/cdrom是/dev/sr0的軟鏈接祭阀,建議寫/dev/sr0鹉戚,因?yàn)檐涙溄有枰到y(tǒng)完全啟動(dòng)才生效,如果遇到故障专控,為了保險(xiǎn)還是使用/dev/sr0更好抹凳。
出現(xiàn)一行提示,并不是報(bào)錯(cuò)伦腐!因?yàn)樵O(shè)備掛載后默認(rèn)是rw權(quán)限赢底,但光盤是不能寫入的,所以只有讀權(quán)限柏蘑。
切換到掛載點(diǎn)幸冻,查看是否有文件:
** 4. 卸載命令**
umount 設(shè)備文件名或掛載點(diǎn)
** 5. 掛載U盤**
fdisk -l
查看U盤設(shè)備文件名
mount -t vfat /dev/sdb1 /mnt/usb/
掛載U盤
vfat 文件系統(tǒng)fat32
/dev/sdb1 不是固定的,需要fdisk -l查到U盤的設(shè)備文件名才能確定
注意:Linux默認(rèn)是不支持NTFS文件系統(tǒng)的咳焚。
掛載命令用戶登錄查看和用戶交互命令
- 查看登錄用戶信息
w [用戶名]
不寫用戶名洽损,代表查看當(dāng)前登錄的所有用戶信息。
寫了用戶名革半,只查看指定的這個(gè)用戶信息
命令輸出:
* USER:登錄的用戶
* TTY:登陸終端
* FROM:從哪個(gè)IP地址登錄
* LOGIN@:登錄時(shí)間
* IDLE:用戶閑置時(shí)間
JCPU:指的是所有和該終端連接的所有進(jìn)程占用時(shí)間碑定。這個(gè)時(shí)間里并不包括過去的后臺作業(yè)時(shí)間,但卻包括當(dāng)前正在運(yùn)行的后臺作業(yè)所占用時(shí)間督惰。
* PCPU:指當(dāng)前進(jìn)程所占用時(shí)間
* WHAT:當(dāng)前正在運(yùn)行的命令
who
命令輸出:
* 登錄的用戶
* 登陸終端
* 登錄時(shí)間
* 從哪個(gè)IP地址登錄
- 查看當(dāng)前登錄和過去登錄的用戶信息
last
last命令默認(rèn)讀取/var/log/wtmp文件數(shù)據(jù)
命令輸出:
* 登錄的用戶
* 登陸終端
* 登陸IP
* 登錄時(shí)間
* 退出時(shí)間(在線時(shí)間)
這個(gè)數(shù)據(jù)很長不傅,截個(gè)開頭意思意思。這個(gè)日志還是很重要的赏胚,可以查看服務(wù)器是否被入侵访娶。
- 查看所有用戶的最后依次登陸時(shí)間
lastlog
last命令默認(rèn)讀取/var/log/lastlog文件內(nèi)容
命令輸出:
* 登錄的用戶
* 登陸終端
* 登陸IP
* 最后一次登錄時(shí)間