`
oolala
  • 浏览: 103329 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
09c341db-7f05-3f2b-a572-9ee69a5d8a77
unix环境高级编程
浏览量:22716
社区版块
存档分类
最新评论

Unix环境高级编程笔记:4、文件和目录

 
阅读更多
1、stat   fstat   lstat
    #include <sys/stat.h>
    int stat(const char * restrict pathname,struct stat *restrict buf);
    int fstat(int filedes,struct stat *buf);
    int lstat(const char *restrict pathname,struct stat *restrict buf);
 
        struct stat {
               dev_t     st_dev;     /* ID of device containing file */
               ino_t     st_ino;     /* inode number */
               mode_t    st_mode;    /* protection */
               nlink_t   st_nlink;   /* number of hard links */
               uid_t     st_uid;     /* user ID of owner */
               gid_t     st_gid;     /* group ID of owner */
               dev_t     st_rdev;    /* device ID (if special file) */
               off_t     st_size;    /* total size, in bytes */
               blksize_t st_blksize; /* blocksize for file system I/O */
               blkcnt_t  st_blocks;  /* number of 512B blocks allocated */
               time_t    st_atime;   /* time of last access */
               time_t    st_mtime;   /* time of last modification */
               time_t    st_ctime;   /* time of last status change */
           };
 
2、文件类型
    文件类型定义在stat结构的st_mode成员中,宏确定文件类型,这些宏的参数都是stat结构中的st_mode成员
 
           S_ISREG(m)  is it a regular file?
 
           S_ISDIR(m)  directory?
 
           S_ISCHR(m)  character device?
 
           S_ISBLK(m)  block device?
 
           S_ISFIFO(m) FIFO (named pipe)?
 
           S_ISLNK(m)  symbolic link? (Not in POSIX.1-1996.)
 
           S_ISSOCK(m) socket? (Not in POSIX.1-1996.)
 
3、chmod fchmod
4、chown、fchown、lchown
5、文件长度
    stat结构成员st_size 表示以字节为单位的文件长度
 
6、文件截短
    #include <unistd.h>
    int truncate(const char *pathname,off_t length);
 
7、link、unlink、remove、rename
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

分享到:
评论

相关推荐

    UNIX环境高级编程 笔记

    ### UNIX环境高级编程知识点 ...这些知识点涵盖了UNIX系统的各个方面,从基础的文件操作到高级的进程管理和文件I/O,以及标准实现和兼容性问题,为读者提供了一个全面理解UNIX环境高级编程的基础。

    Unix环境高级编程apeu加链接库

    在阅读《Unix环境高级编程》的过程中,搭建环境的详细笔记将有助于更好地理解和实践上述概念。这些笔记可能包括安装必要的编译工具、配置环境变量、解决依赖问题以及实际编程示例等步骤,确保读者能够顺利地在实践中...

    UNIX 高级编程 笔记

    ### UNIX高级编程知识点详解 #### 一、课程体系与学习目标概述 - **语言**: 本课程主要聚焦于两种主流...通过以上知识点的学习,可以深入理解UNIX高级编程的核心概念和技术细节,为后续的学习和实践打下坚实的基础。

    APUE读书笔记《UNIX环境高级编程第二版》

    ### APUE读书笔记《UNIX环境高级编程第二版》知识点概览 #### 第一章 Unix基础 **1. Unix手册页** - 手册页是Unix系统中查询命令、函数等帮助文档的方式。 - 分类包括命令(1)、系统调用(2)、库函数(3)、特殊...

    unix shell编程第三版笔记

    "Unix Shell编程第三版笔记"是铁道出版社出版的一本教材,它深入浅出地讲解了Unix Shell编程的基础和高级技巧。这份笔记涵盖了从基本的命令行操作到复杂的脚本编写,帮助学习者掌握这一强大的自动化工具。 Unix ...

    UNIX环境高级编程第二版(高清电子书)

    《UNIX环境高级编程第二版》是一本深入探讨UNIX操作系统下高级编程技术的专著,尤其适合于对UNIX系统有深入了解需求的程序员、系统管理员以及计算机科学领域的学生和研究人员。本书的高清电子书版本,提供了清晰的...

    APUE读书笔记(Unix高级环境编程)

    - **命令行参数和环境变量**:`argv`和`envp`数组传递给进程。 - **C程序的存储空间基本布局**:解释进程地址空间的组成部分。 - **设置和获取系统资源限制**:使用`getrlimit`和`setrlimit`函数调整进程的资源限制...

    LINUX与UNIX_Shell编程指南V1.0_学习笔记.docx

    总的来说,这份"LINUX与UNIX_Shell编程指南"的学习笔记将带你深入探索Shell编程的核心概念,不仅包括基础的文件权限和安全,还可能涉及更高级的主题,如脚本编写技巧、错误处理和调试方法。掌握这些知识,你将成为一...

    《LINUX与UNIX SHELL编程指南》读书笔记

    《LINUX与UNIX SHELL编程指南》是一本深入探讨Linux和UNIX系统中Shell脚本编程技术的书籍。这本书旨在帮助读者理解和掌握Shell编程的核心概念,从而能够编写出高效、实用的自动化脚本,提高日常系统管理和任务执行的...

    unix编程之Unix Shell学习笔记

    ### Unix Shell 编程知识点概览 #### 一、Unix Shell 概述 ...通过以上知识点的学习,读者可以更好地理解和掌握 Unix Shell 编程的基本概念和技术细节,为深入学习 Unix Shell 脚本编程打下坚实的基础。

    UNix系统编程笔记

    通过以上内容,我们可以了解到Unix系统编程涉及到多个方面的知识,从操作系统的基本概念到具体的文件操作、进程管理等高级主题。掌握这些知识点对于深入理解Unix系统的工作原理以及编写高质量的应用程序至关重要。

    Unix-Linux编程实践教程

    1. **shell编程**:讲解Bash shell和其他Unix shell的基本语法,包括命令行参数、环境变量、重定向、管道和脚本编写等。 2. **进程管理**:介绍进程创建(fork和exec)和进程通信(管道、套接字、信号、共享内存、...

    学习《高级Linux环境编程》读书笔记(APUE读书笔记)

    这本书详细介绍了UNIX系统编程的高级特性,包括文件I/O、进程控制、信号处理、线程以及网络编程等方面的知识。 1. Unix基础:本部分涵盖了UNIX系统的基础知识,如系统手册页的使用、系统调用与库函数、文件和目录的...

    unix 笔记

    Unix以其简洁的命令行界面、强大的文本处理工具和强大的编程环境而闻名,是许多现代操作系统(如Linux和Apple的macOS)的基础。 Unix的核心组件包括内核、shell、文件系统和一组称为“Unix工具”的小型实用程序。...

    UNIX系统编程学习笔记

    在进入UNIX系统编程的学习之前,我们首先需要理解UNIX的基本概念。UNIX是一种多用户、多任务的操作系统,由贝尔实验室在1960年代末开发。它以其简洁、强大的命令行接口和丰富的工具集而闻名,是许多现代操作系统设计...

    Unix基础教程与学习笔记

    Unix基础教程的学习笔记涵盖了Unix操作系统的基本概念、系统组成、常用操作、文件系统和文件类型等多个方面。以下是对这些知识点的详细说明: 1. **Unix产品系列**:Unix是由AT&T贝尔实验室开发的操作系统,后来...

Global site tag (gtag.js) - Google Analytics