簡單實現ls命令

2021-06-16 06:53:35 字數 1354 閱讀 2217

#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...