實現linux的cp命令

2021-09-02 17:31:50 字數 933 閱讀 7166

主要運用open()開啟檔案,運用read()讀出檔案的內容到緩衝區,write()將緩衝區的內容寫入新的檔案,來模擬實現linux命令的cp功能。注意可以通過使用lseek()函式來獲取檔案的大小。

/*

c語言實現linux cp命令

*/#include //open()所需標頭檔案

#include //lseek()所需標頭檔案

#include #include #include #include #include //write read 所需標頭檔案

int main(int argc,char *argv)

int fd;

int buf_fd;

int buf_size;

char buf_addr[100]=;

buf_fd=open(argv[1],o_rdwr); //開啟原始檔

buf_size=lseek(buf_fd,0,seek_end); //將檔案指標偏移到檔案末尾

printf("buf_size is:%d\n",buf_size);

lseek(buf_fd,-buf_size,seek_cur); //將檔案指標向前移動buf_size個位元組,否則無法讀到檔案內容

read(buf_fd,buf_addr,buf_size); //讀出原始檔的內容到buf_addr緩衝器

printf("buf_addr is:%s\n",buf_addr);

//開啟目標檔案,不存在則建立,存在則清空,可讀可寫

fd=open(argv[2],o_creat|o_rdwr|o_trunc);

if(fd==-1)

else

close(fd);

close(buf_fd);

return 0;

}

系統呼叫實現Linux命令 cp

和命令ls一樣,我以前在網易上寫的搬過來,嘻嘻!cp.c如下 include cp.h 注意 計算完檔案大小後 要記得指標復位 記得關閉檔案 void cp char src path filename,char dest path filename 以唯讀方式開啟原始檔 int fd src op...

Linux命令 cp命令

cp命令用來複製檔案或者目錄,是linux系統中最常用的命令之一。1,語法 cp options source dest 或者cp options source.directory 2,引數說明 f 覆蓋已經存在的目標檔案而不給出提示。i 與 f選項相反,在覆蓋目標檔案之前給出提示,要求使用者確認是...

實現自己的cp命令

1 綜述 在unix和linux系統裡,cp是經常使用的乙個命令,用於複製檔案,用法如下 cp src file dest file 以下就使用若干系統呼叫來實現自己的cp。2 原理 open 開啟乙個檔案 close 關閉檔案 read 從檔案中讀取資料到緩衝區 write 將資料從緩衝區寫入檔案...