关于mode_t参数的使用!!!祈求您的帮助···先谢谢了···

DeanDeanDean 2009-03-01 10:29:57
我在看linux的时候看到一个函数:mkfifo(···,mode_t mode)建立管道的函数
书上的例子里面这个函数的mode_t参数用的是0777,这个0777和umask掩码怎么联系在一起使用啊???掩码是3位的如:077,这里的mode_t多了一位啊?怎么使用的呢???祈求您的帮助···先谢谢了啊···
...全文
1321 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jack1007 2012-10-22
  • 打赏
  • 举报
回复
mode_t在很多系统命令都用到了,最典型的的应该是ls命令了,不过我觉得0777最前面的0是不是linux下面s权限位呢
feng200950080206 2012-03-26
  • 打赏
  • 举报
回复
解释得好
bluezd 2009-12-28
  • 打赏
  • 举报
回复
学习了!!!
spidertiger 2009-03-11
  • 打赏
  • 举报
回复
@fetag:

最高位的 0 当然是有用的,用来标名它是八进制数!
DeanDeanDean 2009-03-02
  • 打赏
  • 举报
回复
蛋蛋?···谢谢您啊···在网上查咯一下没有看到讲0777的···现在明白咯··初学·问题有点儿白痴希望别介意···在此感谢您了
独孤过儿 2009-03-02
  • 打赏
  • 举报
回复
呵呵,蛋蛋怎么跑这个板块来了?

其实那个mode_t没什么神秘的,说白了就是个整数,在内核里面定义如下:

typedef unsigned short __kernel_mode_t;
typedef __kernel_mode_t mode_t;

书上的例子写0777,实际上最高位的0是没用的,也就是说设备的权限被设置成了所有用户都可读可写且可执行,

就是权限最大的777。如果掩码是077这样的,那直接往整数里面存就行了,读出来的时候,前面的都是零不用管

,后面的依然是77
DeanDeanDean 2009-03-02
  • 打赏
  • 举报
回复
帮帮忙啊···有清楚点儿的吗·
  • 打赏
  • 举报
回复
http://blog.csdn.net/flingblue/archive/2006/12/07/1434108.aspx
看看这个。

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧