linux中crw brw lrw等等文件屬性是什么
什么是文件?
所有的文件其實(shí)都是一串字符流,不過(guò)當(dāng)用合適的解析方法,可以得到有效信息,人們?yōu)榱朔奖銓?duì)文件進(jìn)行操作,便按照文件的解析方法的不同,給了文件不同的種類,并用下邊的方式來(lái)標(biāo)記給人看。
今天在查看 /dev/fuse 文件的屬性的時(shí)候,看到了crw_ 權(quán)限位,一時(shí)反應(yīng)不過(guò)來(lái):
[root@localhost ~]# ll /dev/fuse crw-rw-rw-. 1 root root 10, 229 Sep 20 11:12 /dev/fuse
在這里進(jìn)行備注一下,相關(guān)答案來(lái)源于網(wǎng)絡(luò)。
linux中c表示字符設(shè)備文件,b表示塊設(shè)備文件,l表示符號(hào)鏈接文件,r表示可讀權(quán)限,w表示可寫權(quán)限。
linux文件屬性解讀:
文件類型:
-:普通文件 (f)
d:目錄文件
b:塊設(shè)備文件 (block)
c:字符設(shè)備文件 (character)
l:符號(hào)鏈接文件(symbolic link file)
p:命令管道文件(pipe)
s:套接字文件(socket)
文件權(quán)限: 9位,每3位一組,每一組:rwx(讀,寫,執(zhí)行),當(dāng)改組不具有某一權(quán)限用-代替。
第一組為: 文件擁有者的權(quán)限, 該文件的擁有者可以讀寫,但不可執(zhí)行;
第二組為: 同群組的權(quán)限
第三組為: 其他非本群組的權(quán)限
下面看下linux中的文件種類
(1)普通文件('-', regluar file)
分為:二進(jìn)制文件和文本文件
二進(jìn)制文件,是給機(jī)器看的,例如:.bin, .elf文件
文本文件:給人看的,一般為ASCII編碼,需要用ASCII編碼解析,例如:.txt,.c文件。
(2)文件夾文件 ( 'd ', directory file)
一種特殊的文件,特殊在:需要用其庫(kù)函數(shù)打開。
(3)鏈接文件 ('l', link file)
這里是軟連接文件,
注意:軟連接文件和硬鏈接文件的差別,
軟連接文件,本身就是一個(gè)獨(dú)立的文件,有自己的 inode,
硬鏈接文件,不是獨(dú)立的文件,他和被鏈接的文件共用同一個(gè) inode.
(4)管道文件 ('p', piple file)
用于進(jìn)程通信。
(5)套接字文件 ('s', socket file)
用于網(wǎng)絡(luò)。
(6)字符設(shè)備文件 ('c', character file)
為虛擬文件,因?yàn)楸旧聿淮嬖谟谟脖P中,是fs創(chuàng)建的。
不能直接讀寫,要使用API.
(7)塊設(shè)備文件 ('b', block file)
也是虛擬文件,為fd創(chuàng)建,要使用API讀寫。
3. 如何獲取一個(gè)文件的屬性?
(1)shell 中使用 stat 命令
(2)程序中使用 stat API
4. 文件的權(quán)限
(1)文件權(quán)限如何獲得?
在程序中使用 stat API,可以獲得 st_mode 元素,st_mode 是一個(gè)以位為單位記錄內(nèi)容,所以只需要對(duì)對(duì)應(yīng)位進(jìn)行 & 即可,linux提供了對(duì)應(yīng)的宏,可以用宏。
(2)如何判斷程序?qū)ξ募欠裼袡?quán)限?
首先,程序?qū)ξ募臋?quán)限,是由執(zhí)行程序的用戶決定的,用戶有權(quán)限,程序就有,用戶沒(méi)有,程序就沒(méi)有,其次在程序中判斷是否有權(quán)限使用 access API,最后,優(yōu)秀程序在執(zhí)行開始首先要對(duì)操作的文件判斷權(quán)限,如果沒(méi)有權(quán)限,需要對(duì)使用者進(jìn)行提醒。
(3)如何修改權(quán)限?
shell中有chmod命令,同樣也有chmod API,所以使用這個(gè)API即可。
(4)新創(chuàng)建的文件的權(quán)限是怎么確定的?
linux有個(gè) umask 的類似于變量的東西,新文件的權(quán)限通過(guò) umask 來(lái)確定。umask可以在shell中改變。
總結(jié)
以上所述是小編給大家介紹的linux中crw brw lrw等等文件屬性是什么 ,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
ubuntu 13.10編譯安裝mono環(huán)境(二)
接上篇,上篇僅安裝了Mono本身,并沒(méi)有安裝libgdiplus、gtk-sharp、mod_mono、MonoDevelop 等其他相關(guān)的軟件。 這篇主要是配置安裝libgdiplus。2014-07-07
linux下查看系統(tǒng)進(jìn)程占用的句柄數(shù)方法
下面小編就為大家?guī)?lái)一篇linux下查看系統(tǒng)進(jìn)程占用的句柄數(shù)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11
Linux一個(gè)增強(qiáng)的截圖及分享工具:ScreenCloud
今天小編就為大家分享一篇關(guān)于Linux一個(gè)增強(qiáng)的截圖及分享工具:ScreenCloud,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10
Apache Pulsar 微信大流量實(shí)時(shí)推薦場(chǎng)景下實(shí)踐詳解
這篇文章主要為大家介紹了Apache Pulsar 微信大流量實(shí)時(shí)推薦場(chǎng)景下實(shí)踐詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
-bash:/usr/bin/yum:沒(méi)有那個(gè)文件或目錄的解決方案
在CentOS系統(tǒng)中,不慎刪除或卸載了yum可以通過(guò)重新安裝來(lái)恢復(fù),首先,確認(rèn)系統(tǒng)版本,例如CentOS,然后新建所需目錄以存放下載的文件,接下來(lái),分別從鏡像源下載yum組件和python依賴的rpm包,安裝python時(shí),如果遇到依賴問(wèn)題,可選擇強(qiáng)制安裝2024-10-10
阿里云Centos7.X 如何對(duì)外開放端口的方法步驟
這篇文章主要介紹了阿里云Centos7.X 如何對(duì)外開放端口,本文通過(guò)圖文并茂實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
ubuntu16.04 升級(jí)內(nèi)核的方法步驟
這篇文章主要介紹了ubuntu16.04 升級(jí)內(nèi)核的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08

