ఈ ట్యుటోరియల్ మీరు బైష్, కిలోబైట్స్, మెగాబైట్లు లేదా గిగాబైట్ల వంటి నిర్దిష్ట ఆకృతిలో ఫైల్ పరిమాణాన్ని పొందడానికి బాష్ స్క్రిప్ట్లో ఉపయోగించే శీఘ్ర పద్ధతుల గురించి చర్చిస్తుంది.
విధానం 1: ls ఆదేశం
మంచి పాత ls ఆదేశాన్ని ఉపయోగించడం మొదటి పద్ధతి. ఇతర ఆదేశాలతో జత చేసినప్పుడు, ls కమాండ్ ఫైల్ పరిమాణాన్ని పట్టుకోగలదు.
స్క్రిప్ట్ అమలు చేయడానికి, మాకు ఫైల్ యొక్క పూర్తి మార్గం అవసరం, ఫైల్ సమాచారాన్ని ls తో జాబితా చేయండి మరియు awk వంటి ఆదేశాన్ని ఉపయోగించి పరిమాణాన్ని పట్టుకోండి.
దాని కోసం నమూనా స్క్రిప్ట్ ఇలా కనిపిస్తుంది:
#!/బిన్/బాష్
బయటకు విసిరారు 'ఫైల్కు పూర్తి మార్గాన్ని నమోదు చేయండి.'
చదవండి ఫైల్
ఫైల్ సైజు= $(ls -లెహ్ $ ఫైల్ | అవాక్ '{$ 5} ముద్రించండి')
బయటకు విసిరారు '$ ఫైల్యొక్క పరిమాణాన్ని కలిగి ఉంది$ fileize'
పై స్క్రిప్ట్ సాపేక్షంగా సులభం. ఎకో మరియు రీడ్ కమాండ్ ఉపయోగించి, ఫైల్ యొక్క పూర్తి మార్గం పేరు మనకు వస్తుంది.
తరువాత, మేము ls -lh ఆదేశాన్ని ఉపయోగించి అన్ని డైరెక్టరీలు మరియు పరిమాణాన్ని మానవ -చదవగలిగే ఆకృతిలో జాబితా చేస్తాము, చివరకు, అవుట్పుట్ను అవాక్ చేయడానికి మరియు పరిమాణాన్ని 5 గా పట్టుకోండివవేరియబుల్.
కిందిది స్క్రిప్ట్ యొక్క దృష్టాంతం.
chmod +x size.sh./size.sh
దాని కోసం అవుట్పుట్ ఇక్కడ ఉంది:
సుడో ./size.shఫైల్కు పూర్తి మార్గాన్ని నమోదు చేయండి
/etc/passwordd
/etc/passwordd పరిమాణం 2.9K
విధానం 2: wc కమాండ్
బాష్ స్క్రిప్ట్లో ఫైల్ పరిమాణాన్ని పట్టుకోవడానికి మనం ఉపయోగించే మరో పద్ధతి wc కమాండ్. Wc కమాండ్ బైట్లలో పదాల సంఖ్య, పరిమాణం మరియు ఫైల్ పరిమాణాన్ని అందిస్తుంది.
ఇప్పుడు:
మీకు తెలిసినట్లుగా, ఫైల్ పరిమాణాన్ని బైట్లలో చదవడం అంత సులభం కాదు. దీనిని ఎదుర్కోవడానికి, మేము ఒక సాధారణ మెనూని అమలు చేయవచ్చు మరియు వినియోగదారుని KB, MB మరియు GB వంటి సైజు ఫార్మాట్ను అడగవచ్చు.
ఎంచుకున్న ఫార్మాట్ను బట్టి, మేము బైట్లను ఆ ఫార్మాట్కు మారుస్తాము.
అటువంటి తర్కాన్ని అమలు చేయడానికి ఉదాహరణ స్క్రిప్ట్ ఇక్కడ ఉంది:
#!/బిన్/బాష్బయటకు విసిరారు పరిమాణ ఆకృతిని ఎంచుకోండి, సంఖ్యా విలువలను ఉపయోగించండి (బైట్లకు 1, కిలోబైట్లకు 2, మొదలైనవి) '
బయటకు విసిరారు '''
1. బైట్లు
2. కిలోబైట్లు
3. మెగాబైట్స్
4. గిగాబైట్స్
'''
బయటకు విసిరారు '************************************************* ********************** '
చదవండిఫార్మాట్
బయటకు విసిరారు 'లక్ష్య ఫైల్కు పూర్తి మార్గాన్ని నమోదు చేయండి:'
చదవండి ఫైల్
ఫైల్ సైజు= $(wc -సి $ ఫైల్ | అవాక్ '{ప్రింట్ $ 1}')
ఉంటే [[('$ ఫార్మాట్'==1)]];
అప్పుడు
బయటకు విసిరారు '$ ఫైల్సుమారుగా ఉంది$ fileizeబైట్లు '
ఎలిఫ్ [[('$ ఫార్మాట్'==2)]];
అప్పుడు
సుమారు= $(bc <<<'స్కేల్ = 3;$ fileize/ 1024 ')
బయటకు విసిరారు '$ ఫైల్సుమారుగా ఉంది$ kbKB '
ఎలిఫ్ [[('$ ఫార్మాట్'==3)]];
అప్పుడు
mb= $(bc <<<'స్కేల్ = 6;$ fileize/ 1048576 ')
బయటకు విసిరారు '$ ఫైల్సుమారుగా ఉంది$ mbMB '
ఎలిఫ్ [[('$ ఫార్మాట్'==4)]];
అప్పుడు
gb= $(bc <<<'స్కేల్ = 12;$ fileize/ 1073741824 ')
బయటకు విసిరారు '$ ఫైల్సుమారుగా ఉంది$ gbGB '
లేకపోతే
బయటకు విసిరారు 'సరికాని ఫార్మాట్.'
బయటకి దారి
ఉంటుంది
పై స్క్రిప్ట్లో, ఫైల్ సైజు ఫార్మాట్ను నమోదు చేయమని వినియోగదారుని అడగడం ద్వారా మేము ప్రారంభిస్తాము. బాష్ ఈ ఇన్పుట్ను చదివి ఫార్మాట్ వేరియబుల్కు నిల్వ చేస్తుంది.
తరువాత, మేము ఫైల్ పాత్ కోసం వినియోగదారుని ప్రాంప్ట్ చేస్తాము మరియు ఈ వేరియబుల్ను ఫైల్లో స్టోర్ చేస్తాము.
తదుపరి దశ పేర్కొన్న ఫైల్పై wc -c- కమాండ్ని పిలుస్తుంది. Wc -c ఫైల్ పరిమాణాన్ని బైట్లలో మరియు ఫైల్ పాత్లో తిరిగి ఇస్తుంది కాబట్టి, ఫైల్ పరిమాణాన్ని మాత్రమే పట్టుకోవడానికి మేము AWK ని ఉపయోగిస్తాము. మేము పరిమాణాన్ని ఫైట్సైజ్గా బైట్లలో నిల్వ చేస్తాము.
చివరగా, సైజు ఫార్మాట్ 1 (బైట్లు), 2 (కిలోబైట్లు), 3 (మెగాబైట్లు), 4 (గిగాబైట్) గా ఉందో లేదో తనిఖీ చేయడానికి ఒక సాధారణ if స్టేట్మెంట్ను అమలు చేస్తాము. మేము ఫైల్ పరిమాణాన్ని బైట్లలో పేర్కొన్న ఫార్మాట్కు మార్చడానికి bc ఆదేశాన్ని ఉపయోగిస్తాము.
గమనిక: ప్రతి మూల్యాంకనానికి దశాంశాల సంఖ్యను కల్పించడానికి మేము bc కమాండ్ కోసం వైవిధ్యమైన స్కేల్ను ఉపయోగిస్తాము.
స్క్రిప్ట్ ఎలా పనిచేస్తుందో క్రింద ఉన్న చిత్రం చూపుతుంది.
మరొక గమనిక : పై స్క్రిప్ట్ స్వచ్ఛమైన బేర్బోన్స్ మరియు అందువల్ల గణనీయమైన మెరుగుదలలకు తెరవబడింది. దాన్ని మెరుగుపరచడానికి సంకోచించకండి మరియు మీ అవసరాలకు అనుగుణంగా సర్దుబాటు చేయండి.
విధానం 3: స్టాట్ కమాండ్ ఉపయోగించి
మేము స్టాట్ ఆదేశాన్ని మర్చిపోలేము. స్టాట్ కమాండ్ ఉపయోగించి, మేము ఫైల్ లేదా ఫైల్ సిస్టమ్ గురించి వివరణాత్మక సమాచారాన్ని ప్రదర్శించవచ్చు.
స్టాట్ కమాండ్ సైట్ని బైట్లలో కూడా అందిస్తుంది. ఫార్మాట్ను ఎంచుకోవడానికి మీరు పై స్క్రిప్ట్లో ఇలాంటి లాజిక్ను ఉపయోగించవచ్చు.
స్టాట్ కమాండ్ ఉపయోగించి ఇక్కడ ఒక సాధారణ స్క్రిప్ట్ ఉంది:
#!/బిన్/బాష్బయటకు విసిరారు 'ఫైల్ మార్గాన్ని నమోదు చేయండి.'
చదవండి ఫైల్
ఫైల్ సైజు= $(రాష్ట్రం -సి %లు$ ఫైల్)
బయటకు విసిరారు '$ ఫైల్ఖచ్చితమైనది$ fileizeబైట్లు. '
ముగింపులో
ఈ ట్యుటోరియల్ బాష్ స్క్రిప్ట్ ఉపయోగించి ఫైల్ సైజు పొందడానికి మీరు ఉపయోగించే మూడు పద్ధతులను చర్చించింది. దీన్ని సాధించడానికి లైనక్స్లో సమగ్రమైన సాధనాలు మరియు పద్ధతుల సేకరణ ఉందని గమనించడం మంచిది. మీ కోసం పని చేసేదాన్ని కనుగొని దానికి కట్టుబడి ఉండండి.