刪除乙個非空目錄

2021-07-08 14:56:55 字數 1953 閱讀 5616

stat用來把path指定的檔案(包含目錄或裝置等)的狀態及屬性資訊

儲存到由buf指向的結構體struct stat中去。

fstat功能與stat相同,只不過由檔案描述符指定檔案。

lstat功能與stat相同,只不過當path是乙個符號鏈結時,獲取的是

符號鏈結本身的狀態屬性資訊,而不是它指向的檔案。

struct stat在linux/unix用來儲存檔案屬性資訊的結構體

struct stat ;

st_mode這個成員變數包含了檔案許可權和檔案型別。

檔案許可權是用位域實現:

s_irusr  s_iwusr  s_ixusr

s_irgrp  s_iwgrp  s_ixgrp

s_iroth  s_iwoth  s_ixoth

檔案型別:用下列巨集來解析

s_isreg(buf->st_mode)      :    普通檔案       -

s_isdir()                              :    目錄檔案         d

s_ischr()                            :    字元裝置檔案  c

s_isblk()                             :    塊裝置檔案      b

s_isfifo()                            :    管道檔案    p

s_islnk()                             :    符號鏈結檔案  l

s_issock()                          :    socket檔案   s

int mkdir(const char *pathname, mode_t mode);

用指定的名字建立目錄。    預設時,新建立的目錄模式為0777,即不加保護地對所有人

都可讀、可寫、可執行。

其中引數pathname是新建立目錄的目錄名,mode指定該目錄的訪問許可權,這些位將受到檔案建立

方式遮蔽(umask)的修正。該函式建立乙個名為pathname的空目錄,此目錄自動含有「.」和「..」2個登記項。

這個新建立目錄的使用者id被設定為呼叫程序的有效使用者id,其組則為父目錄的組id或者程序的有效組id。

若呼叫成功,mkdir將更新該目錄的st_atime、st_ctime和st_mtime,同時更新其父目錄的st_ctime和st_mtime,

然後返回0。

若呼叫失敗,mkdir將返回-1.

由pathname指定的新目錄的父目錄必須存在,並且呼叫程序必須具有該父目錄的寫許可權以及pathname涉及的各個分路徑目錄的搜尋許可權。

3. 讀乙個目錄  

struct dirent ;

note:請注意不是所有的系統都支援。

int closedir(dir *dirp);

返回0為成功,返回1失敗並設定error。

remove()函式用於刪除指定的檔案。

函式原型:int remove(char * pathname);

參     數:  pathname為要刪除的檔名,可以為一目錄。如果引數pathname 為一檔案,則呼叫unlink()處理;

若引數pathname 為一目錄,則呼叫rmdir()來處理。

返 回  值:      成功則返回0,失敗則返回-1 並設定error。

void  delete_dir(char *path)

struct dirent *dt = null;

while(dt = readdir(d)) //讀目錄項

else if(s_isdir(st.st_mode))

}closedir(d);

return;

}

如何 clone git 專案到乙個非空目錄

如果我們往乙個非空的目錄下 clone git 專案,就會提示錯誤資訊 fatal destination path already exists and is not an empty directory.解決的辦法是 1.進入非空目錄,假設是 workdir proj1 3.mv tmp git...

如何 clone git 專案到乙個非空目錄

如果我們往乙個非空的目錄下 clone git 專案,就會提示錯誤資訊 fatal destination path already exists and is not an empty directory.解決的辦法是 1.進入非空目錄,假設是 workdir proj1 3.mv tmp git...

刪除空目錄

專案需要遍歷兩個樹,以及其他一些引數生成一批excel 檔案樹,即 n級目錄 excel檔案。為了提高建立檔案的效率,一開始,遍歷的過程中,就將乙個乙個excel檔案樹子節點先建立好 只是建立目錄,並沒有建立檔案 然後,開啟100多個執行緒,各自去查資料庫,建立相應的檔案。單錶最多8w條資料,但總量...