- 96
- 1
- 约1.59万字
- 约 25页
- 2017-09-08 发布于陕西
- 举报
西 安 邮 电 大 学
(计算机学院)
操作系统课程设计报告
题 目:文件系统ls实现与内核编码
专业名称:
班 级:
学生姓名:
学号(8位):
指导教师:
设计起止时间: 2014年月日年月日1.ls
#include grp.h
#include pwd.h
#include time.h
#include stdio.h
#include stdlib.h
#include string.h
#include dirent.h
#include unistd.h
#include sys/stat.h
#include sys/ioctl.h
#define PARAM_NONE 0 // 无参数
#define PARAM_A 1 // -a: 显示所有文件
#define PARAM_L 2 // -l:一行显示一个文件的详细信息
#define PARAM_U 4 // -u:显示文件最后一次访问时间
#define PARAM_R 8 // -R:递归显示文件与子目录及其内容
#define PATHCOUNT 10 // 递归显示目录功能中子目录的数量
int restLen = 0; // -l打印详细信息时一行剩余长度
int maxFileLen = 0; // 存放某目录下最长的文件名的长度
int total = 0; // -l显示的总用量
int hasDir = 0; // -R中标志位,在当前目录下是否找到子目录
int dirCount = 0; // -R中目前递归找到的子目录的数量
int dirShow = 0; // -R已显示相关信息的子目录的数量
int line = 0; // 屏幕的宽度
char dirPath[ PATHCOUNT ][ PATH_MAX + 1 ] = { \0 }; // -R中存储子目录路径
void DirRead( int, char * );
int Compare( const void *, const void * );
int CompareU( const void *, const void * );
void DisposeParam( int, char * );
int HasDirs( char * );
void ShowFileName( char * );
void ShowFilesInfo( struct stat, char *, int );
int main( int argc, char ** argv )
{
int i, j, k;
int paramCount, paramFlag;
char path[ PATH_MAX + 1 ]; // 保存命令行中路径
char params[ 20 ]; // 存储参数
struct stat st;
struct winsize size;
j = 0;
paramCount = 0; // 带参数的命令行数量
paramFlag = PARAM_NONE; // 参数标志位,初始无餐
// 获取屏幕宽度
ioctl(STDOUT_FILENO, TIOCGWINSZ, size);
line = size.ws_col;
restLen = line;
// 读取命令行中的参数
for ( i = 1; i argc; i++ )
if ( argv[ i ][ 0 ] == - )
{
for ( k = 1; k strlen( argv[ i ]); k++, j++ )
params[ j ] = argv[ i ][ k ];
paramCount++;
params[ j ] = \0;
}
// 判断当前命令的参数,更新参数标记位
for (i = 0; i j; i++)
switch( params[ i ] )
{
case a:
paramFlag |= PARAM_A;
break;
case l:
paramFlag |= PARAM_L;
break;
case u:
paramFlag |= PARAM_U;
break;
case R:
paramFlag |= PARAM_R;
break;
default:
您可能关注的文档
最近下载
- 2025年事业单位工勤技能-河南-河南防疫员三级(高级工)历年参考题典型考点含答案解析.docx VIP
- 设计心理学-专业学习教材.pdf VIP
- 七年级数学上册第3章代数式单元测试题.docx VIP
- 杭州职业技术大学2025-2026学年《概率论与数理统计2》第一学期期末试题(B).docx VIP
- 杭州电子科技大学信息工程学院2025-2026学年《概率论与数理统计2》第一学期期末试题(B).docx VIP
- 急性上呼吸道梗阻.ppt VIP
- 《汽车发动机构造与维修》教案-.docx VIP
- 美国大学英语写作(第九版)课后习题答案.docx VIP
- 静脉血液标本采集指南(WST661-2020)解读PPT课件.pptx VIP
- 《仪器分析技术》课程标准.pdf VIP
原创力文档

文档评论(0)