不點兒之Linux檔案系統

含個奶嘴闖天下發表於2020-10-31


一、檔案系統層級結構標準 FHS

1./ 根目錄

/bin:存放使用者使用的命令,二進位制的可執行檔案
/boot:開機啟動相關的檔案
/dev:系統中必要的裝置檔案     sda  null  zero  sr0
/etc:系統配置檔案
/home:普通使用者家目錄,在目錄下有與普通使用者同名的目錄
/root:root使用者的家目錄
/lib
/lib64 庫檔案
/media:可以熱插拔的裝置的掛載點
/mnt:臨時掛載點
/sbin:存放系統相關的命令檔案
/proc:程式及核心資訊以檔案形式展示
/opt:
/usr:
/tmp:存放臨時檔案
/var:系統執行中內容隨時發生變化的檔案
	cache:快取資料	
	log:系統的各種日誌檔案
	mail:存放郵件日誌
	run:存放自系統啟動以來描述斜體樣式系統資訊的檔案

2.常見的目錄及檔案

/etc/bashrc:存放系統內的別名及一些函式
/etc/crontab:計劃任務配置檔案
/etc/fstab:系統啟動時自動掛載的檔案系統
/etc/group:使用者組資訊
/etc/gshadow:組密碼
/etc/hosts:主機名及IP地址
/etc/issue:系統啟動後登入前顯示的資訊
/etc/passwd:使用者的基本資訊檔案
/etc/login.defs:
/etc/shadow:密碼檔案
/etc/shells:記錄系統可以使用的shell
/etc/skel:新使用者預設的環境檔案
/etc/sysconfig:
/etc/yum.repos.d:

二、檔案目錄常用管理命令

1.mkdir:建立目錄

-m:
-p:遞迴建立
-v:顯示建立過程

eg:
mylinux
	bin
	dev
	mnt
	var
		bin
		ocal
		mail
		log
	etc
		sysconfig
			network
	media
# mkdir -pv mylinux/{bin,dev,mnt,var/{bin,local,mail,log},etc/sysconfig/network,media}

2.more less

-num  指定顯示行數  
	more -10  

	/pattern  搜尋字串
	v  呼叫vi編輯器 

3.cat:檢視檔案內容

-n:輸出檔案進行編號
-b:和-n類似 但是對空行不編號
-E:每行結尾處加一個$

4.diff:比較檔案的內容

diff[引數][檔案][檔案1或者目錄1][檔案2或者目錄2]
如果比較的是檔案,則只有當輸出為文字是才有效,以逐行的方式,比較文字的異同。
如果比較的是目錄,diff命令會比較兩個目錄下名字相同的文字檔案,列出不同的二進位制檔案、公共子目錄和只在一個目錄出現的檔案。

5.rm:刪除命令

-r:遞迴刪除
-f:強制刪除

6.touch:建立或修改檔案/目錄的時間戳

無選項:
   若檔案不存在,則建立新的空檔案,access time,modify time和change time均為當前時間
	若檔案存在,則將三個時間戳均修改為當前時間

access time:表示最後一次訪問(僅僅是訪問,沒有改動)檔案的時間。
modify time:表示最後一次修改檔案的時間。
change time:表示最後一次對檔案屬性改變的時間,包括許可權,大小,屬性等等。


-a:只修改access time(注意:access time被修改後,change time也被修改,因為狀態發生了改變)
-m:只修改檔案的modify time(注意:modify time修改後,change time也被修改,因為狀態發生了改變)
-r file:使用指定file檔案的時間戳(access,modify)更新檔案的時間戳(access,modify)(注意:change time發生了變化,變成了當前時間。)

7.stat:檢視檔案詳細資訊

access time表示最後一次訪問(僅僅是訪問,沒有改動)檔案的時間
modify time表示最後一次修改檔案的時間
change time表示最後一次對檔案屬性改變的時間,包括許可權,大小,屬性等等

8.ln 建立連結檔案

硬連結:
軟連結(符號連結)
-s:建立軟連結

9.file 檢視檔案型別

10.cp:複製

    cp [OPTION]... [-T] SOURCE DEST
    cp [OPTION]... SOURCE... DIRECTORY
    cp [OPTION]... -t DIRECTORY SOURCE...

   	-i:互動式複製
   	-f:強制複製
   	-r:遞迴複製
   	-d:複製符號連結檔案本身,不指向原檔案
   	-p:保留原始檔屬性

11.find:查詢指定路徑下的檔案

	find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]
	find path -options [expression](-print -exec -ok )
		-exec
			commond {} \;
		-ok

		options
			-name:按照名稱查詢
			-perm:按照許可權查詢
			-user:按照使用者查詢
			-group:按照使用者組查詢
			-type:按照檔案型別查詢

12.split:分割文件命令

	-b 指定切割檔案的大小
	-d 指定以數字為字尾  預設是字母
	-a與-d配合使用指定字尾長度

13.mv:修改檔名或者變更檔案儲存路徑

	mv [OPTION]... [-T] SOURCE DEST
    mv [OPTION]... SOURCE... DIRECTORY
    mv [OPTION]... -t DIRECTORY SOURCE...

# 三. 檔案系統inode block superblock

在這裡插入圖片描述

在這裡插入圖片描述

四. 檔案處理工具

1.cut:資料剪下

-b:以位元組為單位進行切割
-c:以字元為單位進行切割
-d:自定義分割符
-f:指定切割後顯示的域  這個要和-d配合使用

2.sort:排序

-r:反向排序
-n:以純數字排序
-t:指定分隔符
-k:指定域,與-t配合使用
-u:去重
-o:將排序結果寫入到檔案中	  -o 後接要寫入的檔名

3.uniq:去重

-c:
-d
-D
-f
-i

4.wc:統計指定檔案的行數 字數 位元組數 等

-c
-m
-l:行數
-L:最長行長度
-w:字數

五.檔案搜尋工具

1.grep:

-i:忽略大小寫
-o:僅顯示匹配到的字串
-v:顯示不能被匹配到的行
-n:顯示行號
-A #:後#行
-B #:前#行
-C #:前後#行

2.正規表示式元字元:

字元匹配
	.:匹配的任意單個字元
	[]:匹配指定範圍內的任意單個字元
	[^]:匹配指定範圍外的任意單個字元
匹配次數
	*:匹配前面的字元任意次數 0 1 多次
	.*:匹配任意長度的任意字元
	\?:匹配前面字元0次或者1次
	\+:匹配前面的字元至少1次
	\{m\}:匹配前面的字元m次
	\{m,n\}:匹配前面的字元至少m次最多n次
	\{0,n\}:匹配前面的字元最多n次
	\{m,\}:匹配前面的字元至少m次

位置錨定
	^:行首錨定
	$:行尾錨定
	^pattern$:用pattern匹配整行
	^$
	^[[:space:]]$

	\< \b:詞首錨定
	\>  \b:詞尾錨定
	\<pattern\>:匹配完整單詞
分組和引用
	分組\(\)
	引用
		\1 :
		\2 :
		\3 :

3.檔案搜尋命令:

which
whereis 搜尋程式名 幫助手冊  原始碼檔案

locate
find:
	find  optinon 起始路徑   查詢條件   處理動作
	-name:支援通配
	-user:
	-group:
	-uid
	-gid
	-nouser:
	-nogroup:

	-type:
		f
		d
		l
		s
		c
		b
		p
	-size [-|+]#:
		#:(#-1,#]
		-#:[0,#-1)
		+#:(#,00)
	time
		atime  天
			#:[#,#-1)
			-#:(#,0]
			+#:(00,#-1]
		mtime
		ctime
		amin  分鐘
		mmin
		cmin
	perm
		/mode     /777
		-mode	  /644	

	depth
		-maxdepth
		-mindepth

	處理動作
		-print 
		-exec /-ok  commond {}  \;
			
		-xargs

相關文章