猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
急求!!!!为什么linux 创建文件是touch 而不是create
好奇~为什么linux创建文件是touch而不是create
慕神8447489
浏览 1245
回答 2
2回答
幕布斯6054654
touch的作用本来不是创建文件,而是将指定文件的修改时间设置为当前时间。就是假装“碰”(touch)了一下这个文件,假装文件被“修改”了,于是文件的修改时间就是被设置为当前时间。这带来了一个副作用,就是当touch一个不存在的文件的时候,它会创建这个文件。然后,由于touch已经可以完成创建文件的功能了,就不再需要一个单独的create了。
0
0
0
PIPIONE
@fefe回答的已经很好了。我做点儿补充吧,这个命令最早出现在UnixVersion7中,是KenThompson和DennisRichie两位大神写的一个工具。至于为什么叫这个名字,外网上也有很多讨论,但两位当事人并没有回应过。如果看下Unix/Linux源码,你会发现touch里有这么一行代码:open("t",O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK,0666)=3其中的O_CREAT常量就是文件不存在就创建的原因。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
JavaScript
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续