资源简介
自己写的linux ls 命令 包括 -l -R -a -U 及各种组合,还有是三种特殊位
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
void dostat();
void sort_R(int );
void futian_do_ls(char []int);
int flag =0;
char name[100]=“ “;
void show_stat_info(char *char *struct stat *);
void mode_to_letter(int char []);
char *gid_to_name(gid_t);
char *uid_to_name(uid_t);
char ftname[100][100];
char uname[100][100];
char sign[100][100];
char sstring[100][100];
int ft=0;
int f;
void do_sort1(int );
void count_byt(char *char *struct stat *);
int allbyt=0;
struct nandt{
char name2[100];
char name1[100];
int time1;
}timet[100];
int t=0;
void sortbytime();
void sort();
main(int acchar *av[])
{
int x=0j;
int sx=0ss=0;
if(ac==1) //不带参数查看当前目录。
{
flag=0;
futian_do_ls(“.“flag);
}
else
{
for(x=1;x if(av[x][0]==‘-‘)
{
strcpy(sign[sx]av[x]);
sx++;
}
else
{
strcpy(sstring[ss]av[x]);
ss++;
}
if(ss==0)//没有目录全是命令
{
strcpy(sstring[ss]“.“);
ss++;
}
}
if(sx==0)//没有输入命令 全是目录
{
flag=0;
for(x=0;x {
printf(“%s:\n“sstring[x]);
futian_do_ls(sstring[x]flag);
}
}
if(sx==1)//只有一个命令
{
for(x=ss-1;x>=0;x--)
{
name[100]=‘\0‘;
t=0;
ftname[100][100]=‘\0‘;
printf(“%s:\n“sstring[x]);
if(strcmp(sign[0]“-a“)==0)
{
flag=1;
futian_do_ls(sstring[x]flag);
}
if(strcmp(sign[0]“-l“)==0)
{
flag=2;
futian_do_ls(sstring[x]flag);
}
if(strcmp(sign[0]“-u“)==0)
{
flag=4;
futian_do_ls(sstring[x]flag);
}
if(strcmp(sign[0]“-R“)==0)
{
flag=7;
futian_do_ls(sstring[x]flag);
}
}
}
if(sx==2)//有两个命令任何组合
{
for(x=ss-1;x>=0;x--)
{
name[100]=‘\0‘;
t=0;
ftname[100][100]=‘\0‘;
printf(“%s:\n“sstring[x]);
if((strcmp(sign[0]“-l“)==0&&strcmp(sign[1]“-a“)==0)||(strcmp(sign[1]“-l“)==0&&strcmp(sign[0]“-a“)==0))
{
flag=3;
futian_do_ls(sstring[x]flag);
}
if((strcmp(sign[0]“-u“)==0&&strcmp(sign[13]“-a“)==0)||(strcmp(sign[1]“-u“)==0&&strcmp(sign[0]“-a“)==0))
{
flag=5;
futian_do_ls(sstring[x]flag);
}
if((strcmp(sign[0]“-u“)==0&&strcmp(sign[1]“-l“)==0)||(strcmp(sign[1]“-u“)==0&&strcmp(sign[0]“-l“)==0))
{
flag=6;
futian_do_ls(sstring[x]flag);
}
if((strcmp(sign[0]“-R“)==0&&strcmp(sign[1]“-l“)==0)||(strcmp(sign[1]“-R“)==0&&strcmp(sign[0]“-l“)==0))
{
flag=8;
相关资源
- 基于LINUX与GPRS网络的无线数据采集与
- Linux高级编程笔试题答案
- ls_dyan钢筋混凝土结构爆炸全套k文件
- git-2.0.0.tar.gz
- 我们的linux上机作业 linux小游戏 炸弹
- prtools5.2.3工具包
- linux下基于socket和curses的双人弹球游戏
- 虚拟光驱(Daemon Tools) 4.30.4 官方中文
- linux网络聊天室
- CMD快捷键.xlsx
- lsgcsh_9491197.zip
- OpenGL爆炸碎片化效果 源码
- 使用RTMPdump(libRTMP)直播来自v4l2的摄
- Linux+man中文手册
- 中国城市最新等级划分2019.xlsx
- Linux典藏大系之Linux系统移植第2版
- 嵌入式系统设计与应用 基于ARM Cort
- UNIX Internals : The New Frontiers PDF Uresh V
- 鸟巢ANSYS建模命令流
- linux_syscall_support.h_2016/12/20
- Hillstone SA系列高性能安全网关为中金
- 华为承建摩尔多瓦电信IP/MPLS骨干网
- 公司产品分类报价管理系统CPLS v2.5.
- Linux中nginx安装相关资源包
- Linux驱动模块单独编译Makefile
- Linux 进程控制与进程互斥附实验报告
- VisualSVN7.1.2 Visual Studio 2019
- linux下socket can 编程详解
- PMP第六版工具技术合集.xlsx
- 火车站信息-全.xls
评论
共有 条评论