linux学习(文件系统+inode)[14]

输出重定向可分离

 stdout -> 1
    printf("hello printf 1\n");
    fprintf(stdout,"hello fprintf 1\n");
    // stderr -> 2
 
    errno = 1;
    perror("hello perror 2"); //stderr

    const char *s1 = "hello write 1\n";
    write(1, s1, strlen(s1));

    const char *s2 = "hello write 2\n";
    write(2, s2, strlen(s2));

    // cout -> 1
    std::cout << "hello cout 1" << std::endl;
    // cerr -> 2
    std::cerr << "hello cerr 2" << std::endl;



    close(1);
    int fd = open("log.txt", O_WRONLY | O_CREAT | O_TRUNC, 0666);
    if(fd < 0)
    {
        perror("open");
        return 0;
    }

linux学习(文件系统+inode)[14]_第1张图片

自定义perror

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

void myperror(const char *msg)
{
    fprintf(stderr, "%s: %s\n", msg, strerror(errno));
}


int main()
{
    int fd = open("log.txt", O_RDONLY);
    if(fd < 0)
    {
        myperror("open");
        return 1;
    }
}

在这里插入图片描述

磁盘文件+inode

内存–掉电易失存储介质
磁盘–永久性存储介质 - SSD,U盘,flash卡,光盘,磁带
磁盘是一个外设+计算机中唯一的机械设备
linux学习(文件系统+inode)[14]_第2张图片
linux学习(文件系统+inode)[14]_第3张图片
linux学习(文件系统+inode)[14]_第4张图片
linux学习(文件系统+inode)[14]_第5张图片
linux学习(文件系统+inode)[14]_第6张图片
linux学习(文件系统+inode)[14]_第7张图片
在这里插入图片描述
linux学习(文件系统+inode)[14]_第8张图片
linux学习(文件系统+inode)[14]_第9张图片

你可能感兴趣的:(linux,linux,学习)