linux C浅学大纲 4

#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)  //检查文件是否可以存取访问


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值