一个普通用户在Shell下执行了一条命令,这背后发生了什么事情,是个人的一些总结,如果有不对的地方欢迎搭建指正,谢谢!
touch /tmp/test.txt
#######################################################################################
tom在Shell中执行这条命令,Shell将命令发给内核,并且判断命令是否存在,通过文件系统上的元数据判断tom是否有权限执行,内核从内存中加载出mkdir的指令和数据,并且以tom的身份启动mkdir这个进程,内核判断以tom发起的mkdir进程是否有权限在/tmp目录下建立一个叫text.txt文件,如果权限通过,通过系统调用向内核请求建立文件,内核会代替它去CPU中执行,然后CPU会将结果存储在内存中,然后内核从内存中取出结果,内核将结果根据文件系统存放在相应的存储空间的某给块上,并将结果反馈给进程,进程通过Shell表现给用户。
本文出自 “悬剑” 博客,请务必保留此出处http://sublime.blog.51cto.com/8856101/1434025
Linux基础概念-----touch一个新文件背后发生的事情,布布扣,bubuko.com
Linux基础概念-----touch一个新文件背后发生的事情
原文地址:http://sublime.blog.51cto.com/8856101/1434025