一.Linux的常用指令
1.如何在linux模式下开发
vi使用—模式(命令行模式:esc)(输入模式:i)
退出—命令行模式下按:wq
gcc编译工具—gcc a.c -o a a.c是编译的c文件,a是生成程序的名字
运行:./a
/:根目录 文件夹(蓝色)
ls 列出文件夹的所有文件 ls -a 显示所有文件夹,包括隐藏文件夹
pwd 列出当前在哪个文件夹
mkdir ldy 创建文件夹
cd ldy 进入文件夹
cd… 退回上层文件夹
tab(自动补全,文件名太长敲前几个字符后按tab自动补全)
mv(1.移动 mv*c ldy 将所有的文件剪切到ldy下 2.重命名 mv a.c b.c)
cp 拷贝(cp a.c b.c )
touch 创建空文件夹
rm 删除文件夹
set nu vi模式下显示代码行数
u 撤回
二.文件
1.文件的打开,读写,光标
fd是文件描述符,当文件打开失败的时候,fd=1;
int fd=open(const char *pathname(字符串指针),int oflags);
pathname 是待打开/创建文件的路径名(如 C:/cpp/a.cpp);
oflag 用于指定文件的打开/创建模式;
int fd=open(const char *pathname,int flags,mode_t mode(权限));
mode_t mode(权限)仅当创建新文件时才使用;
O_RDONLY只读打开 O_WRONLY只写打开 O_RDWR可读可写打开
write(int fd, const void *buf, size_t count);
read(int fd, void *buf, size_t count);
将缓冲区buf,已count个字节,写到fd指向的文件里面去
将fd指向文件里面的内容,已count个字节,读取到缓冲区buf里面去
lseek(int fd, off_t offset, int whence);
off_t offset 偏移值
int whence 光标的位置(***SET***文件头,***END***文件尾,***CUR***文件当前位置)
int fd = open("file1",O_RDWR|O_RDWR|O_EXCL,0600);
O_EXCL如果同是指定了OCREAT,文件存在的情况下,fd=-1,报错。
fd = open("file1",O_RDWR|O_APPEND);
O_APPEND每次写时都加到文件的尾端
fd = open("file1",O_RDWR|O_TRUNC);
O_TRUNC属性去打开文件时候,清除文件的所有内容,写进buf里面的内容
int creat(const char *pathname, mode_t mode);
S_IRWXU 00700 可读,可写,可执行
S_IRUSR 00400 可读
S_IWUSR 00200 可写
S_IXUSR 00100 可执行
Linux操作系统中,会默认存在文件描述符:0(标准输入)1(标准输出)2(标准错误)