1. 程式人生 > >[POSIX]文件系統(概述)

[POSIX]文件系統(概述)

文件描述符 osi ror 字符 ascii碼 文件 概述 標準輸入輸出 fcntl

1.文件名由除系統目錄分隔符(unix是/,windows是\)和空字符“\0”外的任意ASCII字符組成,現代系統很多還可以包含UNICODE字符,但是還是推薦使用傳統的ASCII碼命名.

2.目錄不能創建硬鏈接.

3.文件描述符是一個非負數.

3.不同進程打開同一個文件,會有不同的文件描述符(fd)返回.

4.一般shell程序會把0、1、2三個文件描述符標準化為shell程序的輸入輸出和錯誤輸出,換句話說文件描述符0到2已經被這3個標準輸入輸出占用了.

POSIX也定義了三個常量代表了這三個數字包含在unistd.h頭文件上

STDIN_FILENO 0
STDOUT_FILENO 1
STDERR_FILENO 2

代碼示例:

#include <fcntl.h>
#include <unistd.h>

int main(void){
    char s_1[] = "my error.\n";
    write(STDERR_FILENO, s_1, 10);
    return 0;
}

此代碼片段會在控制臺,輸出"my error.\n".

[POSIX]文件系統(概述)