十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
本文小編為大家詳細介紹“l(fā)inux創(chuàng)建文件失敗的原因是什么”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當(dāng),希望這篇“l(fā)inux創(chuàng)建文件失敗的原因是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為潁州等服務(wù)建站,潁州等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為潁州企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
linux創(chuàng)建文件失敗的原因:1、當(dāng)前目錄對應(yīng)的磁盤空間不足;在某個目錄下創(chuàng)建文件時,實際上是在這個目錄對應(yīng)的磁盤上操作,如果這個磁盤已經(jīng)滿了,自然就創(chuàng)建失敗。2、inode不足;由于一個文件對應(yīng)一個inode,當(dāng)磁盤里的小文件過多時,就會出現(xiàn)block數(shù)量還很多,但是inode分配完了,也就是空間還很多,但是也無法創(chuàng)建,那是因為創(chuàng)建文件時,申請inode號失敗。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
創(chuàng)建文件失敗
Linux系統(tǒng)中創(chuàng)建文件失敗是比較常見的,當(dāng)然這里的創(chuàng)建文件不單單指用戶手動創(chuàng)建文件,更多的情況是一些網(wǎng)絡(luò)服務(wù),日志系統(tǒng)等需要持續(xù)寫文件,創(chuàng)建文件,真正用戶創(chuàng)建文件失敗的情況比較少見。接下來我們分析一些,為什么會創(chuàng)建失敗。
文件創(chuàng)建失敗的原因:
1、當(dāng)前目錄對應(yīng)的磁盤空間不足
根據(jù)上面的描述,在某個目錄下創(chuàng)建文件時,實際上是在這個目錄對應(yīng)的磁盤上操作,如果這個磁盤已經(jīng)滿了,自然就創(chuàng)建失敗,更具體的描述是:創(chuàng)建文件時,申請block時失敗。可以用下面的命令查看:
# 查看當(dāng)前目錄所在磁盤的空間使用情況 df -h ./
2、inode不足
這是創(chuàng)建文件失敗的另一個原因。由于一個文件對應(yīng)一個inode,當(dāng)磁盤里的小文件過多時,就會出現(xiàn)block數(shù)量還很多,但是inode分配完了,也就是空間還很多,但是也無法創(chuàng)建,那是因為創(chuàng)建文件時,申請inode號失敗??梢杂孟旅娴拿畲_認是否是innode分配完了
# 查看當(dāng)前目錄所在磁盤的inode的使用情況 df -i ./
擴展知識:幾個關(guān)鍵的名詞
superblock:用比較通俗的話來解釋就是:superblock手底下管著一片磁盤區(qū)域,凡是對文件的操作(創(chuàng)建,訪問,刪除)都要經(jīng)過superblock,充當(dāng)磁盤管理大管家的角色。
inode:隨磁盤格式化而預(yù)先劃分的小的磁盤區(qū)域,一般每個inode為128字節(jié),用于記錄文件的權(quán)限,屬性,占用block等信息。且每個文件對應(yīng)一個inode,inode的申請,歸還由superblock管理,inode的數(shù)量是有限的。
block:文件內(nèi)容真正存放的地方,塊的大小也是隨磁盤格式化而劃分,根據(jù)系統(tǒng)不一樣,每個塊可以是1K,2K,4K大小,一個文件的內(nèi)容必須占用整數(shù)塊block,用完剩下的空間,就浪費了。比如:每個塊為4K,假設(shè)有一個文件大小為1K,那么也需要分配一個塊給他,這塊剩余的3K就不能被其他文件使用了。叫做磁盤碎片。另一個情況是一個文件是10K,那么他需要占用3個塊,實際使用率為10/12,并且這三個塊的編號都是記錄在這個文件對應(yīng)的inode里。
掛載點:在Linux系統(tǒng)中,每個物理磁盤都是掛載在某個目錄下,在這個目錄下創(chuàng)建文件,就等于在這塊物理磁盤上寫東西。
通俗點說:一塊物理磁盤首先是掛載在文件樹的某個目錄上,物理磁盤被劃分為多個區(qū)域,每個區(qū)域有一個管理該區(qū)域的superblock,該區(qū)域隨磁盤格式化預(yù)先劃分為一定數(shù)量并且進行編號的inode和block,一個inode對應(yīng)一個文件,創(chuàng)建新文件時,需要去superblock那先申請一個inode號,再根據(jù)文件大小,申請若干個block,在inode中記錄文件的屬性,權(quán)限,占用的block編號,最后把文件的真正內(nèi)容寫入分配好的block中。
讀到這里,這篇“l(fā)inux創(chuàng)建文件失敗的原因是什么”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。