Linux中檔案控制塊裡的檔名是怎麼存的?

2025-05-02 10:45:15 字數 4140 閱讀 6770

1樓:網友

在檔案系統的乙個目錄中,其中所有檔名資訊對應的目錄項儲存在該目錄檔名檔案的資料塊中。 每個目錄項只包括乙個長度為14位元組的檔名字串和該檔名對應的2位元組的i節點早帶號。因此乙個邏輯磁碟塊可以存放1024/16=64個目錄項毀明。

有關檔案的其它資訊則被儲存在該i節點號指定的i節點結構中,該結構中主要包括檔案訪問屬性、宿主、長度、訪問儲存時間以及所在磁碟塊等資訊。每個i節點號纖睜告的i節點都位於磁碟上的固定位置處。

2樓:網友

世界芹晌無法解釋的七大嫌笑鋒奇異景象 1.晚上2點32分點蠟燭的人會看到18世紀巫婆的慘死。 2。

指甲塗一層黑,一層白,一層紅還完好無損,就會有人向你表白。 3.夜裡4點38分削蘋果,如果蘋果皮斷了,96小時莫名其妙死亡。

點照鏡子,會照到自己的前世和你怎麼死的。 5.夜裡穿黑衣不梳頭髮的女孩沒影子 6.

將此貼轉向5個以上貼壇,就不會被魔鬼纏身,且實現乙個願望(公升喚我也是被逼的)

linux 作業系統檔案系統中inode與block是如何儲存的?

3樓:手機使用者

儲存東西很理所當然,沒有檔案系統,你存的只是01010100011101010101010

你的windows檔案系統就是ntfs fat什麼的。

linux只是用了不同的。ext3 ext4 reiserfs 什麼的。

4樓:風奇緣

這個問題比較專業,建議如果想知道的話,還是找一些專業的書籍去看看。

linux中什麼是塊檔案?

5樓:網友

以塊(block)為讀寫單位的檔案,通常讀寫儲存晶元時以塊為單位進行,例如二進位檔案。

下面這個dd命令用於快速建立乙個大檔案。

dd if=/dev/zero of=myfile bs=1000 count=100

其中,of - output file,檔名為myfile;

bs - block size,指定塊大小;

count - 指定塊數目。

建立出的檔案大小即為1000*100=100000 byte

在linux下,如何根據檔名來獲取該檔案所在的塊,包括塊的起始位置和長度?多謝

6樓:灰豆子

ls -is yourfile

i 可以列印出inode,s 列印block大小,例:$ ls -is xpm_

542942 156 xpm_

542942 --xpm_的i節點號。

156 --大小。

另外乙個命令stat

stat xpm_

file: `xpm_'

size: 151799 blocks: 312 io block: 4096 regular file

device: 80ah/2058d inode: 542942 links: 1

access: (0644/-rw-r--r--)uid: (1000/ san) gid: (1000/ san)

access: 2010-12-08 +0800modify: 2010-12-03 +0800change: 2010-12-03 +0800

7樓:網友

用find ,whereis 查詢該檔案的位址,進而知道想要的資訊。

linux系統中用vi的檔案怎麼把已經寫好的檔案儲存到某個指定檔名的檔案中

8樓:蚊子稀飯

樓上正解,即另存為。

w檔名。檔名是你另存為的檔案的名字。

linux系統儲存同乙份檔案的多個資料塊(block)是如何聯絡到一起的,和資料塊號的使用時如何聯絡起來的?

9樓:小灰灰啊

在linux檔案系統中,一般是採用索引式檔案系統,這種型別的檔案系統在硬碟格式化的時候,會將硬碟上的資料塊分為兩種型別的塊,第一種是儲存檔案資訊的inode塊,第二種就是實際儲存資料的data塊。data塊就是你所說的存放資料的地方,然後都有對應的編號,這些編號都是按照順序以**的形式存放在inode塊中,。

因此,當你要讀取乙個檔案的內容時,它會先查詢inode塊裡資訊,判斷你是否有許可權讀取這個檔案,許可權判斷通過後,再去查詢data塊編號變,然後根據編號表裡的編號依次查詢所有的data塊,按順序拼接起來,就是乙個完整檔案的內容了。

linux系統中裝置檔案命名的規則是什麼?

10樓:日time寸

在基於linux的系統中,裝置節點一般在/dev下,通常使用如下的字首:

fb:frame緩衝。

fd:軟盤。

hd:ide硬碟。

lp:印表機。

par:並口。

pt:偽終端。

s:scsi裝置。

scd:scsi音訊光碟機。

sd:scsi硬碟。

sg:scsi通用裝置。

sr:scsi資料光碟機。

st:scsi磁帶。

tty:終端。

ttys:串列埠。

大部分裝置的字首名後面跟隨乙個數字,它唯一指定某一裝置。硬碟驅動器的字首名後面跟隨乙個字母和乙個數字,字母用於指明裝置,而數字用於指明分割槽。因此,/dev/sda3指定了硬碟上的乙個分割槽,/dev/pts/14指定了乙個網路終端會話。

一些linux發行版用scsi層訪問所有固定硬碟,因此雖然一塊硬碟可能並不是scsi硬碟,但仍可以通過sd裝置訪問它。

各位大神!在linux上怎麼將當前資料夾下的檔案根據檔名的要求放到當前資料夾下的乙個資料夾裡?求指令碼

11樓:網友

#!/bin/sh

subfolder=target #子資料夾名稱for x in * #用*列舉當前資料夾下的所有檔案doif [ f $x ];then #判斷是檔案判斷是否符合檔名要求,符合要求的就:

mv $x $subfolder

fidone

12樓:匿名使用者

ls 本身不能處理*萬用字元,其引數是shell根據*.gz產生的,檔案太多就不行了。可用 find -maxdepth 1 -name "*.gz"

要加雙引號確保*號能讓find去處理)

linux中,乙個檔案裡面包含檔案列表,如何把這個檔案列表的所有檔案拷貝到指定目錄?

13樓:網友

很簡單,用sed命令,先來乙個這個:sed "s/$//home/dir/g" filelist 這就是在你每行後面加上 /home/dir 再來個這個sed "s/^/cp/g" filelist 這就是在每行前面加個 cp 這樣一來,你的每行就變成了 cp file /home/dir 這是什麼?就是乙個可以執行的腳步啦,把檔名字尾改成。

sh,大功告成~ 記得重新定向,因為原始檔是不會變 的 ,還有在把後面替換成 /home 的時候,記得用 \來 對 / 進行不轉義,否則會出錯。

這個是我的命令,測試成功了的。

root@localhost tmp]# sed "s/^/cp /g" file1>file4

root@localhost tmp]# cat file4cp /tmp/file1

cp /tmp/file2

cp /tmp/file3

root@localhost tmp]# sed "s/$/ \/ /g" file4>file5

root@localhost tmp]# cat file5cp /tmp/file1 /

cp /tmp/file2 /

cp /tmp/file3 /

14樓:網友

cp $(cat filelist) /home/dir

orcp `cat filelist` /home/dir

這裡的`是你的tab鍵上方的~那個鍵。

15樓:網友

寫個shell吧。

具體的做法我也不太清楚。我覺得,你可以先定義乙個變數。

然後cut字元賦值到這個變數裡,然後在複製,路徑就是這個變數。

linux中檔案屬性以l b c d。開頭的都是什麼檔案

l 是連結檔案,相當於windows的快捷方式 b 是塊裝置,硬碟就是一個例子 c 是字元裝置檔案,滑鼠,鍵盤算是 d 是目錄檔案,相當於windows的資料夾。linux是一個效能穩定 功能強大 效率高的作業系統。linux檔案系統中的檔案是資料的集合,檔案系統不僅包含著檔案中的資料而且還有檔案系...

linux如何批量修改檔案裡內容啊

1.先將你上面的文字儲存為檔案 ts.txt 2.儲存如下指令碼為ts.sh並修改可執行許可權。bin bash cat ts.txt gawk iopath next 3.ts.sh ts1.txt 4.more ts1.txt 輸出如下,按照你的要求每個數 10 cell celltype or...

Linux中如何根據檔案的內容將另檔案中的某幾行刪掉

bin bash cat 2.txt while read line dosed i line d 1.txtdone 利用shell指令碼如何提取一個檔案中某一特定行和下面若干行的內容 豎1 在linux目錄 root下建立一個txt檔案,內容如下,使用 豎線分割,作為我們的實驗資料樣本。2 se...