可以使用以下函数来进行文件夹操作

opendir(3)

#include<sys/types.h>

#include<dirent.h>

DIR *opendir(const char *name);

功能:打开一个

参数:

  name:指定了要打开的文件夹的名字

返回值:

  错误:NULL,errno被设置

  成功:返回一个具体的地址

  

//DIR 结构
struct __dirstream
{
void *__fd; /* `struct hurd_fd' pointer for descriptor.   */
char *__data; /* Directory block.   */
int __entry_data; /* Entry number `__data' corresponds to.   */
char *__ptr; /* Current pointer into the block.   */
int __entry_ptr; /* Entry number `__ptr' corresponds to.   */
size_t __allocation; /* Space allocated for the block.   */
size_t __size; /* Total valid data in the block.   */
__libc_lock_define (, __lock) /* Mutex lock for this structure.   */
};
typedef struct __dirstream DIR;


closedir(3)

#include<sys/types.h>

#include<dirent.h>

int *closedir(DIR *dirp);

功能:

  关闭一个文件夹

参数:

  dirp:指定了要关闭的文件夹(opendir(3)的返回值)

返回值:

  错误:-1,errno被设置

  成功:0


readdir(3)

struct dirent *readdir(DIR *dirp);

功能:

  读取文件夹的内容。

参数:

  dirp:指定文件夹。opendir(3)的返回值

返回值:

  NULL 到达文件末尾或错误产生,如果是错误产生,则errno被设置

  成功:返回一个结构体struct dirent的地址

  

struct dirent
{long d_ino; /* inode number 索引节点号 */off_t d_off; /* offset to this dirent 在目录文件中的偏移 */unsigned short d_reclen; /* length of this d_name 文件名长 */unsigned char d_type; /* the type of d_name 文件类型 */char d_name [NAME_MAX+1]; /* file name (null-terminated) 文件名,最长255字符 */
}


另外还有类似文件的操作函数:

rewinddir(3):将指针定位到首位置

seeldir(3):设置参数dir目录流目前的读取位置

telldir(3):返回值记录着一个目录流的当前位置

scandir(3):扫描dir目录下(不包括子目录)满足filter过滤模式的文件,返回的结果是compare函数经过排序的,并保存在namelist中

...


文件夹包含什么?

文件夹的所包含的就是文件夹下所有的内容。

文件夹的元数据。

使用ls命令查看文件或文件夹的元数据。

相对于文件,在文件中权限x代表可执行,文件夹中x代表通过,例如,使用cd命令的场合,如果文件夹没有x权限,那么cd命令将报错。

给test文件夹加上x权限后,去除其w权限,再cd进去,创建文件将报错

转载于:https://www.cnblogs.com/ptfe/p/10965397.html

Linux文件夹操作相关推荐

  1. linux 遍历文件及文件夹,linux文件夹操作及递归遍历文件夹(示例代码)

    文件夹相关函数介绍 //mkdir 函数创建文件夹 #include #include int mkdir(const char *pathname, mode_t mode); //rmdir 删除 ...

  2. linux的文件和文件夹操作

    文件和文件夹操作 创建/删除目录 - mkdir / rmdir. (base) liuzuoping@liuzuoping~Lenove-G480:~$ mkdir abc (base) liuzu ...

  3. linux剪切到另一个文件夹,linux下文件夹操作常见命令如创建、复制、剪切、重命名、清空和删除命令 实例说明...

    linux下文件夹操作常见命令如创建.复制.剪切.重命名.清空和删除命令 实例说明,在home目录下有wwwroot目录,wwwroot下有sinozzz目录,即/home/wwwroot/sinoz ...

  4. python的文件操作os_python文件、文件夹操作OS模块

    ''' 一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的 ...

  5. python处理文件夹_python文件及文件夹操作

    1.open()各模式详情 'r'        以只读模式打开,没有write()方法,默认打开方式 'w'       以只写模式打开,文件不存在时会自动创建文件,文件已存在时会清除文件内容并重建 ...

  6. python os 文件文件夹操作

    python 移动文件或文件夹操作.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd( ...

  7. windows中cmd进入文件夹操作及相对路径

    windows中cmd的文件夹操作 d: #进入d盘根目录 dir #看到d盘中所有的文件夹和选项 cd opencv #进入文件夹之前需要先进入该盘内,之后再输入cd命令 例如: C:\Users\ ...

  8. linux文件夹文件颜色及命令

    Linux 中文件夹 / 根目录:包含了几乎所的文件目录.相当于中央系统.进入的方法是cd / /root 如果你是以超级用户的身份登录的,这个就是超级用户的主目录. /home 如果建立一个名为&q ...

  9. mac 同步 linux文件夹在哪里,mac软件文件夹在哪里

    mac系统下的软件一般默认安装在哪里? Mac下的软件一般默认安装在Applications文件夹下. 点击Finder,工具栏内的应用程序就是Applications文件夹. mac 下程序安装目录 ...

  10. python文件文件夹操作

    Python文件夹操作 1.提要 ​ python中可以使用os及shutil模块进行文件和目录的操作.其中os可以执行简单的文件及文件夹操作.而shutil则提供了大量文件的高级操作,特别针对文件的 ...

最新文章

  1. mysql date week_mysql weekday(date)/subdate(date,间隔天数)查询年龄/本月/周过生日
  2. 神策数据、阿里、华为、字节等携手推动个人信息保护工作
  3. 实践编译LINUX0.11源码,感觉真爽。
  4. 数字图像处理基本概念
  5. ubuntu指令模式修改IP等信息
  6. 重磅福利!《Apache Flink 十大技术难点实战》发布,帮你从容应对生产环境中的技术难题...
  7. 力扣344. 反转字符串(JavaScript)
  8. turnserver开机启动配置
  9. Fuzzy analytic hierarchy process(模糊层次分析法)论文学习
  10. nuxt使用videojs播放flv格式视频
  11. 神经网络模型的基本原理,神经元网络算法的思想
  12. ComposeOptions.kotlinCompilerVersion is deprecated
  13. 网络分流器-TCP报文重组和会话规则-网络分流器
  14. iOS 字符串转ascii码,字符串转NSData
  15. Python学习笔记(7)——Matplotlib中的Axes.plot(绘制点、线和标记)的用法
  16. 在Ubuntu下从Python连接到Microsoft SQL Server数据库
  17. 四种xml的解析方式
  18. BAISS的动态分布式搜索存储协议(DDSSP)究竟是什么?
  19. 随机森林算法及贝叶斯优化调参Python实践
  20. android计算器弹窗,【Android 开发-kotlin】计算器+分享页面demo

热门文章

  1. 大连市2011年初中毕业升学考试试测(一)数 学
  2. 「力扣」509. 斐波那契数【动态规划】详解!
  3. inDesign教程,如何创建具有吸引力的边注栏?
  4. 苹果Mac图片墙制作软件:FigrCollage
  5. Oracle误删除后的找回方法
  6. MySQL crash-safe replication
  7. ReentrantReadWriteLock 可重入的读写锁
  8. hadoop1.1.2集群安装指南
  9. 6 - VC Bound (P[BAD]的真正上限)
  10. c语言自行设计矩形类构造函数