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系统的各个方面,从基础的文件操作到高级的进程管理和文件I/O,以及标准实现和兼容性问题,为读者提供了一个全面理解UNIX环境高级编程的基础。
在阅读《Unix环境高级编程》的过程中,搭建环境的详细笔记将有助于更好地理解和实践上述概念。这些笔记可能包括安装必要的编译工具、配置环境变量、解决依赖问题以及实际编程示例等步骤,确保读者能够顺利地在实践中...
### UNIX高级编程知识点详解 #### 一、课程体系与学习目标概述 - **语言**: 本课程主要聚焦于两种主流...通过以上知识点的学习,可以深入理解UNIX高级编程的核心概念和技术细节,为后续的学习和实践打下坚实的基础。
### APUE读书笔记《UNIX环境高级编程第二版》知识点概览 #### 第一章 Unix基础 **1. Unix手册页** - 手册页是Unix系统中查询命令、函数等帮助文档的方式。 - 分类包括命令(1)、系统调用(2)、库函数(3)、特殊...
"Unix Shell编程第三版笔记"是铁道出版社出版的一本教材,它深入浅出地讲解了Unix Shell编程的基础和高级技巧。这份笔记涵盖了从基本的命令行操作到复杂的脚本编写,帮助学习者掌握这一强大的自动化工具。 Unix ...
《UNIX环境高级编程第二版》是一本深入探讨UNIX操作系统下高级编程技术的专著,尤其适合于对UNIX系统有深入了解需求的程序员、系统管理员以及计算机科学领域的学生和研究人员。本书的高清电子书版本,提供了清晰的...
- **命令行参数和环境变量**:`argv`和`envp`数组传递给进程。 - **C程序的存储空间基本布局**:解释进程地址空间的组成部分。 - **设置和获取系统资源限制**:使用`getrlimit`和`setrlimit`函数调整进程的资源限制...
总的来说,这份"LINUX与UNIX_Shell编程指南"的学习笔记将带你深入探索Shell编程的核心概念,不仅包括基础的文件权限和安全,还可能涉及更高级的主题,如脚本编写技巧、错误处理和调试方法。掌握这些知识,你将成为一...
《LINUX与UNIX SHELL编程指南》是一本深入探讨Linux和UNIX系统中Shell脚本编程技术的书籍。这本书旨在帮助读者理解和掌握Shell编程的核心概念,从而能够编写出高效、实用的自动化脚本,提高日常系统管理和任务执行的...
### Unix Shell 编程知识点概览 #### 一、Unix Shell 概述 ...通过以上知识点的学习,读者可以更好地理解和掌握 Unix Shell 编程的基本概念和技术细节,为深入学习 Unix Shell 脚本编程打下坚实的基础。
通过以上内容,我们可以了解到Unix系统编程涉及到多个方面的知识,从操作系统的基本概念到具体的文件操作、进程管理等高级主题。掌握这些知识点对于深入理解Unix系统的工作原理以及编写高质量的应用程序至关重要。
1. **shell编程**:讲解Bash shell和其他Unix shell的基本语法,包括命令行参数、环境变量、重定向、管道和脚本编写等。 2. **进程管理**:介绍进程创建(fork和exec)和进程通信(管道、套接字、信号、共享内存、...
这本书详细介绍了UNIX系统编程的高级特性,包括文件I/O、进程控制、信号处理、线程以及网络编程等方面的知识。 1. Unix基础:本部分涵盖了UNIX系统的基础知识,如系统手册页的使用、系统调用与库函数、文件和目录的...
Unix以其简洁的命令行界面、强大的文本处理工具和强大的编程环境而闻名,是许多现代操作系统(如Linux和Apple的macOS)的基础。 Unix的核心组件包括内核、shell、文件系统和一组称为“Unix工具”的小型实用程序。...
在进入UNIX系统编程的学习之前,我们首先需要理解UNIX的基本概念。UNIX是一种多用户、多任务的操作系统,由贝尔实验室在1960年代末开发。它以其简洁、强大的命令行接口和丰富的工具集而闻名,是许多现代操作系统设计...
Unix基础教程的学习笔记涵盖了Unix操作系统的基本概念、系统组成、常用操作、文件系统和文件类型等多个方面。以下是对这些知识点的详细说明: 1. **Unix产品系列**:Unix是由AT&T贝尔实验室开发的操作系统,后来...