日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 函数 缩小文件,linux文件系统的处理函数

發布時間:2025/4/16 linux 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 函数 缩小文件,linux文件系统的处理函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文件系統

通用:rename(原路徑名,新路徑名); ?修改文件名

remove(路徑名); ? ? 刪除文件或路徑

symlink(原路徑名,符號鏈接名); ? 建立文件或路徑的軟鏈接

access(路徑名,權限); ? ? 權限:F_OK(是否存在) R_OK W_OK X_OK 的任意組合

lstat/stat/fstat(路徑名,struct stat *buf); ?取得文件詳細信息

xxx_t 一般是tepedef起的類型別名,絕大多數是整數類型的數據,目的是見面知意。一般在中定義

chmod(路徑名,權限); ?修改文件或目錄的權限

getpwuid(uid)/getpwnam(用戶名) ? 獲取用戶的信息

struct tm* localtime(time_t time); ?//UTC 轉換為時分秒格式

time_t mktime(struct tm*); ?本地時間轉換成UTC

目錄:

DIR* opendir(目錄路徑); ?//打開指定目錄,返回一個指針代表這個目錄打開,失敗返回NULL。

struct dirent* readdir(DIR*); ?//一次從目錄中讀取一項(一個文件或目錄)信息。返回一個結構體指針,指向包含目錄入口信息的結構變量。

struct dirent的定義沒有規定統一,但一定有一個d_name的成員保存文件或目錄名,沒有路徑。讀完了或失敗返回NULL.

closedir(DIR*);

telldir/seekdir/... ?頭文件

chdir(目錄路徑); ?//把當前目錄設置為指定目錄

getcwd(字符數組,數組長度); ?//取得當前路徑,絕對路徑

mkdir(目錄路徑, 權限); ?//按指定權限創建路徑

rmdir(目錄路徑); ?//刪除指定的空目錄

文件:

unlink(文件路徑) ?//刪除文件

ssize_t readlink(const char* path, char* buf, size_t buf_size); ? //讀軟鏈接文件(目標路徑)到buf(不會自動加\0)

int open(const char * path, int mode[,權限]) ?//打開文件,返回一個文件描述符,失敗返回-1

打開方式:O_RDONLY = 0,O_WRONLY=1,O_RDWR=2三選一,O_APPEND追加 O_CREAT文件不存在就創建 ?O_TRUNC以寫方式打開文件時,情空原有文件內容

O_EXCL和O_CREAT一起表示必須新建一個文件,如果文件已經存在打開就失敗 ?O_NONBLOCK不阻塞

ssize_t wirte(int fd, char *buf, size_t buf_size); ?//返回成功寫入文件的字節數,失敗返回-1

ssize_t read(int fd, char *buf, size_t buf_size) ? ?//依次讀取數據,返回讀取的字節數,失敗返回-1,返回0表示讀到文件尾。

int close(int fd); ? //關閉一個打開的文件,清空文件緩存區

void sync(void); ? ? //文件緩存寫到磁盤

int fsync(int fd); ? //文件緩存寫到磁盤

void syncfs(int fd); ? ?//文件緩存寫到磁盤

lseek(int fd, off_t offset, int whence) ? //指定一個打開文件的下次開始讀寫的位置,參考點:SEEK_SET SEEK_CUR SEEK_END,

返回從文件頭開始的偏移量 允許指定超過文件尾的偏移,中間部分會形成空洞,數據為0。

int truncate(const char *path, off_t length) ?//截斷文件成指定大小

ftruncate(int fd, off_t length) ? ? ? ?//截斷文件成指定大小

umask(mode) ?//設置文件創建時需要屏蔽的權限

dup dup2 //復制文件描述符

特殊文件描述符:0標準輸入設備文件 1標準輸出設備文件 2標準錯誤輸出設備文件

標準輸出從定向:

> /dev/null

> /dev/null 2> dev/null

> /dev/null 2>&1

>& /dev/null

特殊文件:/dev/tty當前設備終端 ? /dev/pts/n標號為n的虛擬終端 ?/dev/null空設備文件 ?/dev/zero

fcntl(文件描述符,命令,結構指針struct flock*) ? //功能很多,一般用于給文件加鎖

int fcntl(int fd, int cmd, .../*arg*/); ?// cmd: F_GETLK(取得鎖信息)/F_SETLK(加鎖)/F_SETLKW(加鎖直到成功為止)

struct flock

{

l_type; ?//鎖類型,F_RDCLK F_WRCLK F_UNCLK; 多個讀鎖可以共存,多個寫鎖和讀鎖不能同時存在,誰加的鎖誰解

l_start; ?//開始位置

l_whence; ?//偏移位置

l_len; ?//加鎖字節長度

l_pid; ? //哪個進程加的鎖

}

ioctl ?//調用驅動程序接口,不用驅動使用的參數及其含義不同

int ioctl(int fd, unsigned long request, ...);

文件操作:

系統 read write

C語言 fread fwrite fgetc fputc fgets fputs fscanf fprintf

C++ ifstrean ofstream

mmap:可以把文件映射到內存中,可以像內存一樣訪問文件。

void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);

int munmap(void *addr, size_t length);

標簽:文件,int,文件系統,dev,fd,linux,buf,處理函數,size

來源: https://blog.csdn.net/Dam_Sam/article/details/100086173

總結

以上是生活随笔為你收集整理的linux 函数 缩小文件,linux文件系统的处理函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。