新聞中心
Ruby語(yǔ)言雖然是一個(gè)比較新型的語(yǔ)言,但是其靈活性易操作性使得這款解釋型腳本語(yǔ)言的應(yīng)用范圍非常廣泛。那么今天我們就為大家介紹有關(guān)Ruby操作文件權(quán)限的一些技巧。#t#

10多年的蘭溪網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整蘭溪建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“蘭溪網(wǎng)站設(shè)計(jì)”,“蘭溪網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
為了得到一個(gè)文件的權(quán)限和所有者,我們能夠是用File的uid和gid方法來(lái)實(shí)現(xiàn)Ruby操作文件權(quán)限:
- data = File.stat("somefile")
- owner_id = data.uid
- group_id = data.gid
類File::Stat 有一個(gè)實(shí)力方法mode,它返回文件的權(quán)限:
- perms = File.stat
("somefile").mode
File的chown方法能夠改變一個(gè)文件的擁有者和組id:
- uid = 201
- gid = 10
- File.chown(uid,
gid, "alpha", "beta")- f1 = File.new("delta")
- f1.chown(uid, gid)
- f2 = File.new("gamma")
- f2.chown(nil, gid) #
Keep original owner id
chmod 方法能夠改變一個(gè)文件的權(quán)限:
- File.chmod(0644,
"epsilon", "theta")- f = File.new("eta")
- f.chmod(0444)
我們經(jīng)常需要知道某個(gè)文件,我們是否有讀或者寫(xiě)的權(quán)限,我們可以使用File::Stat類的一些Ruby操作文件權(quán)限實(shí)例方法:
- info = File.stat("
/tmp/secrets")- rflag = info.readable?
- wflag = info.writable?
- xflag = info.executable?
有時(shí)我們需要區(qū)分有效的用戶id,和實(shí)際的用戶id,我們可以使用readable_real?, writable_real?, 和 executable_real?:
- info = File.stat("/tmp/secrets")
- rflag2 = info.readable_real?
- wflag2 = info.writable_real?
- xflag2 = info.executable_real?
可以通過(guò)比較當(dāng)前進(jìn)程的有效用戶ID(和組ID)來(lái)測(cè)試文件的所有權(quán),File::Stat類有實(shí)例方法 owned?和grpowned?
注意這些Ruby操作文件權(quán)限方法,很多在FileTest里面也有:
- rflag = FileTest::readable?
("pentagon_files")- # Other methods are:
writable? executable? readable_real?- writable_real?
- # executable_real? owned? grpowned?
- # Not found here: uid gid mode
和進(jìn)程聯(lián)系在一起的umask方法決定了一個(gè)新的文件的初始權(quán)限.(unmask的具體含義去網(wǎng)上搜索搜索就有了).
可以通過(guò)File的類方法unmask方法來(lái)獲取umask。如果指定一個(gè)參數(shù),則umask將會(huì)被設(shè)置為這個(gè),并且將會(huì)返回原來(lái)的umask:
- File.umask(0237) #
Set the umask- current_umask =
File.umask# 0237
以上就是全部全部Ruby操作文件權(quán)限的技巧方法介紹。
新聞名稱:Ruby操作文件權(quán)限技巧分享
URL鏈接:http://www.dlmjj.cn/article/cdsdhep.html


咨詢
建站咨詢
