#include #include #include #include #include #include #include #include #include #include int aflag, lflag;
typedef struct _node_
linknode, *linklist;
void display_file(char *path, char *fname)
if (lstat(path, &buf) < 0)
switch (buf.st_mode & s_ifmt)
int n;
for (n=8; n>=0; n--)
}else
}printf("%3d", buf.st_nlink);
printf(" %s", getpwuid(buf.st_uid)->pw_name);
printf(" %s", getgrgid(buf.st_gid)->gr_name);
printf("%8ld", buf.st_size);
tp = localtime(&buf.st_mtime);
printf(" %d", tp->tm_year+1900);
if (tp->tm_mon < 9) printf("-0%d", tp->tm_mon+1);
else printf("-%d", tp->tm_mon+1);
if (tp->tm_mday < 10) printf("-0%d ", tp->tm_mday);
else printf("-%d ", tp->tm_mday);
if (tp->tm_min < 10) printf("0%d", tp->tm_min);
else printf("%d", tp->tm_min);
if (tp->tm_sec < 10) printf(":0%d ", tp->tm_sec);
else printf(":%d ", tp->tm_sec);
printf("%s\n", fname);
return;
}void display_dir(char *dirname)
p = h->next;
while ( p )
return;
}int main(int argc, char *argv)
} if (optind == argc)
for (i=optind; i執行:./a.out -la ./a.out /
shell命令其實也是呼叫系統函式。這些系統函式呼叫好的話你也可以實現shell命令。。敬請參考《unix環境高階程式設計2》,他可以讓你深刻了解linux系統。隨手可以自己去寫shell命令。
ls命令簡單實現 目錄讀寫
unix linux中的目錄讀寫,類似於檔案讀寫,使用系統呼叫opendir開啟,readdir將檔案的一些資訊寫入乙個結構體中。man k direct grep read 出現系統呼叫readdir read a directory entry 檢視檔案記錄 大概是我們想要的。man readd...
linux c 實現 ls 命令
include include include include include include ctime 函式 include 操作目錄 include 操作檔案 include 獲取檔案所有者 include infomodeall a infomodedetail l 顯示資訊模式 typed...
實現自己的ls命令
估計每個使用過 linux系統的人都知道 ls是啥吧。也相信大家都對 ls的簡單命令爛熟於心了吧,這裡就不想再贅述了,直接進入正題吧。裡面會有許多注釋,相信的家一定能看懂的。說明 此 我在kail linux下編譯無任何錯誤,執行也基本無bug,相信大家在一般linux下執行也無問題。include...