目录管理

例1:  目录的创建/删除

mymkdir.c

#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <fcntl.h>

#define ERROR(flag)                      if(flag)                    {                            printf("%d: ",__LINE__);            fflush(stdout);                    perror("error");                exit(errno);                }

int main(int argc,char *argv[])
{
    system("ls --color=tty");

    int ret = mkdir("dir", 0777);
    ERROR(ret == -1);

    system("ls --color=tty");

    ret = rmdir("dir");

    system("ls --color=tty");

    return 0;
}

编译/链接/运行, 输出如下:

./mymkdir执行中(上图), 三次显示当前目录下的内容. mkdir()执行后到rmdir()执行前有dir目录, rmdir()执行后dir目录被删除

例2: 进入另一目录

mychdir.c

#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <fcntl.h>

#define ERROR(flag)                      if(flag)                    {                            printf("%d: ",__LINE__);            fflush(stdout);                    perror("error");                exit(errno);                }

int main(int argc,char *argv[])
{
    char buf[256];

    char *pret = getcwd(buf,256);
    ERROR(pret == NULL);
    puts(buf);

    int ret = chdir(argv[1]);
    ERROR(ret == -1);

    pret = getcwd(buf,256);
    ERROR(pret == NULL);
    puts(buf);

    return 0;
}

编译/链接/执行, 输出如下:

例3: 打开目录, 打印目录内容相关信息

myopendir.c

#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <fcntl.h>
#include <dirent.h>

#define ERROR(flag)                      if(flag)                    {                            printf("%d: ",__LINE__);            fflush(stdout);                    perror("error");                exit(errno);                }

int main(int argc,char *argv[])
{
    DIR *dir;
    struct dirent *p;

    dir = opendir(argv[1]);
    ERROR(dir == NULL);

    while((p = readdir(dir)) != NULL)
    {
        printf("%s  , %d\n", p->d_name, p->d_ino);
    }

    closedir(dir);

    return 0;
}

编译链接执行, 输出结果如下:

时间: 2024-10-08 10:17:45

目录管理的相关文章

Go项目目录管理

在Go的官网文档How to Write Go Code中,已经介绍了Go的项目目录一般包含以下几个: src 包含项目的源代码文件: pkg 包含编译后生成的包/库文件: bin 包含编译后生成的可执行文件. 可以通过下面的例子来说明工程目录的组织管理.(Windows 7 64位,go version go1.3.3 windows/amd64) 1. 创建一个库文件 创建一个库文件a.go并保存在scr目录的一个子目录下面. package myfunc import "fmt"

Linux文件与目录管理命令总结

在Linux下对文件和目录的操作是学习linux的基础,文件的操作无非就是增删改查等等.对于目录的操作也是对目录的增删改查以及修改目录属性等操作.在了解目录管理前得先了解目录的结构.linux下的目录是树型结构,所有的目录都从根(/)开始,其他的文件系统以挂载的方式挂载到目录上去进行使用.访问目录时有相对路径和绝对路径之分. 相对路径:路径的写法不是由根写起的,而是在当前路径的基础之上的.例如:例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd .

Linux 程序设计学习笔记----POSIX 文件及目录管理

转载请注明:http://blog.csdn.net/suool/article/details/38141047 问题引入 文件流和文件描述符的区别 上节讲到ANSI C 库函数的实现在用户态,流的相应资源也在用户空间,但无论如何实现最终都需要通过内核实现对文件的读写控制.因此fopen函数必然调用了对OS的系统调用.这一调用在LINUX下即为open, close, read, write等函数.这些都遵循POSIX标准. so,在linux系统中是如何通过POSIX标准实现对文件的操作和目

活动目录管理及维护----------操作主机1(转移主机优化域控制器,占用操作主机较色,升级03域控制器到08)

享受生活  热爱挑战                                                                                        刘明远分享                 六操作主机  上(本章分两节) 每章一段话 没有永远的缘份,没有永远的生命,我们所能拥有的,可能只是平凡的一生.然而因为有你,生命便全然不同,世界也许因你而更加精彩.不要放弃了自己!!! (本章实验:转移主机的优化域控制器.  占用操作主机角色) 一  操作主

linux学习之路之目录管理和文件管理

我们知道linux文件系统是一个树型结构,在最上层是'/'目录,根目录的下面就是其他目录,而这些目录下面又可以有多个子目录,这样一层一层的就形成一个树型结构图.那是不是我们查找某一个文件必须要从根目录开始往下查找的呢?当然不是,在这里我将会介绍两种路径方式:相对路径和绝对路径. 什么是相对路径和绝对路径? 绝对路径:就是从'/'根目录开始往下一级一级的查找,直到目的所经过的线路. 相对路径:就是相对当前位置而言来找到目的地所经过的线路. 目录的创建 mkdir:用于创建目录 语法格式:mkdir

【Linux系列】【基础版】第二章 文件、目录管理

2. 文件.目录管理     2.1 有哪些文件目录         2.1.1 /bin          2.1.2 /boot         2.1.3 /dev         2.1.4 /etc         2.1.5 /home         2.1.6 /lib  /lib64         2.1.7 /meida         2.1.8 /mnt         2.1.9 /opt         2.1.10 /proc         2.1.11 /ru

002-Linux文件类型、权限及目录管理命令

l  1.基本概念: 1.)魔数(magic number):标识二进制程序的执行格式 2.)目录详解 1.目录(directory):文件,路径映射 工作目录(working directory) 当前目录(currentdirectory) 2.路径:从指定起始点到目的地所经过位置 绝对路径:以根为基准进行查找 相对路径:以当前目录为基准进行查找 3.文件系统(file system):层次化管理 3.)文件类型: -:普通文件(file) d: 目录文件(directory file) b

[Linux] Linux学习笔记(5)-文件与目录管理

1.Linux目录结构为树状结构,最顶层的目录为跟目录"/",其它目录通过挂载可以将它添加到目录树中,通过解除挂载移除它们. 2.绝对路径与相对路径 绝对路径写法:由根目录"/"写起,例如:/usr/share/man这个目录: 相对路径写法:不是由"/"写起,例如要由/usr/share/man转移到/usr/share/doc,可以写成:cd ../doc .不过值得注意的是,假如我想从跟目录"/"跳转到"/us

第7章 Linux文件与目录管理

目录与路径 特殊目录 .:此层目录 ..:上层目录 ~:目前用户身份所在的主文件夹 -account:account用户所在的主文件夹 处理目录的命令 cd:切换目录 change directory的缩写 pwd:显示目前所在目录 -P:显示当前路径,而非连接路径 mkdir:新建新目录 -m:配置文件的权限,而非使用默认权限(umask) -p:递归创建 mkdir创建目录时,要求存在父目录,否则报错,因此可以使用-p参数,此时父目录不存在时会创建父目录 rmdir:删除空的目录 -p:连同

目录管理、文件管理、文件查看、文本处理命令

日期: 2015年08月23日 [目录管理类命令] mkdir.rmdir.tree.dirname.basename <<========================================[mkdir]========================================>> mkdir命令 功能: 创建目录 格式: mkdir[OPTION]... DIRECTORY... 常用选项: -p: 先创建父目录: -v: 显示详细信息; 实例: [[emai