linux umask 命令快速理解

今天有人問linux建立文件,默認的權限是怎麼來的,忽然想不起了,搜索了下發現umask命令,你們回答的比較繁瑣,其實這樣理解比較好!
 在linux控制檯上敲umask命令,通常會獲得0022,先普及個常識,建立文件不會帶上可執行權限x;建立文件夾會帶上可執行權限(否則怎麼打得開目錄呢),基於這個常識,0022,去掉前面的0,而後對022 按照文件權限標識位的方式取反。以下圖所示:

在此輸入圖片描述

驗證一下,來個shell腳本吧。

str="0 1 2 3 4 5 6 7" && for i1 in ${str}; do for i2 in ${str};do for i3 in ${str}; do umask=${i1}${i2}${i3} && umask 0${umask} && touch ${umask}.txt && mkdir -p ${umask}-dir ;done;done ;done 

這個腳本修改umask,而後建立對應的文件和文件夾,文件取名爲 ${umask}.txt,文件夾取名爲${umask}-dir  
如:umask爲777 ,建立的文件名爲777.txt,文件夾名爲:777-dir  
這樣對應關係就一目瞭然了。
 以下圖示:

在此輸入圖片描述

相關文章
相關標籤/搜索