Linux 文件管理学习笔记(5-27)
2009-06-26 16:47
525 查看
Linux:
文件I/O
open,create,close,lseek,read,write.
dup 复制一个文件描述符fd.通常返回最小未使用过的fd.
dup2(int old_fd,int new_fd);将老fd复制为新fd.
fcntl,用来改变已打开文件的性质,比如open一个文件为只读,可以用fcntl改变为读写。
ioctl Linux中用于文件控制(包括socket,块等)的一个杂函数。
文件和目录:
struct stat
{
// 文件类型
// 括普通文件,目录文件,字符特殊文件,块特殊文件,FIFO(命名管道),套接口,符号连结(这种///文件指向另一个文件。
// 可以使用 S_ISREG() S_ISDIR() S_ISCHR() S_ISBLK() S_ISFIFO() S_ISLNK() S_ISSOCK()
// 来判断文件是属于什么类型。
mode_t st_mode;
// i-node number,Linux系统对每个文件都分配一个inode,相当于序列号
ino_t st_ino;
// 设备号 (不是很清楚)
dev_t st_dev;
// 连结数量(number of links)
nlink_t st_nlink;
// 所属用户ID
uid_t st_uid;
// 所属用户组ID
gid_t st_gid;
// 普通文件的大小。以Byte计算
off_t st_size;
// 最后一此访问时间
time_t st_atime;
// 最后一此修改时间
time_t st_mtime;
// 最后一此改变文件状态时间
time_t st_ctime;
// best I/O block size
long st_blksize;
// number of 512-byte blocks allocated
long st_blocks;
};
int stat(const char *pathname,struct stat *buf)
得到一个文件的具体属性,
int fstat(int fd,struct stat *buf)
得到一个打开的文件具体属性
int lstat(const char *pathname,struct stat *buf)
前面加了l的 ,是表示: 如果pathname指向的是一个符号连结文件(即类似快捷方式),那么lstat返回的是符号连结文件的有关信息,而前面不加l的则是表示符号连结文件指向的文件的信息。
assess函数
umask函数:
umask
命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最
大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来
说,umask中各个数字最大可以到7。
该命令的一般形式为:umask nnn
其中nnn为umask置000 - 777。
我们只要记住u m a s k是从权限中“拿走”相应的位即可。下表是umask值与权限的对照表:
umask 文件 目录
--------------------
0 6 7
1 6 6
2 4 5
3 4 4
4 2 3
5 2 2
6 0 1
7 0 0
--------------------
如:umask值为022,则默认目录权限为755,默认文件权限为644。
chown(chown ,fchown,fchown):
该函数或者命令改变目标文件的拥有者,不过该拥有着应该是已经存在的用户
chmod
改变用户对某文件的权限。
truncate / ftruncate
文件截短函数(没用过)
link,unlink,remove,rename
注:unlink和rename之间的区别:
unlink每次调用的时候减少对目标文件的连结1,当连结为0的时候,内核自动删除。
而rename则调用后直接删除
ftw:
int ftw(const char *dirpath,
int (*fn) (const char *fpath, const struct stat *sb,
int typeflag),
int nopenfd);
用于文件树遍历的,最后一个参数一般用来表示遍历的深度。
文件I/O
open,create,close,lseek,read,write.
dup 复制一个文件描述符fd.通常返回最小未使用过的fd.
dup2(int old_fd,int new_fd);将老fd复制为新fd.
fcntl,用来改变已打开文件的性质,比如open一个文件为只读,可以用fcntl改变为读写。
ioctl Linux中用于文件控制(包括socket,块等)的一个杂函数。
文件和目录:
struct stat
{
// 文件类型
// 括普通文件,目录文件,字符特殊文件,块特殊文件,FIFO(命名管道),套接口,符号连结(这种///文件指向另一个文件。
// 可以使用 S_ISREG() S_ISDIR() S_ISCHR() S_ISBLK() S_ISFIFO() S_ISLNK() S_ISSOCK()
// 来判断文件是属于什么类型。
mode_t st_mode;
// i-node number,Linux系统对每个文件都分配一个inode,相当于序列号
ino_t st_ino;
// 设备号 (不是很清楚)
dev_t st_dev;
// 连结数量(number of links)
nlink_t st_nlink;
// 所属用户ID
uid_t st_uid;
// 所属用户组ID
gid_t st_gid;
// 普通文件的大小。以Byte计算
off_t st_size;
// 最后一此访问时间
time_t st_atime;
// 最后一此修改时间
time_t st_mtime;
// 最后一此改变文件状态时间
time_t st_ctime;
// best I/O block size
long st_blksize;
// number of 512-byte blocks allocated
long st_blocks;
};
int stat(const char *pathname,struct stat *buf)
得到一个文件的具体属性,
int fstat(int fd,struct stat *buf)
得到一个打开的文件具体属性
int lstat(const char *pathname,struct stat *buf)
前面加了l的 ,是表示: 如果pathname指向的是一个符号连结文件(即类似快捷方式),那么lstat返回的是符号连结文件的有关信息,而前面不加l的则是表示符号连结文件指向的文件的信息。
assess函数
umask函数:
umask
命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最
大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来
说,umask中各个数字最大可以到7。
该命令的一般形式为:umask nnn
其中nnn为umask置000 - 777。
我们只要记住u m a s k是从权限中“拿走”相应的位即可。下表是umask值与权限的对照表:
umask 文件 目录
--------------------
0 6 7
1 6 6
2 4 5
3 4 4
4 2 3
5 2 2
6 0 1
7 0 0
--------------------
如:umask值为022,则默认目录权限为755,默认文件权限为644。
chown(chown ,fchown,fchown):
该函数或者命令改变目标文件的拥有者,不过该拥有着应该是已经存在的用户
chmod
改变用户对某文件的权限。
truncate / ftruncate
文件截短函数(没用过)
link,unlink,remove,rename
注:unlink和rename之间的区别:
unlink每次调用的时候减少对目标文件的连结1,当连结为0的时候,内核自动删除。
而rename则调用后直接删除
ftw:
int ftw(const char *dirpath,
int (*fn) (const char *fpath, const struct stat *sb,
int typeflag),
int nopenfd);
用于文件树遍历的,最后一个参数一般用来表示遍历的深度。
相关文章推荐
- linux学习笔记:文件与目录管理
- Linux 学习笔记_9_文件系统管理_2_文件系统管理命令及案例分析
- [Linux] Linux学习笔记(5)-文件与目录管理
- linux学习笔记之 文件和目录管理
- Linux 学习笔记_9_文件系统管理_3_/etc/fstab文件分析与磁盘配额应用
- linux学习笔记:磁盘配额(Quota)与高级文件系统管理
- 实验楼linux学习笔记之用户及文件权限管理
- 实验楼linux学习笔记(二):用户及文件权限管理
- Linux基础知识学习笔记(一)--文件系统的权限管理
- 【Linux学习笔记十一】linux文件和目录属性管理
- Linux 学习笔记_3_Linux常用命令_1_文件管理命令
- linux学习笔记-----其他文件权限管理命令
- Linux 学习笔记_9_文件系统管理_4_文件备份
- Linux磁盘与文件系统管理学习笔记
- Linux 学习笔记 -- 第二部分 Linux 文件、目录与磁盘格式 -- 第7章 Linux 文件与目录管理
- Linux 学习笔记 -- 第四部分 Linux 使用着管理 -- 第15章 磁盘配额 (Quota) 与高级文件系统管理
- Python 创建、读取和写入文件以及yield关键字- 千月的python linux 系统管理指南学习笔记(14)
- linux系统管理操作指令学习笔记(三)管理好文件
- 【Linux】Shell学习笔记之二——文件和目录管理(创建、删除、复制、查看)
- Linux 学习笔记---文件系统与LVM磁盘管理