லினக்ஸில் ஒரு கோப்பு அல்லது கோப்பகத்தின் அளவை எவ்வாறு பெறுவது
நீங்கள் லினக்ஸைப் பயன்படுத்தும்போது டு
கட்டளை, நீங்கள் உண்மையான வட்டு பயன்பாடு மற்றும் ஒரு கோப்பு அல்லது கோப்பகத்தின் உண்மையான அளவு இரண்டையும் பெறுவீர்கள். இந்த மதிப்புகள் ஏன் ஒரே மாதிரியாக இல்லை என்பதை நாங்கள் விளக்குவோம்.
உண்மையான வட்டு பயன்பாடு மற்றும் உண்மையான அளவு
ஒரு கோப்பின் அளவு மற்றும் உங்கள் வன்வட்டில் அது வைத்திருக்கும் இடம் அரிதாகவே ஒரே மாதிரியாக இருக்கும். வட்டு இடம் தொகுதிகளில் ஒதுக்கப்பட்டுள்ளது. ஒரு கோப்பு ஒரு தொகுதியை விட சிறியதாக இருந்தால், ஒரு முழு தொகுதி இன்னும் அதற்கு ஒதுக்கப்பட்டுள்ளது, ஏனெனில் கோப்பு முறைமைக்கு ரியல் எஸ்டேட் ஒரு சிறிய அலகு பயன்படுத்த முடியாது.
ஒரு கோப்பின் அளவு துல்லியமான பல தொகுதிகளாக இல்லாவிட்டால், வன்வட்டில் அது பயன்படுத்தும் இடம் எப்போதும் அடுத்த முழு தொகுதி வரை வட்டமாக இருக்க வேண்டும். எடுத்துக்காட்டாக, ஒரு கோப்பு இரண்டு தொகுதிகளை விட பெரியது ஆனால் மூன்றை விட சிறியதாக இருந்தால், அதைச் சேமிக்க இன்னும் மூன்று தொகுதிகள் இடம் எடுக்கும்.
கோப்பு அளவு தொடர்பாக இரண்டு அளவீடுகள் பயன்படுத்தப்படுகின்றன. முதலாவது கோப்பின் உண்மையான அளவு, இது கோப்பை உருவாக்கும் உள்ளடக்கத்தின் பைட்டுகளின் எண்ணிக்கை. இரண்டாவது வன் வட்டில் உள்ள கோப்பின் பயனுள்ள அளவு. அந்த கோப்பை சேமிக்க தேவையான கோப்பு முறைமை தொகுதிகளின் எண்ணிக்கை இது.
ஒரு எடுத்துக்காட்டு
ஒரு எளிய உதாரணத்தைப் பார்ப்போம். ஒரு சிறிய கோப்பை உருவாக்க ஒரு எழுத்தை ஒரு கோப்பாக திருப்பி விடுவோம்:
echo "1"> geek.txt
இப்போது, நீண்ட வடிவமைப்பு பட்டியலைப் பயன்படுத்துவோம்,ls
, கோப்பு நீளத்தைப் பார்க்க:
ls -l geek.txt
நீளம் என்பது பின் வரும் எண் மதிப்பு டேவ் டேவ்
உள்ளீடுகள், இது இரண்டு பைட்டுகள். கோப்புக்கு ஒரு எழுத்தை மட்டும் அனுப்பும்போது அது ஏன் இரண்டு பைட்டுகள்? கோப்பில் என்ன நடக்கிறது என்பதைப் பார்ப்போம்.
நாங்கள் பயன்படுத்துவோம் ஹெக்ஸ் டம்ப்
கட்டளை, இது எங்களுக்கு ஒரு சரியான பைட் எண்ணிக்கையைத் தரும் மற்றும் அச்சிடாத எழுத்துக்களை ஹெக்ஸாடெசிமல் மதிப்புகளாக "பார்க்க" அனுமதிக்கும். நாங்கள் அதைப் பயன்படுத்துவோம் -சி
(நியமன) வெளியீட்டின் உடலில் அறுகோண மதிப்புகளைக் காட்ட வெளியீட்டை கட்டாயப்படுத்தும் விருப்பம், அத்துடன் அவற்றின் எண்ணெழுத்து எழுத்துக்குறி சமமானவை:
hexdump -C geek.txt
கோப்பில் ஆஃப்செட் 00000000 தொடங்கி, ஒரு ஹெக்ஸாடெசிமல் மதிப்பு 31 ஐக் கொண்ட ஒரு பைட் மற்றும் 0A இன் ஹெக்ஸாடெசிமல் மதிப்பைக் கொண்ட ஒரு பைட் உள்ளது என்பதை வெளியீடு நமக்குக் காட்டுகிறது. வெளியீட்டின் வலது புறம் இந்த மதிப்புகளை எண்ணெழுத்து எழுத்துக்களாக சித்தரிக்கிறது, சாத்தியமான இடங்களில்.
31 இன் ஹெக்ஸாடெசிமல் மதிப்பு இலக்கத்தை குறிக்க பயன்படுத்தப்படுகிறது. 0A இன் ஹெக்ஸாடெசிமல் மதிப்பு வரி ஊட்ட எழுத்துக்குறியைக் குறிக்கப் பயன்படுகிறது, இது எண்ணெழுத்து எழுத்துக்குறியாகக் காட்ட முடியாது, எனவே அதற்கு பதிலாக ஒரு காலகட்டமாக (.) காட்டப்படுகிறது. வரி ஊட்டத்தின் எழுத்து சேர்க்கப்பட்டுள்ளது எதிரொலி
. இயல்பாக,எதிரொலி
முனைய சாளரத்தில் எழுத வேண்டிய உரையைக் காண்பித்த பிறகு புதிய வரியைத் தொடங்குகிறது.
இருந்து வெளியீட்டைக் கொண்டு உயரும்ls
மற்றும் இரண்டு பைட்டுகளின் கோப்பு நீளத்துடன் ஒப்புக்கொள்கிறது.
தொடர்புடையது:லினக்ஸில் கோப்புகள் மற்றும் கோப்பகங்களை பட்டியலிட ls கட்டளையை எவ்வாறு பயன்படுத்துவது
இப்போது, நாங்கள் பயன்படுத்துவோம் டு
கோப்பு அளவைப் பார்க்க கட்டளை:
du geek.txt
அளவு நான்கு என்று அது கூறுகிறது, ஆனால் நான்கு என்ன?
பிளாக்ஸ் உள்ளன, பின்னர் பிளாக்ஸ் உள்ளன
எப்பொழுது டு
கோப்பு அளவுகளை தொகுதிகளில் தெரிவிக்கிறது, அது பயன்படுத்தும் அளவு பல காரணிகளைப் பொறுத்தது. கட்டளை வரியில் எந்த தொகுதி அளவை பயன்படுத்த வேண்டும் என்பதை நீங்கள் குறிப்பிடலாம். நீங்கள் கட்டாயப்படுத்தவில்லை என்றால் டு
ஒரு குறிப்பிட்ட தொகுதி அளவைப் பயன்படுத்த, எந்த ஒன்றைப் பயன்படுத்த வேண்டும் என்பதை தீர்மானிக்க இது விதிகளின் தொகுப்பைப் பின்பற்றுகிறது.
முதலில், இது பின்வரும் சூழல் மாறிகள் சரிபார்க்கிறது:
- DU_BLOCK_SIZE
- BLOCK_SIZE
- BLOCKSIZE
இவற்றில் ஏதேனும் இருந்தால், தொகுதி அளவு அமைக்கப்படுகிறது, மற்றும் டு
சரிபார்ப்பதை நிறுத்துகிறது. எதுவும் அமைக்கப்படவில்லை என்றால்,டு
1,024 பைட்டுகளின் தொகுதி அளவிற்கு இயல்புநிலை. ஒழிய, அதாவது, சூழல் மாறி என்று அழைக்கப்படுகிறது POSIXLY_CORRECT
அமைக்கப்பட்டுள்ளது. அப்படியானால், டு
512 பைட்டுகளின் தொகுதி அளவிற்கு இயல்புநிலை.
எனவே, பயன்பாட்டில் உள்ளதை எவ்வாறு கண்டுபிடிப்பது? அதைச் செயல்படுத்த ஒவ்வொரு சூழல் மாறியையும் நீங்கள் சரிபார்க்கலாம், ஆனால் விரைவான வழி இருக்கிறது. அதற்கு பதிலாக கோப்பு முறைமை பயன்படுத்தும் தொகுதி அளவுடன் முடிவுகளை ஒப்பிடுவோம்.
கோப்பு முறைமை பயன்படுத்தும் தொகுதி அளவைக் கண்டறிய, நாங்கள் அதைப் பயன்படுத்துவோம் tune2fs
நிரல். நாங்கள் அதைப் பயன்படுத்துவோம் -l
(பட்டியல் சூப்பர் பிளாக்) விருப்பம், வெளியீட்டை குழாய் grep
, பின்னர் “தடு” என்ற வார்த்தையைக் கொண்ட வரிகளை அச்சிடுக.
இந்த எடுத்துக்காட்டில், முதல் வன்வட்டின் முதல் பகிர்வில் கோப்பு முறைமையைப் பார்ப்போம், sda1
, நாங்கள் பயன்படுத்த வேண்டும் sudo
:
sudo tune2fs -l / dev / sda1 | grep தடுப்பு
கோப்பு முறைமை தொகுதி அளவு 4,096 பைட்டுகள். இதன் விளைவாக நாம் அதைப் பிரித்தால் டு
(நான்கு), இது காட்டுகிறதுடு
இயல்புநிலை தொகுதி அளவு 1,024 பைட்டுகள். இப்போது பல முக்கியமான விஷயங்களை நாங்கள் அறிவோம்.
முதலாவதாக, ஒரு கோப்பை சேமிக்க அர்ப்பணிக்கக்கூடிய கோப்பு முறைமை ரியல் எஸ்டேட்டின் மிகச்சிறிய அளவு 4,096 பைட்டுகள் என்று எங்களுக்குத் தெரியும். இதன் பொருள் எங்கள் சிறிய, இரண்டு பைட் கோப்பு கூட 4 KB வன் இடத்தை எடுத்துக்கொள்கிறது.
நினைவில் கொள்ள வேண்டிய இரண்டாவது விஷயம், வன் மற்றும் கோப்பு முறைமை புள்ளிவிவரங்களைப் புகாரளிக்க அர்ப்பணிக்கப்பட்ட பயன்பாடுகள் டு
, ls
, மற்றும்tune2fs
, “தொகுதி” என்றால் என்ன என்பதில் வெவ்வேறு கருத்துக்களைக் கொண்டிருக்கலாம். தி tune2fs
பயன்பாடு உண்மையான கோப்பு முறைமை தொகுதி அளவுகளை அறிக்கையிடுகிறதுls
மற்றும் டு
கட்டமைக்கப்படலாம் அல்லது பிற தொகுதி அளவுகளைப் பயன்படுத்த நிர்பந்திக்கலாம். அந்த தொகுதி அளவுகள் கோப்பு முறைமை தொகுதி அளவுடன் தொடர்புடையதாக இல்லை; அந்த கட்டளைகள் அவற்றின் வெளியீட்டில் பயன்படுத்தும் “துகள்கள்” தான்.
இறுதியாக, வெவ்வேறு தொகுதி அளவுகளைப் பயன்படுத்துவதைத் தவிர, பதில்கள் டு
மற்றும் tune2fs
அதே பொருளை வெளிப்படுத்துங்கள். தி tune2fs
இதன் விளைவாக 4,096 பைட்டுகளின் ஒரு தொகுதி, மற்றும் டு
இதன் விளைவாக 1,024 பைட்டுகளின் நான்கு தொகுதிகள் இருந்தன.
பயன்படுத்துகிறது டு
கட்டளை வரி அளவுருக்கள் அல்லது விருப்பங்கள் இல்லாமல், டு
தற்போதைய அடைவு மற்றும் அனைத்து துணை அடைவுகளும் பயன்படுத்தும் மொத்த வட்டு இடத்தை பட்டியலிடுகிறது.
ஒரு உதாரணத்தைப் பார்ப்போம்:
டு
ஒரு தொகுதிக்கு 1,024 பைட்டுகளின் இயல்புநிலை தொகுதி அளவுகளில் அளவு தெரிவிக்கப்படுகிறது. முழு துணை அடைவு மரமும் பயணிக்கிறது.
பயன்படுத்துகிறது டு
வேறு கோப்பகத்தில்
உனக்கு வேண்டுமென்றால்டு
தற்போதைய கோப்பகத்தை விட வேறு கோப்பகத்தில் புகாரளிக்க, கட்டளை வரியில் உள்ள கோப்பகத்திற்கான பாதையை நீங்கள் அனுப்பலாம்:
du ~ / .காச் / பரிணாமம் /
பயன்படுத்துகிறது டு
ஒரு குறிப்பிட்ட கோப்பில்
உனக்கு வேண்டுமென்றால்டு
ஒரு குறிப்பிட்ட கோப்பில் புகாரளிக்க, கட்டளை வரியில் அந்த கோப்பிற்கான பாதையை அனுப்பவும். போன்ற கோப்புகளின் குழுவுக்கு நீங்கள் ஷெல் வடிவத்தை அனுப்பலாம் * .txt
:
du ~ / .bash_aliases
கோப்பகங்களில் கோப்புகளைப் புகாரளித்தல்
வேண்டும் டு
தற்போதைய அடைவு மற்றும் துணை அடைவுகளில் உள்ள கோப்புகளைப் புகாரளிக்கவும் -அ
(அனைத்து கோப்புகளும்) விருப்பம்:
du -a
ஒவ்வொரு கோப்பகத்திற்கும், ஒவ்வொரு கோப்பின் அளவும், ஒவ்வொரு கோப்பகத்திற்கும் மொத்தம் தெரிவிக்கப்படுகிறது.
அடைவு மரம் ஆழத்தை கட்டுப்படுத்துதல்
நீங்கள் சொல்லலாம் டு
அடைவு மரத்தை ஒரு குறிப்பிட்ட ஆழத்திற்கு பட்டியலிட. அவ்வாறு செய்ய, பயன்படுத்தவும் -d
(அதிகபட்ச ஆழம்) விருப்பம் மற்றும் ஒரு அளவுருவாக ஆழ மதிப்பை வழங்குதல். எல்லா துணை அடைவுகளும் ஸ்கேன் செய்யப்பட்டு அறிக்கையிடப்பட்ட மொத்தங்களைக் கணக்கிடப் பயன்படுகின்றன என்பதை நினைவில் கொள்க, ஆனால் அவை அனைத்தும் பட்டியலிடப்படவில்லை. ஒரு நிலை அதிகபட்ச அடைவு ஆழத்தை அமைக்க, இந்த கட்டளையைப் பயன்படுத்தவும்:
du -d 1
வெளியீடு தற்போதைய கோப்பகத்தில் அந்த துணை அடைவின் மொத்த அளவை பட்டியலிடுகிறது, மேலும் ஒவ்வொன்றிற்கும் மொத்தத்தை வழங்குகிறது.
கோப்பகங்களை ஒரு நிலை ஆழமாக பட்டியலிட, இந்த கட்டளையைப் பயன்படுத்தவும்:
du -d 2
தொகுதி அளவை அமைத்தல்
நீங்கள் பயன்படுத்தலாம் தொகுதி
ஒரு தொகுதி அளவை அமைக்க விருப்பம் டு
தற்போதைய செயல்பாட்டிற்கு. ஒரு பைட்டின் தொகுதி அளவைப் பயன்படுத்த, கோப்பகங்கள் மற்றும் கோப்புகளின் சரியான அளவைப் பெற பின்வரும் கட்டளையைப் பயன்படுத்தவும்:
du --block = 1
நீங்கள் ஒரு மெகாபைட்டின் தொகுதி அளவைப் பயன்படுத்த விரும்பினால், நீங்கள் பயன்படுத்தலாம் -எம்
(மெகாபைட்) விருப்பம், இது போன்றது --block = 1M
:
du -m
கோப்பகங்கள் மற்றும் கோப்புகளால் பயன்படுத்தப்படும் வட்டு இடத்திற்கு ஏற்ப மிகவும் பொருத்தமான தொகுதி அளவுகளில் புகாரளிக்கப்பட்ட அளவுகளை நீங்கள் விரும்பினால், பயன்படுத்தவும் -ம
(மனிதனால் படிக்கக்கூடிய) விருப்பம்:
du -h
கோப்பைச் சேமிக்கப் பயன்படுத்தப்படும் வன் இடத்தின் அளவைக் காட்டிலும் கோப்பின் வெளிப்படையான அளவைக் காண, பயன்படுத்தவும் - வெளிப்படையான அளவு
விருப்பம்:
du - வெளிப்படையான அளவு
இதை நீங்கள் இணைக்கலாம் -அ
(அனைத்தும்) ஒவ்வொரு கோப்பின் வெளிப்படையான அளவைக் காண விருப்பம்:
du --apparent-size -a
ஒவ்வொரு கோப்பும் அதன் வெளிப்படையான அளவோடு பட்டியலிடப்பட்டுள்ளது.
மொத்தம் மட்டுமே காண்பிக்கும்
உனக்கு வேண்டுமென்றால்டு
கோப்பகத்திற்கான மொத்தத்தை மட்டுமே புகாரளிக்க, பயன்படுத்தவும் -s
(சுருக்கமாக) விருப்பம். போன்ற பிற விருப்பங்களுடன் இதை இணைக்கலாம் -ம
(மனிதனால் படிக்கக்கூடிய) விருப்பம்:
du -h -s
இங்கே, இதை நாங்கள் பயன்படுத்துவோம் - வெளிப்படையான அளவு
விருப்பம்:
du --apparent-size -s
மாற்றியமைக்கும் நேரங்களைக் காண்பிக்கும்
உருவாக்கம் அல்லது கடைசி மாற்ற நேரம் மற்றும் தேதியைக் காண, பயன்படுத்தவும் --நேரம்
விருப்பம்:
du --time -d 2
விசித்திரமான முடிவுகள்?
நீங்கள் விசித்திரமான முடிவுகளைக் கண்டால் டு
, குறிப்பாக மற்ற கட்டளைகளிலிருந்து வெளியீட்டிற்கு நீங்கள் குறுக்கு-குறிப்பு அளவுகள் வரும்போது, இது வழக்கமாக வெவ்வேறு கட்டளைகளை அமைக்கக்கூடிய வெவ்வேறு தொகுதி அளவுகள் அல்லது அவை இயல்புநிலைக்கு காரணமாக இருக்கும். உண்மையான கோப்பு அளவுகள் மற்றும் அவற்றை சேமிக்க தேவையான வட்டு இடத்திற்கும் உள்ள வேறுபாடுகள் காரணமாகவும் இருக்கலாம்.
பிற கட்டளைகளின் வெளியீட்டை நீங்கள் பொருத்த வேண்டும் என்றால், பரிசோதனை செய்யுங்கள் - தடுப்பு
விருப்பம் டு
.