#define START 2018.1.5号是意义非凡的一天。
写之前说明下为什么写,怎样写,怎样学。
本人,小白。在某培训机构培训了几个月,写出来的东西,肤浅,有误,请赐教。
此文章,写给那些,想学,却摸不到大纲的同仁。
1). Linux 下对文件的查看与操作
ls :显示当前文件夹下文件信息
ls -a : 显示当前文件下所有文件下信息
ls -l :显示当前文件下下所有文件详细信息
ln -s text.c NameSorft (建立文件软连接, 相当于Windows下的快捷方式,但是不支持移动到其他文件,否则会失效)
ln text.c NameHard(建立文件硬链接,与软连接相比硬链接相当于赋值+取别名功能)
stat NameSorft 查看文件所有信息
对文件的读写执行权限的修改
chmod [a|u|g|o][+|-][w|r|x] (change mode all或user或group或other 添加/删除 读或写或执行 的权限)
chgrp OtherGropName fileName 改变文件组属性名
文件种类与文件种类的标识符
- 普通文件
d 文件夹文件
b 块设备文件
c 字符设备文件
p 管道文件
s socket文件
l 软连接文件
int stat(cosnt char* path, struct stat* buf);
其中buf.st_uid将uid转换为用户名 struct passwd* getpwuid(uid_t uid)
其中buf.st_gid将gid转换为组名 struct group * getgrgid(gid_t gid)
2). 文件冲定向
int file_fd = open("PathName", O_RDWR);
int dup( int oldfd); ---> int fd = dup (stdout) 把stdout文件描述符赋值保存到 fd 中
int dup2(int oldfd, int newfd)---> dup2(file_fd, stdout) 把file_fd文件描述幅,复制到stdout中
切记结束时,在stdout文件描述符复原
doup2(fd, stdout);
最后关闭file_fd
close(file_fd)
Linux下对文件的操作函数
open close read write lseek 与标C中的fopen fclose fread fwrite flseek 对应记忆
3). 对文件夹的操作
DIR* opendir(const char* name);
int closedir(DIR* dirp);
struct dirent* readdir(DIR* dirp);
struct dirent
{
ino_t d_ino;
off_t d_off;
unsigned short d_reclen;
unsigned char d_type;
char d_name[256]; //文件夹中文件的名
}
4).文件操作的杂项
getcwd(3) //有用 获取当前进程的绝对路径
chdir(2) //改变当前工作文件夹
mkdir(2) //创建文件
chmod(2) //改变文件属性
umask(2) // 掩码
unlink(2) //delete link 创建的文件
link(2) //硬连接一个文件
symlink(2) 软链接
rename(2) //
access(2) //检查文件是否可以存取访问
getcwd(3) //有用 获取当前进程的绝对路径
chdir(2) //改变当前工作文件夹
mkdir(2) //创建文件
chmod(2) //改变文件属性
umask(2) // 掩码
unlink(2) //delete link 创建的文件
link(2) //硬连接一个文件
symlink(2) 软链接
rename(2) //
access(2) //检查文件是否可以存取访问