当前位置:  技术问答>linux和unix

如何实现chmod命令

    来源: 互联网  发布时间:2017-05-27

    本文导语:  1. 在学习unix/linux编程实践教程的时候,有个课后习题是:实现chmod命令 2. 但是我想了很久,我只是知道用stat来得到文件的属性。但是如何修改文件的属性却不知道。 3. chmod确实可以修改文件的属性:chmod 777 文件...

1. 在学习unix/linux编程实践教程的时候,有个课后习题是:实现chmod命令
2. 但是我想了很久,我只是知道用stat来得到文件的属性。但是如何修改文件的属性却不知道。
3. chmod确实可以修改文件的属性:chmod 777 文件名
但是,代码层面上面是如何实现的呢?

我曾经想到过一种非常笨的方法是:open一个新的文件,然后设定文件属性为777,再把原来的文件数据copy过来,然后在删除原来的文件,再修改新的文件名为原来文件名即可。但是这种方法明显是太复杂了。
如何实现chmod命令呢?
PS:看了源代码,结果没看懂。。。。

|
if you couldn't understand the source for chmod here:

http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/chmod.c

then I guess you will have to take a look on the implementation of linux file system, ext2 at least, and figure out the way to modify file system metadata directly, which is the place for storing permission bits...

    
 
 

您可能感兴趣的文章:

  • linux下grep命令实现查找多个关键字(与关系和或关系)
  • java怎样实现 运行dos命令行的命令或者windows的程序
  • 在linux下如何编程实现nslookup命令实现的IP地址和域名互相转换的功能?
  • Linux 下的cd命令为什么要实现成shell的内建命令
  • 自己实现linux下的ftp客户端,先用port命令后用append命令,报告错误425请问是哪里错了?,应该把模式置为pasv嘛??
  • 如何实现在接收到远程的命令后格式化磁盘?
  • 用FTP命令实现文件拷贝并改名
  • tac命令的实现?
  • 请问一下dd命令的实现机制,哪里能看到
  • ★★在自己编写的shell程序中,如何实现命令补全?
  • 类似于Shell界面下setup命令的文本模式菜单用C语言如何实现
  • 求教各位大大:关于vi或top命令出现的界面,如何编程才能实现?
  • grep命令的实现
  • 怎样实现命令的快捷方式`
  • 请问,在Cramfs文件系统中怎样实现历史命令记录
  • 开发板运行交互式网页,控件包含linux命令,用什么方法实现?
  • 在java中调用系统FTP命令,实现文件传输???
  • 用shell命令来实现改变文件的icon
  • 不用定时刷新的方法,如何强行刷新网页?用命令实现。
  • 如何编程实现(不用shell命令)修改文件的时间
  • 如何 实现视窗界面与命令界面的切换。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 通过javascript实现DIV居中,兼容各浏览器版本
  • socket实现多文件并发传输,求助多线程实现问题?
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • interface 到底有什么用???实现接口,怎么实现??
  • 通过javascript库JQuery实现页面跳转功能代码
  • 怎么用Jsp实现在页面实现树型结构?
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • windows 下的PortTunnel 在linux下怎么实现?或者相应的已经实现的软件?端口映射
  • php实现socket实现客户端和服务端数据通信源代码
  • 网站重定向用C语言实现iptables,ACL实现
  • flash AS3反射实现(describeType和getDefinitionByName)
  • 求在freebsd+Squid下实现pc上网的透明代理的实现方法!给出具体配置方法的高分谢!
  • boost unordered_map和std::list相结合的实现LRU算法
  • linux下如实现与window下的驱动器实现文件共享??
  • c#通过委托delegate与Dictionary实现action选择器代码举例
  • qt如何实现:操作键盘实现数据的滚动?
  • 使用java jdk中的LinkedHashMap实现简单的LRU算法
  • 我想用APPLET实现读取客户端的图片文件,该如何实现?
  • iphone cocos2d 精灵的动画效果(图片,纹理,帧)CCAnimation实现
  • PING是用TCP,还是用UDP来实现的?或是采用其它协议实现的?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • ejb-ql只能 like '?%' 么?我想实现模糊查寻,想实现 like'%?%' 怎么办??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3