//内存用户信息
#ifndef MUSER struct muser{
struct user us: //读入内存的外存用户信息; int off_t://用户信息在外存etc文件中的位置; int fd;//当前目录在文件表中的位置: }mus; #endif
五. 模块详解
5.1文件、目录和文件表操作
(经过i节点模块封装后这一层的所有操作都感觉是对文件中的每一个字节进行操作) int search(char *,int);//查找单个目录下文件或子目录的函数 int iname(char *);//从根目录查找整个目录函数
int readf(int fd, char *buf, int count);//读文件中的内容d
int writef(int fd, const char *buf, int count);//将内容写入文件e
int openf(const char *pathname, int flags);//查找目录找到文件后写入文件表n int creatf(const char *pathname, int mode);//创建文件或目录t int linkf(const char *oldpath, const char *newpath);//联接文件k int unlinkf(const char *pathname);//删除联接k int closef(int fd);//关闭文件e
5.2 i节点操作
(1、主要负责将所有上层对字节的操作转化为对块的操作 2、文件的底层建立和删除)
int iread(int i,struct inode * ); 读入外存inode; int iwrite(int i,struct inode * );写出外存inode; int ialloc(struct iuser ius);申请inode; int ifree(int i);释放inode;
struct minode * i_get(int i);//获取内存inode int i_put(struct minode *);//删除内存inode;
int getblock(unsigned int offset,struct inode);//寻找文件物理块函数
int ifadd(unsigned int size,struct minode *);//将文件的字节的加长转化为对物理块的增加了
int ifsub(unsigned int size,struct minode *);//文件的减短改变为对物理块的减少 int subblock(unsigned int offset,struct inode in);//删除文件块子函数
5.3 块操作
unsigned int balloc();//分配一个块
int brelse(unsigned int b);//回收一个块
int bread(int b,unsigned short seek,unsigned short m,void *buf);//读取块中的内容 int bwrite(int b,unsigned short seek,unsigned short m,const void *buf);//写入块
中的内容
int set_ds();//成组链接的初始化函数;
5.4具体命令操作
void ls();//显示文件目录
void cd(char *);//改变当前目录 void u_umask(int);//文件创建屏蔽码
void passwd(const char *);//修改用户口令 void u_chmod(char *,int);//改变文件权限 void pwd();//显示当前目录
void u_chown(char *,char);//改变文件拥有者 void u_chgrp(char *,char);//改变文件所属组 void u_touch(char *);//新建文件 void rm(char*);//文件删除
void u_mkdir(char *);//创建子目录 void u_rmdir(char *);//删除子目录 void vi(char *);//编写文件内容
void u_cat(char*);//连接显示文件内容 void u_mv(char*,char*);//改变文件名 void u_ln(char*,char*);//建立文件联接 void u_cp(char*,char*);//文件拷贝
5.5主函数和所有命令操作的函数
int bash(char * );// 所有命令操作的函数exit 退出命令操作函数;
int main(void);//主函数进行登录和格式化或进入所有命令操作的函数
5.6其他函数
int init();初始化函数/ int login();登录函数/
int shutdown();/退出系统的函数/
六. 实验演示
6.1登录
6.2cat操作
6.3cd操作
6.4ls操作
6.5chgrp操作
6.6chown操作
6.7chmod操作
6.8touch操作
6.9mkdir操作
6.10rmdir操作
6.11rm操作
6.12ln操作
6.13mv操作
6.14cp操作
6.15passwd操作
6.16pwd操作
相关推荐: