Linux tree命令 簡單實現

2021-08-16 04:09:07 字數 1149 閱讀 6415

tree命令,將目錄檔案以樹的形式呈現

系統的tree命令效果:

模擬實現tree命令:

#include

#include

#include

#include

#include

void print_tree(const

char* dirname, int indent)

int depth = indent;

while(depth--)

printf("| _");

printf("%s\n", pd->d_name);

depth = indent;

if(s_isdir(sbuf.st_mode))

}chdir("..");

closedir(pdir);

}int main(int argc, char* argv)

printf("%s\n", argv[1]);

printf("|\n");

print_tree(argv[1], 1);

printf("\n");

return

0;}

效果:

用到的知識:

dir結構體

struct __dirstream

; typedef struct __dirstream dir;

opendir函式 dir *opendir(const char *name);//開啟檔案目錄   

readdir函式 struct dirent *readdir(dir *dirp);//讀取檔案目錄

closedir函式 int closedir(dir *dirp);//關閉檔案目錄

struct stat ;

struct dirent

;

實現Linux tree命令

linux下有這樣乙個命令,可以把當前目錄下的所有檔案和子檔案以tree的方式顯示出來,看下效果 crazybaby localhost test tree a b c test2 d e f 3 directories,4 files crazybaby localhost test 自己用遞迴方...

Linux tree 命令用法

a 顯示所有檔案和目錄。a 使用asni繪圖字元顯示樹狀圖而非以ascii字元組合。c 在檔案和目錄清單加上色彩,便於區分各種型別。d 顯示目錄名稱而非內容。d 列出檔案或目錄的更改時間。f 在每個檔案或目錄之前,顯示完整的相對路徑名稱。f 在執行檔案,目錄,socket,符號連線,管道名稱名稱,各...

Linux Tree命令詳解

中文翻譯 a 顯示所有檔案和目錄。a 使用asni繪圖字元顯示樹狀圖而非以ascii字元組合。c 在檔案和目錄清單加上色彩,便於區分各種型別。d 顯示目錄名稱而非內容。d 列出檔案或目錄的更改時間。f 在每個檔案或目錄之前,顯示完整的相對路徑名稱。f 在執行檔案,目錄,socket,符號連線,管道名...