linux umask命令快速理解


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 
这样对应关系就一目了然了。
如下图示:

相关内容

    暂无相关文章