一、Linux目錄結(jié)構(gòu)
bin:存放二進(jìn)制可執(zhí)行文件(ls,cat,mkdir等)
boot:存放用于系統(tǒng)引導(dǎo)時使用的各種文件
dev:用于存放設(shè)備文件
etc:存放系統(tǒng)配置文件
home存放所有用戶文件的根目錄
lib:存放跟文件系統(tǒng)中的程序運(yùn)行所需要的共享庫及內(nèi)核模塊
mnt:系統(tǒng)管理員安裝臨時文件系統(tǒng)的安裝點(diǎn)
opt:額外安裝的可選應(yīng)用程序包所放置的位置
proc:虛擬文件系統(tǒng),存放當(dāng)前內(nèi)存的映射
root:超級用戶目錄
sbin:存放二進(jìn)制可執(zhí)行文件钟沛,只有root才能訪問
tmp:用于存放各種臨時文件
usr:用于存放系統(tǒng)應(yīng)用程序磷账,比較重要的目錄/usr/local 本地管理員軟件安裝目錄
var:用于存放運(yùn)行時需要改變數(shù)據(jù)的文件
二史侣、Linux文件基本屬性
1葵孤、通過ll來顯示某個目錄下的內(nèi)容瑰抵,它的第一個字符代表這個文件的類型:
????d:代表目錄
????-: 代表文件
????l: 代表鏈接文檔
????b:代表裝置文件里面的可供儲存的接口設(shè)備(可隨機(jī)存取裝置)寇仓;
????c:代表裝置文件里面的串行端口設(shè)備举户,例如鍵盤、鼠標(biāo)(一次性讀取裝置)
2遍烦、第一個字符后面的九位字符代表該文件的所屬權(quán)限
R:可讀? ? ????W:可寫? ????? X:可執(zhí)行? ?每組中的“-”字符代表沒有此權(quán)限
三俭嘁、Linux處理目錄的常用命令
1、ls - 列出目錄
?ls -a :全部的文件服猪,連同隱藏檔( 開頭為 . 的文件) 一起列出來
?ls -l :?除了文件名之外供填,還將文件的權(quán)限、所有者罢猪、文件大小等信息詳細(xì)列出來
? ? ? ? 注:ls -l 與 ll 兩個命令稍微有點(diǎn)不同近她,ll 命令會把隱藏的文件也列出來
2、cd - 切換目錄
切換目錄首先得知道兩個路徑膳帕,即絕對路徑和相對路徑:
絕對路徑:路徑的寫法粘捎,由根目錄 / 寫起,例如: /usr/share/doc 這個目錄。
相對路徑:路徑的寫法攒磨,不是由 / 寫起泳桦,例如由 /usr/share/doc 要到 /usr/share/man 底下時,可以寫成: cd ../man 這就是相對路徑的寫法
cd ~:回到自己的家目錄
cd ..:回到到當(dāng)前的上一級目錄
cd /usr/local:使用絕對路徑切換
3娩缰、pwd - 顯示當(dāng)前所在的目錄
4灸撰、mkdir - 創(chuàng)建目錄
-m :直接配置配置文件的權(quán)限,不需要看默認(rèn)權(quán)限 的臉色
-p :直接將所需要的目錄(包含上一級目錄)遞歸創(chuàng)建起來漆羔,常用
注意:如果在創(chuàng)建文件的時候報沒有創(chuàng)建文件的權(quán)限時梧奢,可以在命令前加sudo,然后輸入密碼即可
5、touch - 創(chuàng)建文件
touch 命令可創(chuàng)建一個文件演痒,但是不會遞歸創(chuàng)建亲轨,只能在已存在的目錄僅創(chuàng)建一個文件,當(dāng)創(chuàng)建的文件已存在時鸟顺,重新創(chuàng)建也不會覆蓋原有的文件
6惦蚊、sudo - 權(quán)限命令
sudo命令以系統(tǒng)管理者的身份執(zhí)行指令,也就是說讯嫂,經(jīng)由 sudo 所執(zhí)行的指令就好像是 root 親自執(zhí)行
-V:顯示版本編號
-h:會顯示版本編號及指令的使用方式說明
-l:顯示出自己(執(zhí)行 sudo 的使用者)的權(quán)限
-v:因為 sudo 在第一次執(zhí)行時或是在 N 分鐘內(nèi)沒有執(zhí)行(N 預(yù)設(shè)為五)會問密碼蹦锋,這個參數(shù)是重? ? ? ? ? 新做一次確認(rèn),如果超過 N 分鐘欧芽,也會問密碼
-k:將會強(qiáng)迫使用者在下一次執(zhí)行 sudo 時問密碼(不論有沒有超過 N 分鐘)
-b:將要執(zhí)行的指令放在背景執(zhí)行
-p:prompt 可以更改問密碼的提示語莉掂,其中 %u 會代換為使用者的帳號名稱, %h 會顯示主機(jī)名稱
-u:username/#uid 不加此參數(shù)千扔,代表要以 root 的身份執(zhí)行指令憎妙,而加了此參數(shù),可以以 username 的身份執(zhí)行指令(#uid 為該 username 的使用者號碼)
-s:執(zhí)行環(huán)境變數(shù)中的 SHELL 所指定的 shell 曲楚,或是 /etc/passwd 里所指定的 shell
-H:將環(huán)境變數(shù)中的 HOME (家目錄)指定為要變更身份的使用者家目錄(如不加 -u 參數(shù)就是系統(tǒng)管理者 root )
7厘唾、rm - 刪除目錄
rm 命令可以刪除文件或者目錄
-rf:強(qiáng)制刪除文件夾以及文件夾中的所有文件命令,這也是最危險的命令龙誊,使用的時候需謹(jǐn)慎
-i:刪除文件的時候會提示時候要刪除
-f:強(qiáng)制刪除文件抚垃,不會提示
注意:不加-r參數(shù),不能刪除目錄
????????????-r:向下遞歸刪除
????????????-f:直接強(qiáng)行刪除趟大,且沒有任何提示
8鹤树、rmdir - 刪除空的目錄
rmdir 命令是刪除一個空的目錄,加-p的參數(shù)护昧,會遞歸刪除空的目錄魂迄,如果目錄下面有文件,是直接刪除不掉的
9惋耙、cp - 復(fù)制文件或者目錄
?-i:復(fù)制文件的時候會提示
-r:遞歸復(fù)制捣炬,復(fù)制目錄及目錄內(nèi)所有項目
-a:復(fù)制的文件與原文件時間一樣
-p:連同文件的屬性一起復(fù)制過去熊昌,而非使用默認(rèn)屬性(備份常用)
10、mv - 移動文件或者重命名文件
?移動文件或修改文件名湿酸,根據(jù)第二參數(shù)類型決定(如目錄婿屹,則移動文件;如為文件則重命令該文件)推溃,如果要移動多個文件昂利,則我那件之間空格分隔
-f :force 強(qiáng)制的意思,如果目標(biāo)文件已經(jīng)存在铁坎,不會詢問而直接覆蓋
-i :若目標(biāo)文件 (destination) 已經(jīng)存在時蜂奸,就會詢問是否覆蓋!
-u :若目標(biāo)文件已經(jīng)存在硬萍,且 source 比較新扩所,才會升級 (update)
四、Linux文件內(nèi)容查看常用命令
cat:由第一行開始顯示文件內(nèi)容
tac:從最后一行開始顯示朴乖,可以看出 tac是 cat 的倒著寫祖屏!
nl:顯示的時候,順道輸出行號买羞!
more:一頁一頁的顯示文件內(nèi)容
less:與 more 類似袁勺,但是比 more 更好的是,他可以往前翻頁畜普!
head:只看頭幾行
tail:只看尾巴幾行
1期丰、cat - 命令
(1)、一次顯示整個文件
????b:列出行號吃挑,僅針對非空白行做行號顯示咐汞,空白行不標(biāo)行號!
????-n:列印出行號儒鹿,連同空白行也會有行號,與 -b 的選項不同几晤;
(2)约炎、從鍵盤創(chuàng)建一個文件:cat > filename 只能創(chuàng)建新文件,不能編輯已有文件.
(3)、將幾個文件合并為一個文件:cat file1 file2 > file
2蟹瘾、tac - 命令
tac與cat命令剛好相反圾浅,文件內(nèi)容從最后一行開始顯示,可以看出 tac 是 cat 的倒著寫
3憾朴、more - 命令
一頁一頁翻動狸捕,但是只能向下翻頁,不能往上翻
在more 這個程序的運(yùn)行過程中众雷,你有幾個按鍵可以按的:
空白鍵 (space):代表向下翻一頁
Enter:代表向下翻『一行』
/字串:代表在這個顯示的內(nèi)容當(dāng)中灸拍,向下搜尋『字串』這個關(guān)鍵字
:f:立刻顯示出檔名以及目前顯示的行數(shù)
q:代表立刻離開 more 做祝,不再顯示該文件內(nèi)容
b 或 [ctrl]+b:代表往回翻頁,不過這動作只對文件有用鸡岗,對管線無用
4混槐、less - 命令
與more一樣也是一頁一翻動,但是他能任意瀏覽轩性,向前向后都可以翻頁
less運(yùn)行時可以輸入的命令有:
空白鍵:向下翻動一頁声登;
[pagedown]:向下翻動一頁
pageup]:向上翻動一頁
/字串:向下搜尋『字串』的功能
?字串:向上搜尋『字串』的功能
5、head - 命令
取出文件前面幾行揣苏,默認(rèn)是開頭10行
-n:后面接數(shù)字悯嗓,代表顯示幾行的意思
6、tail - 命令
取出文件后面幾行卸察,默認(rèn)是結(jié)尾10行
-f:循環(huán)讀雀(常用于查看日志文件)
-n<行數(shù)>:顯示行數(shù)(從后向前)
7、find - 命令
find是個使用頻率比較高的命令蛾派,常常用它在系統(tǒng)特定目錄下俄认,查找具有某種特征的文件
命令格式:
????find pathname -options [-print -exec -ok ...]
命令參數(shù):
????path:要查找的目錄路徑
????????~表示$HOME目錄
????????.表示當(dāng)前目錄
????????/表示根目錄
????print:表示將結(jié)果輸出到標(biāo)準(zhǔn)輸出。
????exec:對匹配的文件執(zhí)行該參數(shù)所給出的shell命令洪乍,形式為command {} \;眯杏,注意{}與\;之間有空格
????-amin n?? 查找系統(tǒng)中最后N分鐘訪問的文件
????-atime n? 查找系統(tǒng)中最后n*24小時訪問的文件
????-cmin n?? 查找系統(tǒng)中最后N分鐘被改變文件狀態(tài)的文件
????-ctime n? 查找系統(tǒng)中最后n*24小時被改變文件狀態(tài)的文件
????-mmin n?? 查找系統(tǒng)中最后N分鐘被改變文件數(shù)據(jù)的文件
????-mtime n? 查找系統(tǒng)中最后n*24小時被改變文件數(shù)據(jù)的文件
通過一些簡單的例子來介紹下find的常規(guī)用法:
(1)、在當(dāng)前目錄及子目錄中壳澳,查找大寫字母開頭的txt文件
? ? ? ? find . -name '[A-Z]*.txt' -print
(2)岂贩、在當(dāng)前目錄除aa之外的子目錄內(nèi)搜索 txt文件
? ? ? ? find . -path "./aa" -prune -o-name "*.txt" -print
(3)、查找2天內(nèi)被更改過的文件
? ? ? ? find . -mtime -2 -type f -print
(4)巷波、查找10分鐘以前狀態(tài)被改變的
????????find . -cmin +10 -type f -print
注:? 在linux要查找某個文件萎津,但不知道放在哪里了,可以使用下面的一些命令來搜索
? ? ? ? ?which:查看可執(zhí)行文件的位置
? ? ? ? ?whereis:查看文件的位置
? ? ? ? ?locate:配合數(shù)據(jù)庫查看文件位置
? ? ? ? ?find:實(shí)際搜尋硬盤查詢文件名稱
8抹镊、grep - 命令
強(qiáng)大的文本搜索命令锉屈,用于查找文件里符合條件的字符串
以遞歸的方式查找符合條件的文件:
例如,查找指定目錄/etc/acpi 及其子目錄(如果存在子目錄的話)下所有文件中包含字符? ? ? ? ? ? ? ? ? ? ? ? ? ? ?串"update"的文件垮耳,并打印出該字符串所在行的內(nèi)容颈渊,使用的命令為:
????grep -r update /etc/acpi
9、wc - 命令
統(tǒng)計指定的文件中字節(jié)數(shù)终佛、字?jǐn)?shù)俊嗽、行數(shù),并將統(tǒng)計結(jié)果輸出铃彰,不加參數(shù)時查出結(jié)果默認(rèn)為:
????????行數(shù) 單詞數(shù) 字節(jié)數(shù) 文件名
-c:統(tǒng)計字節(jié)數(shù)
-l :統(tǒng)計行數(shù)
-m:統(tǒng)計字符數(shù)
-w:統(tǒng)計詞數(shù)绍豁,一個字被定義為由空白、跳格或換行字符分隔的字符串
五牙捉、Linux 磁盤管理
Linux磁盤管理好壞管理直接關(guān)系到整個系統(tǒng)的性能問題
df:列出文件系統(tǒng)的整體磁盤使用
du:檢查磁盤空間使用量
1竹揍、df - 命令
df命令參數(shù)功能:檢查文件系統(tǒng)的磁盤空間占用情況敬飒,可以利用該命令來獲取硬盤被占用了多少空間,目前還剩下多少空間等信息
-a :列出所有的文件系統(tǒng)鬼佣,包括系統(tǒng)特有的 /proc 等文件系統(tǒng)
-k :以 KBytes 的容量顯示各文件系統(tǒng)
-m:以 MBytes 的容量顯示各文件系統(tǒng)
-h :以人們較易閱讀的 GBytes驶拱、MBytes、KBytes 等格式自行顯示
-H:以 M=1000K 取代 M=1024K 的進(jìn)位方式
-T:顯示文件系統(tǒng)類型, 連同該 partition 的 filesystem 名稱 (例如 ext3) 也列出
-i :不用硬盤容量晶衷,而以inode 的數(shù)量來顯示
2蓝纲、du - 命令
Linux du命令也是查看使用空間的,但是與df命令不同的是Linux du命令是對文件和目錄磁盤使用的空間的查看晌纫,還是和df命令有一些區(qū)別的
-a:列出所有的文件與目錄容量税迷,因為默認(rèn)僅統(tǒng)計目錄底下的文件量而已
-h:以人們較易讀的容量格式 (G/M) 顯示
直接輸入 du 沒有加任何選項時,則 du 會分析當(dāng)前所在目錄的文件與目錄所占用的硬盤空間
六锹漱、Lnux其他命令
1箭养、&、&&哥牍、|毕泌、||? ?命令
&:表示任務(wù)在后臺執(zhí)行,如要在后臺運(yùn)行redis-server,則有? redis-server &
&&:表示前一條命令執(zhí)行成功時嗅辣,才執(zhí)行后一條命令 撼泛,如 echo '1‘ && echo '2'? ?
|:表示管道,上一條命令的輸出澡谭,作為下一條命令參數(shù)愿题,如 echo 'yes' | wc -l
||:表示上一條命令執(zhí)行失敗后,才執(zhí)行下一條命令蛙奖,如 cat nofile || echo "fail"
參考:https://blog.csdn.net/chinabestchina/article/details/72686002
? ?????????https://www.cnblogs.com/gaojun/p/3359355.html