嵌入式day16

Shell命令:
    1.基本的shell命令:
        1.ls
            ls -a 
            ls -l  
        2.mkdir 
        3.rmdir 
        4.touch 
        5.rm -rf 
        6.pwd 
        7.cp 
        8.mv 

文件查看命令:
        1.cat 文件名 
            查看文件中的内容
        2.grep 字符串 文件名
            在文件名对应的文件中查找字符串相关的行
        3.head -n 文件名
            查看文件中的前n行
        4.tail -n 文件名
            查看文件中的最后n行
 

文件查找命令:
        1.find 路径 -name 文件名 
            在路径下查找文件名对应的文件
        2.locate 文件名
            查找文件名对应的文件所在的路径 
        3.whereis 文件名
            查找已经安装的二进制文件所在路径

压缩解压命令:
        .tar.gz 
        .tar.bz2 
    
    压缩:
        tar -zcvf 文件名.tar.gz 文件名/*
        tar -jcvf 文件名.tar.bz2 文件名/*
    解压:
        tar -zxvf 文件名.tar.gz
        tar -jxvf 文件名.tar.bz2

du -m/k 文件名          查看文件占用的空间大小(Mb/Kb)   

通配符:
        *:匹配任意长度任意字符的文件名
        ?:匹配一位长度任意字符的文件名 
        [a-z]:匹配a-z之间的任意字符
        [1-9]:匹配1-9之间的任意字符

管道:
        将前面命令的输出作为后续命令的输入 
        ps -ef | grep bash 

        查看进程中与bash相关的进程

重定向:
        >  覆盖重定向
        >> 追加重定向
 

标准IO 
    stdio.h  
    主要操作普通文件 
    1.打开文件 
    2.读写文件 
    3.关闭文件 
 

特殊的流 
    stdin       标准输入流          行缓存
    stdout      标准输出流          行缓存
    stderr      标准错误流          不缓存

    gets、getchar、scanf是基于stdin实现的
    puts、putchar、printf是基于stdout实现的 
    perror是基于stderr

缓存:
    1.全缓存    4096  4k 
        缓存区满刷新
        
        与文件建立的缓存一般为全缓存

        刷新条件:
            1.缓存区存满了刷新
            2.fflush函数接口刷新
            3.关闭流时会刷新

    2.行缓存    1024  1k
        遇到\n刷新 

        与终端建立的缓存都是行缓存

        刷新条件: 
            1.缓存区满刷新 
            2.遇到\n刷新 
            3.fflush函数刷新 
            4.关闭流时会刷新

    3.不缓存    0  0k
        立即刷新 

        刷新条件:
            1.立即刷新

            1.对设备的操作不允许缓存
            2.通信不允许缓存
            3.出错处理不缓存 

1.fopen  
      FILE *fopen(const char *pathname, const char *mode);
      功能:
        打开pathname对应的文件并建立一个文件流
      参数:
        pathname:文件路径
        mode:打开方式
            r      只读             如果文件存在则只读打开
                                    如果文件不存在报错
            r+     读写             如果文件存在则读写打开
                                    如果文件不存在报错
            w      只写             如果文件存在则清0,只写打开 
                                    如果文件不存在则创建
            w+     写读             如果文件存在则清0,读写打开 
                                    如果文件不存在则创建
            a      追加只写         如果文件存在则追加只写打开 
                                    如果文件不存在则创建
            a+     追加读写         如果文件存在则追加读写打开 
                                    如果文件不存在则创建
      返回值:
        成功返回FILE*的指针
        失败返回NULL并且将错误码置位 

    2.fclose
      int fclose(FILE *stream);
      功能:   
        关闭流 
      参数: 
        stream:文件流
      返回值:
        成功返回0 
        失败返回EOF(-1)
    
    3.setvbuf 
      int setvbuf(FILE *stream, char *buf, int mode, size_t size);
      功能:
        改变流的缓存类型
      参数:
        stream:文件流
        buf:缓存区的首地址 
        mode:   
            _IOFBF  全缓存
            _IOLBF  行缓存
            _IONBF  不缓存
        size:缓存区大小
      返回值:
        成功返回0 
        失败返回非0 

    2.fgetc、fputc
      int fputc(int c, FILE *stream);
      功能:
        向流中写入一个字符 
      参数:
        c:写入的字符
        stream:文件流指针
      返回值:
        成功返回写入字符的ASCII码值
        失败返回EOF(-1) 

  • 12
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值