一、Linux目錄結構
bin:存放二進制可執行文件(ls,cat,mkdir等)
boot:存放用于系統引導時使用的各種文件
dev:用于存放設備文件
etc:存放系統配置文件
home存放所有用戶文件的根目錄
lib:存放跟文件系統中的程序運行所需要的共享庫及內核模塊
mnt:系統管理員安裝臨時文件系統的安裝點
opt:額外安裝的可選應用程序包所放置的位置
proc:虛擬文件系統,存放當前內存的映射
root:超級用戶目錄
sbin:存放二進制可執行文件,只有root才能訪問
tmp:用于存放各種臨時文件
usr:用于存放系統應用程序,比較重要的目錄/usr/local 本地管理員軟件安裝目錄
var:用于存放運行時需要改變數據的文件
二、Linux文件基本屬性
1、通過ll來顯示某個目錄下的內容,它的第一個字符代表這個文件的類型:
????d:代表目錄
????-: 代表文件
????l: 代表鏈接文檔
????b:代表裝置文件里面的可供儲存的接口設備(可隨機存取裝置);
????c:代表裝置文件里面的串行端口設備,例如鍵盤、鼠標(一次性讀取裝置)
2、第一個字符后面的九位字符代表該文件的所屬權限
R:可讀? ? ????W:可寫? ????? X:可執行? ?每組中的“-”字符代表沒有此權限
三、Linux處理目錄的常用命令
1、ls - 列出目錄
?ls -a :全部的文件,連同隱藏檔( 開頭為 . 的文件) 一起列出來
?ls -l :?除了文件名之外,還將文件的權限、所有者、文件大小等信息詳細列出來
? ? ? ? 注:ls -l 與 ll 兩個命令稍微有點不同,ll 命令會把隱藏的文件也列出來
2、cd - 切換目錄
切換目錄首先得知道兩個路徑,即絕對路徑和相對路徑:
絕對路徑:路徑的寫法,由根目錄 / 寫起,例如: /usr/share/doc 這個目錄。
相對路徑:路徑的寫法,不是由 / 寫起,例如由 /usr/share/doc 要到 /usr/share/man 底下時,可以寫成: cd ../man 這就是相對路徑的寫法
cd ~:回到自己的家目錄
cd ..:回到到當前的上一級目錄
cd /usr/local:使用絕對路徑切換
3、pwd - 顯示當前所在的目錄
4、mkdir - 創建目錄
-m :直接配置配置文件的權限,不需要看默認權限 的臉色
-p :直接將所需要的目錄(包含上一級目錄)遞歸創建起來,常用
注意:如果在創建文件的時候報沒有創建文件的權限時,可以在命令前加sudo,然后輸入密碼即可
5、touch - 創建文件
touch 命令可創建一個文件,但是不會遞歸創建,只能在已存在的目錄僅創建一個文件,當創建的文件已存在時,重新創建也不會覆蓋原有的文件
6、sudo - 權限命令
sudo命令以系統管理者的身份執行指令,也就是說,經由 sudo 所執行的指令就好像是 root 親自執行
-V:顯示版本編號
-h:會顯示版本編號及指令的使用方式說明
-l:顯示出自己(執行 sudo 的使用者)的權限
-v:因為 sudo 在第一次執行時或是在 N 分鐘內沒有執行(N 預設為五)會問密碼,這個參數是重? ? ? ? ? 新做一次確認,如果超過 N 分鐘,也會問密碼
-k:將會強迫使用者在下一次執行 sudo 時問密碼(不論有沒有超過 N 分鐘)
-b:將要執行的指令放在背景執行
-p:prompt 可以更改問密碼的提示語,其中 %u 會代換為使用者的帳號名稱, %h 會顯示主機名稱
-u:username/#uid 不加此參數,代表要以 root 的身份執行指令,而加了此參數,可以以 username 的身份執行指令(#uid 為該 username 的使用者號碼)
-s:執行環境變數中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
-H:將環境變數中的 HOME (家目錄)指定為要變更身份的使用者家目錄(如不加 -u 參數就是系統管理者 root )
7、rm - 刪除目錄
rm 命令可以刪除文件或者目錄
-rf:強制刪除文件夾以及文件夾中的所有文件命令,這也是最危險的命令,使用的時候需謹慎
-i:刪除文件的時候會提示時候要刪除
-f:強制刪除文件,不會提示
注意:不加-r參數,不能刪除目錄
????????????-r:向下遞歸刪除
????????????-f:直接強行刪除,且沒有任何提示
8、rmdir - 刪除空的目錄
rmdir 命令是刪除一個空的目錄,加-p的參數,會遞歸刪除空的目錄,如果目錄下面有文件,是直接刪除不掉的
9、cp - 復制文件或者目錄
?-i:復制文件的時候會提示
-r:遞歸復制,復制目錄及目錄內所有項目
-a:復制的文件與原文件時間一樣
-p:連同文件的屬性一起復制過去,而非使用默認屬性(備份常用)
10、mv - 移動文件或者重命名文件
?移動文件或修改文件名,根據第二參數類型決定(如目錄,則移動文件;如為文件則重命令該文件),如果要移動多個文件,則我那件之間空格分隔
-f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋
-i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋!
-u :若目標文件已經存在,且 source 比較新,才會升級 (update)
四、Linux文件內容查看常用命令
cat:由第一行開始顯示文件內容
tac:從最后一行開始顯示,可以看出 tac是 cat 的倒著寫!
nl:顯示的時候,順道輸出行號!
more:一頁一頁的顯示文件內容
less:與 more 類似,但是比 more 更好的是,他可以往前翻頁!
head:只看頭幾行
tail:只看尾巴幾行
1、cat - 命令
(1)、一次顯示整個文件
????b:列出行號,僅針對非空白行做行號顯示,空白行不標行號!
????-n:列印出行號,連同空白行也會有行號,與 -b 的選項不同;
(2)、從鍵盤創建一個文件:cat > filename 只能創建新文件,不能編輯已有文件.
(3)、將幾個文件合并為一個文件:cat file1 file2 > file
2、tac - 命令
tac與cat命令剛好相反,文件內容從最后一行開始顯示,可以看出 tac 是 cat 的倒著寫
3、more - 命令
一頁一頁翻動,但是只能向下翻頁,不能往上翻
在more 這個程序的運行過程中,你有幾個按鍵可以按的:
空白鍵 (space):代表向下翻一頁
Enter:代表向下翻『一行』
/字串:代表在這個顯示的內容當中,向下搜尋『字串』這個關鍵字
:f:立刻顯示出檔名以及目前顯示的行數
q:代表立刻離開 more ,不再顯示該文件內容
b 或 [ctrl]+b:代表往回翻頁,不過這動作只對文件有用,對管線無用
4、less - 命令
與more一樣也是一頁一翻動,但是他能任意瀏覽,向前向后都可以翻頁
less運行時可以輸入的命令有:
空白鍵:向下翻動一頁;
[pagedown]:向下翻動一頁
pageup]:向上翻動一頁
/字串:向下搜尋『字串』的功能
?字串:向上搜尋『字串』的功能
5、head - 命令
取出文件前面幾行,默認是開頭10行
-n:后面接數字,代表顯示幾行的意思
6、tail - 命令
取出文件后面幾行,默認是結尾10行
-f:循環讀?。ǔS糜诓榭慈罩疚募?br>-n<行數>:顯示行數(從后向前)
7、find - 命令
find是個使用頻率比較高的命令,常常用它在系統特定目錄下,查找具有某種特征的文件
命令格式:
????find pathname -options [-print -exec -ok ...]
命令參數:
????path:要查找的目錄路徑
????????~表示$HOME目錄
????????.表示當前目錄
????????/表示根目錄
????print:表示將結果輸出到標準輸出。
????exec:對匹配的文件執行該參數所給出的shell命令,形式為command {} \;,注意{}與\;之間有空格
????-amin n?? 查找系統中最后N分鐘訪問的文件
????-atime n? 查找系統中最后n*24小時訪問的文件
????-cmin n?? 查找系統中最后N分鐘被改變文件狀態的文件
????-ctime n? 查找系統中最后n*24小時被改變文件狀態的文件
????-mmin n?? 查找系統中最后N分鐘被改變文件數據的文件
????-mtime n? 查找系統中最后n*24小時被改變文件數據的文件
通過一些簡單的例子來介紹下find的常規用法:
(1)、在當前目錄及子目錄中,查找大寫字母開頭的txt文件
? ? ? ? find . -name '[A-Z]*.txt' -print
(2)、在當前目錄除aa之外的子目錄內搜索 txt文件
? ? ? ? find . -path "./aa" -prune -o-name "*.txt" -print
(3)、查找2天內被更改過的文件
? ? ? ? find . -mtime -2 -type f -print
(4)、查找10分鐘以前狀態被改變的
????????find . -cmin +10 -type f -print
注:? 在linux要查找某個文件,但不知道放在哪里了,可以使用下面的一些命令來搜索
? ? ? ? ?which:查看可執行文件的位置
? ? ? ? ?whereis:查看文件的位置
? ? ? ? ?locate:配合數據庫查看文件位置
? ? ? ? ?find:實際搜尋硬盤查詢文件名稱
8、grep - 命令
強大的文本搜索命令,用于查找文件里符合條件的字符串
以遞歸的方式查找符合條件的文件:
例如,查找指定目錄/etc/acpi 及其子目錄(如果存在子目錄的話)下所有文件中包含字符? ? ? ? ? ? ? ? ? ? ? ? ? ? ?串"update"的文件,并打印出該字符串所在行的內容,使用的命令為:
????grep -r update /etc/acpi
9、wc - 命令
統計指定的文件中字節數、字數、行數,并將統計結果輸出,不加參數時查出結果默認為:
????????行數 單詞數 字節數 文件名
-c:統計字節數
-l :統計行數
-m:統計字符數
-w:統計詞數,一個字被定義為由空白、跳格或換行字符分隔的字符串
五、Linux 磁盤管理
Linux磁盤管理好壞管理直接關系到整個系統的性能問題
df:列出文件系統的整體磁盤使用
du:檢查磁盤空間使用量
1、df - 命令
df命令參數功能:檢查文件系統的磁盤空間占用情況,可以利用該命令來獲取硬盤被占用了多少空間,目前還剩下多少空間等信息
-a :列出所有的文件系統,包括系統特有的 /proc 等文件系統
-k :以 KBytes 的容量顯示各文件系統
-m:以 MBytes 的容量顯示各文件系統
-h :以人們較易閱讀的 GBytes、MBytes、KBytes 等格式自行顯示
-H:以 M=1000K 取代 M=1024K 的進位方式
-T:顯示文件系統類型, 連同該 partition 的 filesystem 名稱 (例如 ext3) 也列出
-i :不用硬盤容量,而以inode 的數量來顯示
2、du - 命令
Linux du命令也是查看使用空間的,但是與df命令不同的是Linux du命令是對文件和目錄磁盤使用的空間的查看,還是和df命令有一些區別的
-a:列出所有的文件與目錄容量,因為默認僅統計目錄底下的文件量而已
-h:以人們較易讀的容量格式 (G/M) 顯示
直接輸入 du 沒有加任何選項時,則 du 會分析當前所在目錄的文件與目錄所占用的硬盤空間
六、Lnux其他命令
1、&、&&、|、||? ?命令
&:表示任務在后臺執行,如要在后臺運行redis-server,則有? redis-server &
&&:表示前一條命令執行成功時,才執行后一條命令 ,如 echo '1‘ && echo '2'? ?
|:表示管道,上一條命令的輸出,作為下一條命令參數,如 echo 'yes' | wc -l
||:表示上一條命令執行失敗后,才執行下一條命令,如 cat nofile || echo "fail"
參考:https://blog.csdn.net/chinabestchina/article/details/72686002
? ?????????https://www.cnblogs.com/gaojun/p/3359355.html