ಡೈರೆಕ್ಟರಿ ಗಾತ್ರವು ನಮ್ಮ ಪ್ರಯತ್ನಕ್ಕೆ ಯೋಗ್ಯವಾಗಿಲ್ಲ

ಇದು ಸಂಪೂರ್ಣವಾಗಿ ನಿಷ್ಪ್ರಯೋಜಕವಾಗಿದೆ, ಪ್ರಾಯೋಗಿಕ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ಅನಗತ್ಯ, ಆದರೆ * ನಿಕ್ಸ್ ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿನ ಡೈರೆಕ್ಟರಿಗಳ ಬಗ್ಗೆ ತಮಾಷೆಯ ಸಣ್ಣ ಪೋಸ್ಟ್ ಆಗಿದೆ. ಇವತ್ತು ಶುಕ್ರವಾರ.

ಸಂದರ್ಶನಗಳ ಸಮಯದಲ್ಲಿ, ನೀರಸ ಪ್ರಶ್ನೆಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಐನೋಡ್‌ಗಳ ಬಗ್ಗೆ ಉದ್ಭವಿಸುತ್ತವೆ, ಎಲ್ಲವೂ-ಫೈಲ್‌ಗಳು, ಕೆಲವು ಜನರು ವಿವೇಕದಿಂದ ಉತ್ತರಿಸಬಹುದು. ಆದರೆ ನೀವು ಸ್ವಲ್ಪ ಆಳವಾಗಿ ಅಗೆದರೆ, ನೀವು ಆಸಕ್ತಿದಾಯಕ ವಿಷಯಗಳನ್ನು ಕಾಣಬಹುದು.

ಪೋಸ್ಟ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, ಕೆಲವು ಅಂಶಗಳು:

  • ಎಲ್ಲವೂ ಫೈಲ್ ಆಗಿದೆ. ಡೈರೆಕ್ಟರಿ ಕೂಡ ಒಂದು ಫೈಲ್ ಆಗಿದೆ
  • ಐನೋಡ್ ಫೈಲ್‌ನಿಂದ ಮೆಟಾಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ, ಆದರೆ ಫೈಲ್ ಹೆಸರನ್ನು ಅಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿಲ್ಲ
  • ಫೈಲ್ ಹೆಸರನ್ನು ಡೈರೆಕ್ಟರಿ ಡೇಟಾದಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ
  • ಡೈರೆಕ್ಟರಿಯ ಗಾತ್ರ, ls ನಲ್ಲಿ ತೋರಿಸಲಾಗಿರುವ ಅದೇ ಗಾತ್ರ ಮತ್ತು ಡೀಫಾಲ್ಟ್ ಆಗಿ 4Kb ಆಗಿರುತ್ತದೆ, ಡೈರೆಕ್ಟರಿಯಲ್ಲಿರುವ ಫೈಲ್‌ಗಳ ಸಂಖ್ಯೆ ಮತ್ತು ಅವುಗಳ ಹೆಸರುಗಳ ಉದ್ದವನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ
  • ನಿಸ್ಸಂಶಯವಾಗಿ, ಹೆಚ್ಚಿನ ಫೈಲ್ಗಳು, ದೊಡ್ಡ ಡೈರೆಕ್ಟರಿ ಗಾತ್ರ

ಈಗ ಆಸಕ್ತಿದಾಯಕ ಭಾಗ ಇಲ್ಲಿದೆ: ನಾವು ಮಿಲಿಯನ್ ಫೈಲ್‌ಗಳೊಂದಿಗೆ ಡೈರೆಕ್ಟರಿಯನ್ನು ರಚಿಸುತ್ತೇವೆ, ಡೈರೆಕ್ಟರಿಯ ಗಾತ್ರವನ್ನು ಪರಿಶೀಲಿಸಿ, ತದನಂತರ ಎಲ್ಲಾ ಫೈಲ್‌ಗಳನ್ನು ಅಳಿಸಿ ಮತ್ತು ಡೈರೆಕ್ಟರಿಯ ಗಾತ್ರವನ್ನು ನೋಡಿ.

$ mkdir niceDir && cd niceDir
# в зависимости от скорости носителя, следующая команда может занять 2-10 минут
$ for ((i=1;i<133700;i++)); do touch long_long_looong_man_sakeru_$i ; done
$ ls -lhd .
drwxr-xr-x 2 user user 8.1M Aug 2 13:37 .
$ find . -type f -delete
$ ls -l
total 0
$ ls -lhd .
drwxr-xr-x 2 user user 8.1M Aug  2 13:37 .

ನೀವು ನೋಡುವಂತೆ, ಡೈರೆಕ್ಟರಿ ಗಾತ್ರವು ಬದಲಾಗಿಲ್ಲ, ಆದರೂ ಅದು ತೋರುತ್ತದೆ :)

ಅನ್‌ಮೌಂಟ್ ಮಾಡದ ಸ್ಥಿತಿಯಲ್ಲಿ fsck (ಮತ್ತು -D ಆಯ್ಕೆ) ಬಳಸಿಕೊಂಡು ನೀವು ಡೈರೆಕ್ಟರಿಯ ಗಾತ್ರವನ್ನು (ಅದನ್ನು ಅಳಿಸದೆಯೇ) ಮಾತ್ರ ಸರಿಪಡಿಸಬಹುದು.

ಆದರೆ ಇದು ಏಕೆ ಎಂದು ನಾನು ಹುಡುಕಲು ಹೋದಾಗ, 10 ವರ್ಷಗಳ ಹಿಂದೆ ಅಂತಹ ನಡವಳಿಕೆಯು ಈಗಾಗಲೇ ಆಗಿತ್ತು ಚರ್ಚಿಸಿದರು lkml ನಲ್ಲಿ. ಮತ್ತು ಅಭಿವರ್ಧಕರ ಪ್ರಕಾರ, ಸರಿಪಡಿಸುವಿಕೆಯು ಶ್ರಮಕ್ಕೆ ಯೋಗ್ಯವಾಗಿಲ್ಲ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ