第四章 文件和目录 (四)

来源:互联网 发布:找工作最靠谱的软件 编辑:程序博客网 时间:2024/06/01 03:57

//---------------dir.c---------------------------

 

//这么多,我懒得写出错信息了

 

#include <sys/stat.h>

 

#include <sys/types.h>

 

#include <dirent.h>

 

#include <unistd.h>

 

#include "ourhdr.h"

 

main()

 

{

 

       char line[MAXLINE];

 

       char *li;

 

       DIR *dir;

 

       struct dirent *dirp;

 

 

 

       chdir("/home/king/programe");    //我们现改变当前的工作目录

 

 

 

       mkdir("dir",0770);              //在此创建一个文件夹dir,在向里面生成几个文件

 

       mkdir("dir/top",0770);

 

       creat("dir/1",0600);

 

       creat("dir/2",0600);

 

       creat("dir/3",0600);

 

 

 

       dir=opendir("dir");

 

       while((dirp=readdir(dir))!=NULL)    //看来读目录的文件是一个一个来的

 

       {

 

              if(strcmp(dirp->d_name,".")==0 || strcmp(dirp->d_name,"..")==0)

 

                     continue;

 

              printf("%s/n",dirp->d_name);

 

       }

 

 

 

       closedir(dir);

 

       li=getcwd(line,20);              //获取当前工作目录,执行一下就看到了

 

       printf("Working directory is %s/n",li);

 

}

 

//---------------------end-----------------------

 

king@king-laptop:~/blog$ pwd  看到了,当前工作目录是/home/king/blog

 

/home/king/blog

 

king@king-laptop:~/blog$ gcc -o dir dir.c

 

king@king-laptop:~/blog$ ./dir

 

3

 

top

 

2

 

1

 

Working directory is /home/king/programe      这个进程的工作目录可是/home/king/programe

 

king@king-laptop:~/blog$

 

在加个rmdir函数就差不多了,谁看到这里自己加吧。

 

 

 

chroot

 

chroot用于辅助因特网文件传输中的安全性。系统中没有帐号的用户放在一个单独的目录下,以阻止用户访问此目录以外的文件。

 

//---------chroot.c-----------

 

#include "ourhdr.h"

 

main()

 

{

 

       char *p,line[20];

 

       chroot("/home/king/");

 

       p=getcwd(line,20);

 

       printf("%s/n",p);

 

}

 

//-----------end---------------

 

king@king-laptop:~/blog$ gcc -o chroot chroot.c

 

king@king-laptop:~/blog$ ./chroot    //找不到我们的/了吧,还要注意,现在进程的根目录是/home 而不是/king

 

/home/king/blog

 

 

 

 sync/fsync

 

避免延迟写,保证硬盘上实际文件系统与缓存中内容的一致性

 

Linux的人应该都有体会,拿一个U盘拷电影,还没什么感觉呢就说拷完了,可当我们写在文件卷是才告诉我们文件正在写入清稍等。这就是延迟写技术了。

 

 

 

原创粉丝点击