`
LIMIMGJIE
  • 浏览: 173744 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux 基础代码学习--文件目录的显示

阅读更多
编写show_dir.c

#include <unistd.h>
#include <stdio.h>
#include <dirent.h>
#include <string.h>
#include <sys/stat.h>
#include <stdlib.h>


void printdir(char *dir,int depth)
{
        DIR *dp;
        struct dirent *entry;
        struct stat statbuf;

        if((dp = opendir(dir)) == NULL){
                fprintf(stderr,"cannot open directory: %s\n",dir);
                return;
        }
        chdir(dir);
        while((entry = readdir(dp))!= NULL){
                lstat(entry->d_name,&statbuf);
                if(S_ISDIR(statbuf.st_mode)){

                        if(strcmp(".",entry->d_name)==0|| strcmp("..",entry->d_name)==0)
                                continue;
                        printf("%*s%s/\n",depth,"",entry->d_name);

                        /* recurse at a new indent level */
                        printdir(entry->d_name,depth+4);
                }
                else printf("%*s%s/\n",depth,"",entry->d_name);
        }
        chdir("..");
        closedir(dp);

}

int main(int argc,char* argv[]){
        char *topdir = ".";
        if(argc>=2)
                topdir= argv[1];
        printf("Directory scan of %s\n",topdir);
        printdir(topdir,0);
        printf("done.\n");

        exit(0);
}

编译脚本:
gcc -o show_dir show_dir.c

执行脚本:
./show_dir /home/mingjie
分享到:
评论

相关推荐

    Linux实验七:LinuxC-编程-文件与目录.doc

    通过这些实验,学习者可以深入理解Linux系统中的文件操作,包括标准输入输出的使用、文件的复制以及查看文件属性的方法。这些基本技能对于进行Linux系统编程至关重要,也常常是编写系统工具和应用程序的基础。

    linux学习笔记--很经典

    以上是对Linux系统目录结构的一个较为全面的介绍,通过了解这些目录的作用和功能,可以帮助用户更好地管理Linux系统,并且为后续的学习和开发提供了坚实的基础。此外,掌握常用的命令工具也是十分必要的,这有助于...

    Linux基础实验代码

    这个“Linux基础实验代码”压缩包很可能是为了帮助初学者理解Linux系统操作、命令行交互以及基本的编程概念而设计的一系列练习或示例代码。 在Linux环境中,源代码是操作系统、应用程序及各种工具的核心组成部分,...

    LINUX 基础知识学习

    本资料旨在为初学者提供Linux基础知识的学习指导,重点讲解Linux的基本命令使用。 1. **Linux简介** Linux是一种自由和开放源代码的操作系统,由林纳斯·托瓦兹在1991年开发。Linux内核是其核心部分,与各种用户...

    鸟哥Linux私房菜基础学习篇(第三版).pdf

    为了满足题目要求,以下是根据提供的文件内容、标签以及Linux基础知识构建的知识点详细说明: Linux是一个自由开源的操作系统,其设计哲学强调多用户、多任务,具有强大的可移植性,支持多种硬件架构。Linux系统的...

    LINUX应用基础

    #### 一、Linux基础概述 - **登录与退出**:Linux系统采用图形化界面登录较为常见,但在服务器等环境中仍广泛使用命令行方式。登录时,系统会提示输入用户名(`login:`),接着是密码(`password:`),密码输入时...

    Linux基础知识学习文档

    在Linux命令行中,学习者会接触到一系列常用的命令,如ls用于查看目录内容,cd用于切换目录,pwd显示当前工作目录,touch新建文件,mkdir创建目录,rm删除文件或目录,cp和mv用于复制和移动文件或目录,grep查找特定...

    Linux_操作系统-基础操作-教学.doc

    无论是为了个人兴趣还是职业发展,掌握Linux基础知识都是非常有价值的。 **第一讲 Linux基础** 1. **什么是Linux?** Linux是一个类UNIX的操作系统内核,由林纳斯·托瓦兹(Linus Torvalds)于1991年创建。它支持...

    Linux学习手册-目录结构

    ### Linux学习手册-目录结构详解 #### 一、目录结构概览 Linux 是一款非常流行的开源操作系统,其文件系统的组织方式对于系统管理至关重要。本文将详细介绍 Linux 的主要目录及其功能,帮助初学者更好地理解 Linux...

    嵌入式代码arm-linux-gcc-3.4.6-glibc-2.3.6.tar.bz2

    交叉编译工具`arm-linux-gcc-3.4.6-glibc-2.3.6.tar.bz2`是一个包含GCC(GNU Compiler Collection)的压缩包,专门用于将源代码编译为ARM架构的目标代码。GCC 3.4.6是较旧的版本,但它可能与特定的嵌入式系统兼容。...

    Linux基础命令教程

    ### Linux基础命令教程知识点解析 #### 一、Shell概述 - **定义**: Shell是Linux操作系统中的用户界面,作为用户与内核之间的桥梁,接收用户的命令输入,并将其传递给内核执行。 - **作用**: 提供了一个友好的...

    常用命令---idea--Linux--redis--dos

    - `dir`:显示目录内容,类似Linux的`ls` - `cd`:切换目录 - `copy`:复制文件 - `del`:删除文件 - `move`:移动文件或重命名 - `ren`:重命名文件 - `type file.txt`:显示文本文件内容 - `netstat`:...

    0067Linux_操作系统-基础操作-教学.zip

    在“0067Linux_操作系统-基础操作-教学”这个资源中,我们将会深入学习Linux的基础操作,这包括但不限于命令行界面的使用、文件与目录管理、权限设置、软件安装与更新等关键内容。 首先,让我们了解Linux的命令行...

    Linux_操作系统-基础操作-教学.pdf

    掌握基本的命令行操作是Linux学习的关键,例如ls用于列出目录内容,cd改变目录,mkdir创建目录,rm删除文件或目录,cp和mv则分别用于复制和移动文件。 在Linux中,命令行提供了强大的系统管理工具。比如,apt或yum...

    Linux操作系统--实战模拟

    5. **进程管理**:学习如何查看和控制运行在Linux系统上的进程,包括`ps`(显示进程状态)、`kill`(结束进程)和`top`(实时监控系统资源)等命令。 6. **软件安装与更新**:了解如何使用包管理器,如`apt`(在...

    linux fb-test-帧缓冲 两个例子(完整源代码)

    Linux帧缓冲(Framebuffer)是操作系统直接访问硬件图形设备的一种方式,它允许开发者绕过图形界面管理...通过学习和实践这两个例子,开发者可以更好地掌握Linux帧缓冲的工作原理,并为进一步的图形编程打下坚实基础。

    linux学习代码

    "Linux学习代码"这个主题涵盖的内容广泛,包括但不限于系统管理、文件操作、网络配置、进程控制以及脚本编写等方面。以下是对这些知识点的详细阐述: 1. **系统管理**: - **系统信息**:使用`uname -a`查看系统...

Global site tag (gtag.js) - Google Analytics