1. 程式人生 > 其它 >linux檔案屬性詳述

linux檔案屬性詳述

目錄

1、檔案型別概念說明

1.檔案屬性資訊組成:
16797782 -rw-r--r--. 1 root root  186 Dec 11 16:40 i.txt

	檔案索引屬性資訊:inode 檔案的唯一標:16797782
	檔案型別許可權資訊:-rw-r--r--.
	檔案硬連結屬性資訊:1
	檔案屬主屬性資訊(所有者):root
	檔案屬組屬性資訊(所屬組):root
	檔案大小屬性資訊(位元組):186
	檔案修改時間資訊:Dec 11 16:40
	檔名稱資訊說明:i.txt

2.inode編號
	linux系統中檔案的唯一編號,就相當於身份證號碼。
	
3.硬連結和軟連結
	硬連結:指向 inode編號。
	軟連結:指向對應檔案的路徑,相當於Windows中的快捷方式
	
4.建立命令
	ln 路徑 新路徑 :建立硬連結
	ln -s 路徑 新路徑 :建立軟連結
	
5.刪除檔案的底層邏輯
	1.刪除的是硬連結
	2.判斷該檔案的硬連結數是否為0
	3.如果為0,則在磁碟中將其刪除
	4.如果不為0,則只刪除其中一個硬連結

2、檔案型別

# 注意:不能以顏色判斷檔案型別!!!

1.普通檔案f/-(file):識別符號f(-)
	純文字檔案:text /etc/hosts
	二進位制檔案:binary /bin/ls
	資料型檔案: data /tmp/etc.tar.gz
2.資料夾d/d(directory):識別符號d
3.連結檔案l/l(軟連結 符號連結 快捷方式):識別符號l(第一個字元l)
4.裝置檔案:識別符號b/c
	b/b(block)(塊裝置檔案/磁碟檔案)
	c/c(character)(字元裝置檔案 會不斷產生字元資訊)
5.套接檔案s/s(socket)(套接介面檔案 和網路有關的檔案):識別符號s
	yum install mariadb* -y
6.管道檔案p/p(pipe)(管道檔案):識別符號p
	也就是把一端的東西給另外一端

# 斷點續傳:判斷本地是否有這個檔案,如果本地有這個檔案的話就是有下載過,從斷掉的地方繼續下載。


3、檔案型別的檢視方法

命令格式:file 檔案資訊
	檔案型別:
		1.配置檔案:.conf
		2.日誌檔案: .log
		3.指令碼檔案:.sh
		4.指令碼檔案:.py
# 注意:拓展名不一定準確,只能做大致判斷,準確判斷的依據是識別符號。

4、檔案軟硬連結說明

1.硬連結:指向indode編號。同一個分割槽中,inode編號相同的互為硬連結。
	建立命令: ln 路徑 新路徑 :不能給目錄建立硬連結
	

2.軟連結:指向對應檔案的路徑資訊,可以防止誤刪資料。
	建立命令:ln -s 路徑 新路徑:路徑使用絕對路徑,不然容易失效

5、儲存資料相關-inode

inode用於存放的是檔案屬性。
檢視命令:ls -lhi 路徑

# inode編號是最小儲存位元組。
# 編號是具有位元組長度限制的,超出會報錯:no space left on device即磁碟空間不足

6、儲存資料相關-block

block塊用於儲存檔案資料資訊。
建立一個非空檔案至少佔用一個inode和一個block塊。
磁碟儲存檔案的邏輯:每個磁碟會有很多的block塊,每個塊預設4KB。
磁碟滿了會報錯。
磁碟讀取資料按照block塊為單位讀取,每讀取一個block塊會消耗一次I/O(input/output磁碟讀寫)


7、訪問檔案原理-inode/block


8、檔案使用者和使用者組

使用者:相當於賬號
	root test
使用者組:某些具有相同屬性的賬號的集合
	root
建立使用者的命令:
	useradd
		引數: 
			-g :指定使用者組(使用者組必須存在)
			-r :建立系統使用者
			-M :不建立家目錄
			-u :指定建立使用者的ID的
			
		系統使用者: uid在 0-999之間的使用者我們看做系統使用者,一般用在啟動程式上,一般不需要登入系統。
		普通使用者: udi在 1000及以上的使用者我們看做普通使用者,
		
建立使用者組的命令
	groupadd
		引數:
			-g :
切換使用者
	su - 使用者名稱
	su 使用者名稱
檢視使用者的ID或者組的ID:
	id 使用者名稱
檢視使用者詳情的檔案:
	cat /etc/passwd
	test01:x:1001:1001:使用者簡介:/home/test01:/bin/bash
    使用者名稱		  : test01
    密碼佔位符    :x
    1001		: userid
    1001		: 組id
    /home/test01 : 家目錄
    /bin/bash	:預設的解析器	
	
# 密碼佔位符如果刪掉了就不需要密碼直接登入系統了
# 解析器:自帶: bash; sh;  需要安裝:zsh

作業

1、不使用useradd建立使用者: