Linux中為什麼 「 」 就是上一級目錄?

2021-10-03 10:10:01 字數 2749 閱讀 4415

-a:顯示所有檔案及目錄(ls內定將檔名或目錄名稱為「.」的視為影藏,不會列出);

-i:顯示檔案索引節點號(inode)。乙個索引節點代表乙個檔案;

linux上的檔案系統一般來說就是ext2或ext3,博文《linux檔案系統詳解》中對inode的總結為:

1.乙個檔案占用乙個 inode,每個inode有編號

2.linux 系統存在 inode 號被用完但磁碟空間還有剩餘的情況

注意,這裡的檔案不單單是普通檔案,目錄檔案也就是資料夾其實也是乙個檔案,還有其他的也是

inode 的數量與大小在格式化時就已經固定了,每個inode 大小均固定為128 bytes (新的ext4 與xfs 可設定到256 bytes)

3.檔案系統能夠建立的檔案數量與inode 的數量有關,存在空間還夠但inode不夠的情況

4.系統讀取檔案時需要先找到inode,並分析inode 所記錄的許可權與使用者是否符合,若符合才能夠開始實際讀取 block 的內容

想要更深的了解linux檔案系統機制的可以學習博文:

進入根目錄

wxd@desktop-sd6d2nm:/$ cd /
檢視當前的目錄的檔案索引節點(inode)

wxd@desktop-sd6d2nm:/$ ls -ai

17169973579354190 . 25614222880678456 lib 1407374883572490 sbin

17169973579354190 .. 844424930151137 lib64 1125899906862399 snap

6192449487638721 bin 1407374883572454 media 844424930151744 srv

1688849860268903 boot 2533274790415081 mnt 1 sys

7318349394915385 dev 1407374883572460 opt 844424930151747 tmp

11821949021852965 etc 1 proc 1970324836994373 usr

4785074604089911 home 1688849860283122 root 2533274790481388 var

33495522228572247 init 10696049115543003 run

假設進入 /mnt 目錄下,並檢視 /mnt 目錄下的檔案索引節點(inode)

在進入 /mnt/e/ 目錄下,並檢視 /mnt/e 目錄下的檔案索引節點(inode)

wxd@desktop-sd6d2nm:/$ cd mnt/  && ls -ai

2533274790415081 . 1407374883553285 c 1407374883553285 e

17169973579354190 .. 1407374883553285 d

wxd@desktop-sd6d2nm:/mnt$ cd e/ && ls -ai

1407374883553285 . 1970324837005878 myphoto

2533274790415081 .. 844424930132019 mypractice

24488322973827116 cloudmusic 281474976710692 $recycle.bin

281474976742210 mydocument 281474976710697 system volume information

844424930132023 mydrivers 1688849860291601 typoradoc

5066549580823356 myinstallfiles 1688849860295201 win10script

3377699720559144 mylearn 1688849860263989 workzg

由上可以看出:

根目錄下'.'的inode號為:             17169973579354190

根目錄下 '..' 的inode號為:          17169973579354190

/mnt/ 目錄下'.'的inode號為:        2533274790415081

/mnt/ 目錄下'..'的inode號為:       17169973579354190

/mnt/e/目錄下的'.'的inode號為:  1407374883553285

/mnt/e/目錄下的'..'的inode號為:  2533274790415081 

不妨發現:

/mnt/e/目錄下的'..'的inode號 與 /mnt/ 目錄下'.'的inode號相同

/mnt/ 目錄下'..'的inode號 與 根目錄下'.'的inode號相同

根目錄下'.'的inode號 與 根目錄下'..'的inode號相同

為什麼為什麼為什麼為什麼為什麼你要做一名程式設計師?

from 本文是從 why why why why why are you a developer?這篇文章翻譯而來。做乙個程式設計師很忙,你需要去寫 去建立meme,去進行測試,以及隨時關注最新最熱的gem 開源軟體技術。最近,我一直在想讓自己的節奏慢下來,去做一些心裡一直想做但沒有去做的事,去思...

為什麼你就是抽不中「中國錦鯉」

作者 京畿部長 最近,支付寶 中國錦鯉 的活動刷爆了中文網際網路世界。距離開獎,本次 活動引發了 2 億活動微博單條閱讀量和三百萬 量。同時,微博 信小呆 喜提中國錦鯉,成為了三百萬分之一的幸運。這個世界上還真有人能躺著贏 我在最該努力的年紀去選擇 楊超越。結果我錯了,我應該 這個信小呆!網路 這件...

為什麼學習Linux?

總的一句話就是在於你的興趣,如果你真羨慕這種駭客的精神,那麼你就會不知覺的被他所吸引。如果windows意味著生活和遊戲,那麼linux就代表著嚴謹與工作,正是這種遇到問題先問自己的方式讓你比別人更多的喜愛這個系統,更多的成長。學習linux不是代表著你要開發軟體,你要測試工程,你要維護伺服器,更重...