ಇದು ಸಂಪೂರ್ಣವಾಗಿ ನಿಷ್ಪ್ರಯೋಜಕವಾಗಿದೆ, ಪ್ರಾಯೋಗಿಕ ಅಪ್ಲಿಕೇಶನ್ನಲ್ಲಿ ಅನಗತ್ಯ, ಆದರೆ * ನಿಕ್ಸ್ ಸಿಸ್ಟಮ್ಗಳಲ್ಲಿನ ಡೈರೆಕ್ಟರಿಗಳ ಬಗ್ಗೆ ತಮಾಷೆಯ ಸಣ್ಣ ಪೋಸ್ಟ್ ಆಗಿದೆ. ಇವತ್ತು ಶುಕ್ರವಾರ.
ಸಂದರ್ಶನಗಳ ಸಮಯದಲ್ಲಿ, ನೀರಸ ಪ್ರಶ್ನೆಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಐನೋಡ್ಗಳ ಬಗ್ಗೆ ಉದ್ಭವಿಸುತ್ತವೆ, ಎಲ್ಲವೂ-ಫೈಲ್ಗಳು, ಕೆಲವು ಜನರು ವಿವೇಕದಿಂದ ಉತ್ತರಿಸಬಹುದು. ಆದರೆ ನೀವು ಸ್ವಲ್ಪ ಆಳವಾಗಿ ಅಗೆದರೆ, ನೀವು ಆಸಕ್ತಿದಾಯಕ ವಿಷಯಗಳನ್ನು ಕಾಣಬಹುದು.
ಪೋಸ್ಟ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, ಕೆಲವು ಅಂಶಗಳು:
- ಎಲ್ಲವೂ ಫೈಲ್ ಆಗಿದೆ. ಡೈರೆಕ್ಟರಿ ಕೂಡ ಒಂದು ಫೈಲ್ ಆಗಿದೆ
- ಐನೋಡ್ ಫೈಲ್ನಿಂದ ಮೆಟಾಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ, ಆದರೆ ಫೈಲ್ ಹೆಸರನ್ನು ಅಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿಲ್ಲ
- ಫೈಲ್ ಹೆಸರನ್ನು ಡೈರೆಕ್ಟರಿ ಡೇಟಾದಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ
- ಡೈರೆಕ್ಟರಿಯ ಗಾತ್ರ, 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 ವರ್ಷಗಳ ಹಿಂದೆ ಅಂತಹ ನಡವಳಿಕೆಯು ಈಗಾಗಲೇ ಆಗಿತ್ತು
ಮೂಲ: www.habr.com