[04]APUE:文件与目录】的更多相关文章

一.link.unlink.remove和rename 一个文件可以有多个目录项指向其i节点.使用link函数可以创建一个指向现存文件连接 #include <unistd.h> int link(const char *existingpath, const char *newpath); 返回值:成功为0,出错为-1 该函数创建一个新目录项newpath,指向现存文件existingpath,如果newpath已存在则返回出错. 为了删除一个现存的目录项,可以调用unlnk函数. #inc…
一.文件权限 1. 各种ID 我在读这一章时遇到了各种ID,根据名字完全不清楚什么意思,幸好看到了这篇文章,http://blog.csdn.net/ccjjnn19890720/article/details/6990656,总结一下 每一个进程其实对应了6个以上的ID,它们分别是:实际用户ID.实际组ID(我们实际上是谁,执行这个程序的用户和组),有效用户ID.有效组ID.附加组ID(用于文件访问权限检查),保存设置用户ID,保存设置组ID(由exec函数保存) 实际用户ID/实际组ID:当…
文件和目录 Unix 所有的文件都对应一个 struct stat,包含了一个文件所有的信息. #include <sys/stat.h> struct stat { mode_t st_mode; // 文件类型和用户访问权限 ino_t st_ino; // inode 号 dev_t st_dev; // 文件系统设备号 dev_t st_rdev; // 特殊文件设备号 nlink_t st_nlink; // 链接(引用)计数,这个指对inode的链接数 uid_t st_uid;…
一.mkdir和rmdir函数 #include <sys/types.h> #include <sys/stat.h> int mkdir(const char *pathname, mode_t mode); 返回值:成功0,失败-1. mkdir函数创建一个空目录,.和..目录是自动创建的.所指定的文件存取许可权mode由进程的文件方式创建屏蔽字修改(命令行执行umask可查看) 常见的错误是指定与文件相同的mode(只指定读,写许可权).但是对于目录来说必须设置一个执行许可…
粘着位(Sticky Bit) S_ISVTX位被称为粘着位.如果一个可执行程序文件的这一位被设置了,程序第一次运行完之后,程序的正文部分的一个副本仍被保存在交换区(程序的正文部分是机器指令).这使得下次执行该程序能更快的被载入内存.因为在通常的UNIX文件系统中,文件的各数据块很可能是随机存放的,相比较,交换区是被作为一个连续文件来处理的. 现在较新的UNIX系统配置了虚拟存储系统以及快速文件系统,很少再给普通文件设置粘着位. 现在的系统还支持对目录设置粘着位.如果对一个目录设置了粘着位,那么…
dpkg -L filename dpkg -l | grep filename whereis filename find / -name filename…
[a] stat / lstat / fstat #include <sys/stat.h> int stat(const char *restrict pathname, struct stat *restrict buf)int lstat(const char *restrict pathname, struct stat *restrict buf) int fstat(int fd, struct stat *buf) struct stat { mode_t st_mode; in…
. . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编程 (APUE) 之 文件和目录 (四) 一起学 Unix 环境高级编程 (APUE) 之 系统数据文件和信息 (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境 (六) 一起学 Unix 环境高级编程 (APUE) 之 进程控制 (七) 一起学 Unix 环境高级编程 (APUE)…
1.文件信息结构体 struct stat{ mode_t st_mode; //file type and permissions ino_t st_ino; //i-node number (serial number) dev_t st_dev; //device number (file system) dev_t st_rdev; //device number for special files nlink_t st_nlink; //number of links uid_t st…
1.配置完adb环境变量后在终端输入adb: ameyume@ameyume-HP-450-Notebook-PC:~$ adb /home/ameyume/adt-bundle-linux-x86_64-20140702/sdk/platform-tools/adb: 没有那个文件或目录 原因:由于是64位的linux系统,而Android SDK只有32位的,需要安装一些支持包才能使用.安装: ameyume@ameyume-HP-450-Notebook-PC:~$ sudo  apt-g…