Linux లో ఫైల్ లేదా డైరెక్టరీ యొక్క పరిమాణాన్ని ఎలా పొందాలి
మీరు Linux ను ఉపయోగించినప్పుడు డు
ఆదేశం, మీరు అసలు డిస్క్ వాడకం మరియు ఫైల్ లేదా డైరెక్టరీ యొక్క నిజమైన పరిమాణం రెండింటినీ పొందుతారు. ఈ విలువలు ఎందుకు ఒకేలా ఉండవని మేము వివరిస్తాము.
వాస్తవ డిస్క్ వినియోగం మరియు నిజమైన పరిమాణం
ఫైల్ యొక్క పరిమాణం మరియు మీ హార్డ్ డ్రైవ్లో అది ఆక్రమించిన స్థలం చాలా అరుదుగా ఒకే విధంగా ఉంటాయి. డిస్క్ స్థలం బ్లాకులలో కేటాయించబడింది. ఒక ఫైల్ బ్లాక్ కంటే చిన్నది అయితే, మొత్తం బ్లాక్ ఇప్పటికీ దానికి కేటాయించబడుతుంది ఎందుకంటే ఫైల్ సిస్టమ్కు రియల్ ఎస్టేట్ యొక్క చిన్న యూనిట్ ఉపయోగించబడదు.
ఫైల్ యొక్క పరిమాణం బ్లాకుల యొక్క ఖచ్చితమైన గుణకం కాకపోతే, హార్డ్ డ్రైవ్లో అది ఉపయోగించే స్థలం ఎల్లప్పుడూ తదుపరి మొత్తం బ్లాక్ వరకు గుండ్రంగా ఉండాలి. ఉదాహరణకు, ఒక ఫైల్ రెండు బ్లాకుల కంటే పెద్దది కాని మూడు కన్నా చిన్నది అయితే, దాన్ని నిల్వ చేయడానికి ఇంకా మూడు బ్లాకుల స్థలం పడుతుంది.
ఫైల్ పరిమాణానికి సంబంధించి రెండు కొలతలు ఉపయోగించబడతాయి. మొదటిది ఫైల్ యొక్క వాస్తవ పరిమాణం, ఇది ఫైల్ను తయారుచేసే కంటెంట్ యొక్క బైట్ల సంఖ్య. రెండవది హార్డ్ డిస్క్లోని ఫైల్ యొక్క ప్రభావవంతమైన పరిమాణం. ఆ ఫైల్ను నిల్వ చేయడానికి అవసరమైన ఫైల్ సిస్టమ్ బ్లాక్ల సంఖ్య ఇది.
ఒక ఉదాహరణ
ఒక సాధారణ ఉదాహరణ చూద్దాం. చిన్న ఫైల్ను సృష్టించడానికి మేము ఒకే అక్షరాన్ని ఫైల్లోకి మళ్ళిస్తాము:
echo "1"> geek.txt
ఇప్పుడు, మేము పొడవైన ఫార్మాట్ జాబితాను ఉపయోగిస్తాము,ls
, ఫైల్ పొడవును చూడటానికి:
ls -l geek.txt
పొడవు అనేది సంఖ్యా విలువ డేవ్ డేవ్
ఎంట్రీలు, ఇది రెండు బైట్లు. మేము ఫైల్కు ఒక అక్షరాన్ని మాత్రమే పంపినప్పుడు రెండు బైట్లు ఎందుకు? ఫైల్ లోపల ఏమి జరుగుతుందో చూద్దాం.
మేము ఉపయోగిస్తాము హెక్స్డంప్
ఆదేశం, ఇది మాకు ఖచ్చితమైన బైట్ గణనను ఇస్తుంది మరియు ప్రింటింగ్ కాని అక్షరాలను హెక్సాడెసిమల్ విలువలుగా "చూడటానికి" అనుమతిస్తుంది. మేము కూడా ఉపయోగిస్తాము -సి
(కానానికల్) అవుట్పుట్ యొక్క శరీరంలో హెక్సాడెసిమల్ విలువలను చూపించడానికి అవుట్పుట్ను బలవంతం చేసే ఎంపిక, అలాగే వాటి ఆల్ఫాన్యూమరిక్ క్యారెక్టర్ సమానమైనవి:
hexdump -C geek.txt
ఫైల్లో ఆఫ్సెట్ 00000000 నుండి ప్రారంభించి, 31 యొక్క హెక్సాడెసిమల్ విలువను కలిగి ఉన్న బైట్ మరియు 0A యొక్క హెక్సాడెసిమల్ విలువను కలిగి ఉన్న ఒక అవుట్పుట్ ఉందని అవుట్పుట్ మాకు చూపిస్తుంది. అవుట్పుట్ యొక్క కుడి చేతి భాగం ఈ విలువలను ఆల్ఫాన్యూమరిక్ అక్షరాలుగా వర్ణిస్తుంది, సాధ్యమైన చోట.
31 యొక్క హెక్సాడెసిమల్ విలువ అంకెను సూచించడానికి ఉపయోగించబడుతుంది. 0A యొక్క హెక్సాడెసిమల్ విలువ లైన్ ఫీడ్ అక్షరాన్ని సూచించడానికి ఉపయోగించబడుతుంది, ఇది ఆల్ఫాన్యూమరిక్ అక్షరంగా చూపబడదు, కాబట్టి ఇది బదులుగా కాలం (.) గా చూపబడుతుంది. దీని ద్వారా లైన్ ఫీడ్ అక్షరం జోడించబడింది ప్రతిధ్వని
. అప్రమేయంగా,ప్రతిధ్వని
టెర్మినల్ విండోకు వ్రాయవలసిన వచనాన్ని ప్రదర్శించిన తర్వాత క్రొత్త పంక్తిని ప్రారంభిస్తుంది.
నుండి అవుట్పుట్తో పెరుగుతుందిls
మరియు రెండు బైట్ల ఫైల్ పొడవుతో అంగీకరిస్తుంది.
సంబంధించినది:Linux లో ఫైల్స్ మరియు డైరెక్టరీలను జాబితా చేయడానికి 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 బైట్లు. మొత్తం ఉప డైరెక్టరీ చెట్టు అడ్డంగా ఉంటుంది.
ఉపయోగించి డు
వేరే డైరెక్టరీలో
మీకు కావాలంటేడు
ప్రస్తుత డైరెక్టరీ కంటే వేరే డైరెక్టరీపై నివేదించడానికి, మీరు కమాండ్ లైన్లోని డైరెక్టరీకి మార్గాన్ని పంపవచ్చు:
డు ~ / .కాచ్ / పరిణామం /
ఉపయోగించి డు
నిర్దిష్ట ఫైల్లో
మీకు కావాలంటేడు
ఒక నిర్దిష్ట ఫైల్పై నివేదించడానికి, కమాండ్ లైన్లోని ఆ ఫైల్కు మార్గాన్ని పంపండి. మీరు ఎంచుకున్న ఫైళ్ళ సమూహానికి షెల్ నమూనాను కూడా పంపవచ్చు *.పదము
:
డు ~ / .బాష్_అలియాస్
డైరెక్టరీలలోని ఫైళ్ళపై రిపోర్టింగ్
కలిగి డు
ప్రస్తుత డైరెక్టరీ మరియు ఉప డైరెక్టరీలలోని ఫైళ్ళపై నివేదించండి, ఉపయోగించండి -అ
(అన్ని ఫైళ్ళు) ఎంపిక:
డు -అ
ప్రతి డైరెక్టరీ కోసం, ప్రతి ఫైల్ యొక్క పరిమాణం నివేదించబడుతుంది, అలాగే ప్రతి డైరెక్టరీకి మొత్తం.
డైరెక్టరీ చెట్టు లోతును పరిమితం చేయడం
మీరు చెప్పవచ్చు డు
డైరెక్టరీ చెట్టును ఒక నిర్దిష్ట లోతుకు జాబితా చేయడానికి. అలా చేయడానికి, ఉపయోగించండి -డి
(గరిష్ట లోతు) ఎంపిక మరియు లోతు విలువను పరామితిగా అందించండి. అన్ని ఉప డైరెక్టరీలు స్కాన్ చేయబడి, నివేదించబడిన మొత్తాలను లెక్కించడానికి ఉపయోగించబడుతున్నాయని గమనించండి, కానీ అవన్నీ జాబితా చేయబడలేదు. ఒక స్థాయి గరిష్ట డైరెక్టరీ లోతును సెట్ చేయడానికి, ఈ ఆదేశాన్ని ఉపయోగించండి:
డు -డి 1
అవుట్పుట్ ప్రస్తుత డైరెక్టరీలో ఆ ఉప డైరెక్టరీ యొక్క మొత్తం పరిమాణాన్ని జాబితా చేస్తుంది మరియు ప్రతిదానికి మొత్తం అందిస్తుంది.
డైరెక్టరీలను ఒక లెవెల్ లోతుగా జాబితా చేయడానికి, ఈ ఆదేశాన్ని ఉపయోగించండి:
డు -డి 2
బ్లాక్ పరిమాణాన్ని సెట్ చేస్తోంది
మీరు ఉపయోగించవచ్చు బ్లాక్
కోసం బ్లాక్ పరిమాణాన్ని సెట్ చేసే ఎంపిక డు
ప్రస్తుత ఆపరేషన్ కోసం. ఒక బైట్ యొక్క బ్లాక్ పరిమాణాన్ని ఉపయోగించడానికి, డైరెక్టరీలు మరియు ఫైళ్ళ యొక్క ఖచ్చితమైన పరిమాణాలను పొందడానికి క్రింది ఆదేశాన్ని ఉపయోగించండి:
du --block = 1
మీరు ఒక మెగాబైట్ యొక్క బ్లాక్ పరిమాణాన్ని ఉపయోగించాలనుకుంటే, మీరు ఉపయోగించవచ్చు -ఎమ్
(మెగాబైట్) ఎంపిక, ఇది అదే --block = 1M
:
డు -ఎమ్
డైరెక్టరీలు మరియు ఫైల్స్ ఉపయోగించే డిస్క్ స్థలం ప్రకారం చాలా సరిఅయిన బ్లాక్ పరిమాణంలో నివేదించబడిన పరిమాణాలు మీకు కావాలంటే, ఉపయోగించండి -హెచ్
(మానవ-చదవగలిగే) ఎంపిక:
డు-హ
ఫైల్ను నిల్వ చేయడానికి ఉపయోగించే హార్డ్ డ్రైవ్ స్థలం కంటే ఫైల్ యొక్క స్పష్టమైన పరిమాణాన్ని చూడటానికి, ఉపయోగించండి - స్పష్టమైన పరిమాణం
ఎంపిక:
డు - స్పష్టమైన-పరిమాణం
మీరు దీన్ని మిళితం చేయవచ్చు -అ
(అన్నీ) ప్రతి ఫైల్ యొక్క స్పష్టమైన పరిమాణాన్ని చూడటానికి ఎంపిక:
డు - స్పష్టమైన-పరిమాణం -a
ప్రతి ఫైల్ దాని స్పష్టమైన పరిమాణంతో పాటు జాబితా చేయబడింది.
మొత్తాలను మాత్రమే ప్రదర్శిస్తోంది
మీకు కావాలంటేడు
డైరెక్టరీ కోసం మొత్తాన్ని మాత్రమే నివేదించడానికి, ఉపయోగించండి -ఎస్
(సంగ్రహించు) ఎంపిక. మీరు దీన్ని ఇతర ఎంపికలతో మిళితం చేయవచ్చు -హెచ్
(మానవ-చదవగలిగే) ఎంపిక:
du -h -s
ఇక్కడ, మేము దీన్ని ఉపయోగిస్తాము - స్పష్టమైన పరిమాణం
ఎంపిక:
డు - స్పష్టమైన-పరిమాణం -s
సవరణ సమయాలను ప్రదర్శిస్తోంది
సృష్టి లేదా చివరి సవరణ సమయం మరియు తేదీని చూడటానికి, ఉపయోగించండి - సమయం
ఎంపిక:
డు - టైమ్ -డి 2
వింత ఫలితాలు?
మీరు వింత ఫలితాలను చూస్తే డు
, ప్రత్యేకించి మీరు ఇతర ఆదేశాల నుండి అవుట్పుట్కు క్రాస్-రిఫరెన్స్ పరిమాణాలను కలిగి ఉన్నప్పుడు, ఇది సాధారణంగా వేర్వేరు ఆదేశాలను సెట్ చేయగల వేర్వేరు బ్లాక్ పరిమాణాల వల్ల లేదా అవి డిఫాల్ట్గా ఉంటాయి. నిజమైన ఫైల్ పరిమాణాలు మరియు వాటిని నిల్వ చేయడానికి అవసరమైన డిస్క్ స్థలం మధ్య తేడాలు కూడా దీనికి కారణం కావచ్చు.
మీరు ఇతర ఆదేశాల అవుట్పుట్తో సరిపోలాలంటే, ప్రయోగం చేయండి - బ్లాక్
లో ఎంపిక డు
.