link文件相當於Windows下的快捷方式,刪除快捷方式,當然相當於刪除
那條訪問實際文件專(或目錄)的線屬,只是把這個訪問入口刪除了。
unlink somelinkfile,如果是使用rm somefile,那麼就是刪除文件了,就不是
刪除訪問入口,而是直接從硬碟上面刪除指定文件。
臨時寫的,有點亂啊,如果有問題再繼續追問就是了,能夠回答的一定盡力
回答,當然不會的也會明確告知的,總不能誤人子弟啊
㈡ c語言怎樣刪除文件
首先要說明的是這里並不是指刪除C編譯器裡面的文件,呵呵,如果只是要內刪除那些文件的話,那容就很簡單,直接選中文件後按delete鍵就可以刪除了,但是我們刪除那些文件幹嘛?我們還要用它寫程序啊,呵呵。我在這里要說的是,怎樣使用C語言編寫程序來刪除文件。
在C語言中,我們可以使用remove()函數來刪除指定的文件,具體語法為:
Int remove(char *filename);其中filename是一個指向字元串的指針,該字元串可以組成有效的文件名,也可以包含路徑說明。如果我們要刪除D盤下的ABC.txt文件,我們就可以這樣寫:remove(「D:\ABC.txt」);
㈢ linux系統下 c++如何創建及刪除文件
c++有提供的標准庫
使用標准庫可以進行文件的一個操作
比如使用fstream或者也可以使用fopen等等
也可以使用remove函數刪除文件
linux也有提供相應的api介面
比如open函數可以打開或者創建文件
使用rmdir函數可以刪除文件夾
使用unlink也可以刪除文件
創建特殊的文件也可以使用相應的函數
比如創建FIFO文件可以使用mkfifo函數等
㈣ C語言unlink函數
這個提問說明了兩個問題
你不會查手冊,命令man 2 unlink有這個函數詳細的說明
你不了解Linux的文件系統
unlink的文檔是這樣描述的:
unlink() deletes a name from the filesystem. If that name was the last link to a file and no processes have the file open the file is deleted and the space it was using is made available for reuse.
If the name was the last link to a file but any processes still have the file open the file will remain in existence until the last file descriptor referring to it is closed.
If the name referred to a symbolic link the link is removed.
If the name referred to a socket, fifo or device the name for it is removed but processes which have the object open may continue to use it.
首先你要明確一個概念,一個文件是否存在取決於它的inode是否存在,你在目錄里看到的是目錄項里一條指向該inode的鏈接,而不是文件的本身.
當你調用unlink的時候他直接把目錄項里的該條鏈接刪除了,但是inode並沒有動,該文件還是存在的,這時候你會發現,目錄里找不到該文件,但是已經打開這個文件的進程可以正常讀寫.只有當打開這個inode的所有文件描述符被關閉,指向該inode的鏈接數為0的情況下,這個文件的inode才會被真正的刪除.
從unlink的名字上就應該能判斷出來,unlink含義為取消鏈接,remove才是刪除的意思
㈤ 如何在linux下使用c語言操作臨時文件
使用臨時文件要考慮幾個問題:
1、保證臨時文件間的文件名不互助沖突。
2、保證臨時文件中內容不被其他用戶或者黑客偷看、刪除和修改。
所以在linux下有專門處理臨時文件的函數
mkstemp函數
mkstemp函數將在系統中以獨一無二的文件名創建一個文件並打開,而且只有當前用戶才有訪問這個臨時文件的許可權,當前用戶對這個臨時文件可以打開並進行讀、寫操作。mkstemp函數只有一個參數,這個參數是個以「XXXXXX」結尾的非空字元串。mkstemp函數會用隨機產生的字元串替換「XXXXXX」,保證了文件名的唯一性。函數返回一個文件描述符,如果執行失敗返回-1。在glibc 2.0.6 以及更早的glibc庫中這個文件的訪問許可權是0666 ,glibc 2.0.7 以後的庫這個文件的訪問許可權是0600。
當臨時文件完成她的使命如果不把它清除干凈把或者程序由於意外在臨時文件被清除前就已經退出,臨時文件所在的目錄會塞滿垃圾。由於mkstemp函數創建的臨時文件不能自動刪除(請參考下文中的tmpfile函數)。執行完mkstemp函數後要調用unlink函數,unlink函數刪除文件的目錄入口,所以臨時文件還可以通過文件描述符進行訪問,直到最後一個打開的進程關閉文件操作符,或者程序退出後臨時文件被自動徹底地刪除。
㈥ 如何用unlink刪除多條文件
unlink刪除文件的方法:
1
bool unlink( string $filename[,resource $context])
刪除 filename。和 Unix C 的unlink() 函數相似。發生錯誤時會產生一個 E_WARNING 級別的錯誤。
filename:文件的路徑。
context:在 PHP 5.0.0 中增加了對上下文(Context)的支持。
返回值:成功時返回 TRUE, 或者在失敗時返回 FALSE。
說明:
自 PHP 5.0.0 起 unlink()也可以用於某些URL 封裝協議:
file:// — 訪問本地文件系統
http:// — 訪問 HTTP(s) 網址
ftp:// — 訪問 FTP(s) URLs
php:// — 訪問各個輸入/輸出流(I/O streams)
zlib:// — 壓縮流
data:// — 數據(RFC 2397)
glob:// — 查找匹配的文件路徑模式
phar:// — PHP 歸檔
ssh2:// — Secure Shell 2
rar:// — RAR
ogg:// — 音頻流
expect:// — 處理互動式的流