linux 模仿shell操作

  linux的文件系统,是把硬盘空间格式化为若干node和block数据块,一般文件的创建,目录的创建,都会占用一个node,如果创建的是文件,具体的数据保存在若干block数据块中,node记录数据块的号码,所有的node和block在文件系统中都已经编号好;如果创建的是目录,会占用一个node,一个block,block中记录着该目录中所有的文件名,block号码记录在node中。

  根据linux文件系统的大体结构,用文件的方式,采用C++语言来模拟一些在shell中执行的命令:cd、mkdir、touch、clear、vim、cat、ls

  工程结构:

  1、node的模拟类文件:node.cpp node.h

  2、block的模拟类文件:block.cpp block.h

  3、权限的模拟类文件:authority.cpp authority.h

  4、shell模拟类文件:shell.cpp shell.h

  5、初始化类:init.cpp init.h

  6、工程启动文件:start.cpp

  命令目录:

  cat:  cat.cpp cat.h main.cpp makefile

  ls:  ls.cpp ls.h  main.cpp makefile

  mkdir:  mkdir.cpp mkdir.h main.cpp makefile

  touch:  touch.cpp touch.h main.cpp makefile

  rm:  rm.cpp rm.h main.cpp makefile

  cd:  cd.cpp cd.h main.cpp makefile

  vim:  vim.cpp vim.h main.cpp makefile

  具体的代码在博客文件中,名称是shellModel.tar,代码粗糙,自己为了加深对linux文件系统的认识写的模拟小工程!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。