/ Dev / null అంటే ఏమిటి మరియు ఇది మీకు ఎలా సహాయపడుతుంది?

మనకు ఇప్పటికే గ్నూ / లైనక్స్ డైరెక్టరీ ట్రీ గురించి కొన్ని భావాలు ఉంటే, మనకు కనీసం / dev / రిఫరెన్స్ గురించి తెలిసి ఉండాలి, ఇది అన్ని ఫైళ్ళకు సంబంధించినది హార్డ్వేర్ పరికరాలు.

మేము డైరెక్టరీలో చూస్తే / dev / మేము "ఫైల్" అని పిలుస్తాము శూన్య, కానీ దాని కంటెంట్‌ను చూడటానికి మేము దానిని తెరవాలనుకుంటే, అది సాధారణ కంటెంట్ కానందున అది సాధ్యం కాదని సిస్టమ్ మాకు చెబుతుంది. నేను ఫైల్ అనే పదాన్ని జతచేసాను, ఎందుకంటే మీ అందరికీ Linux కోసం తెలుసు (హార్డ్‌వేర్ మరియు సాఫ్ట్‌వేర్) ఫైల్‌గా సూచించబడుతుంది.

ఇది డేనియల్ డురాంటే నుండి అందించిన సహకారం, తద్వారా మా వారపు పోటీ విజేతలలో ఒకరు అవుతారు: «Linux గురించి మీకు తెలిసిన వాటిని పంచుకోండి«. అభినందనలు డేనియల్!

/ Dev / null ఏ పరికరానికి అనుగుణంగా ఉంటుంది?

ఆచరణాత్మక ప్రయోజనాల కోసం, ఒక చెత్త డబ్బా, అడుగులేని గొయ్యి లేదా బాహ్య స్థలాన్ని imagine హించుకోండి, దానిని తిరిగి పొందే అవకాశం లేకుండా ఏదైనా విసిరేయండి (నాసా నుండి వచ్చిన వ్యక్తులు ఎంత ప్రయత్నించినా).

నేను ఇప్పటికే rm వంటి ఆదేశాలను కలిగి ఉంటే, నేను క్రొత్తదాన్ని ఎందుకు తొలగించాలనుకుంటున్నాను?

ఎందుకంటే “కాల రంధ్రాలు” పనిచేసే విధానం పూర్తిగా భిన్నంగా ఉంటుంది: రన్‌టైమ్‌లో షెల్ స్క్రిప్ట్‌లోని ఆదేశంలోని లోపం యొక్క ప్రామాణిక అవుట్‌పుట్‌ను మీరు ఎలా అధిగమిస్తారు? ఇక్కడే / dev / null వస్తుంది.

దానిని ఒక ఉదాహరణతో చూద్దాం.

మేము "హలో వరల్డ్" స్ట్రింగ్ ఉన్న పరీక్షలు అనే ఫైల్ను సృష్టించాము. మేము కమాండ్ లైన్లో ఆ ఫైల్ యొక్క కంటెంట్ను సూచించాలనుకుంటే, మేము దానిని ఈ క్రింది విధంగా చేయవచ్చు:

వినియోగదారు @ ల్యాప్‌టాప్: $ $ పిల్లి పరీక్ష
హలో వరల్డ్

ఫైల్ ఉనికిలో లేకుంటే లేదా పరీక్షలుగా పేరు పెట్టబడితే (చివరిలో 's' తో), మేము కన్సోల్‌లో ఈ క్రింది లోపాన్ని పొందుతాము:

వినియోగదారు @ ల్యాప్‌టాప్: $ $ పిల్లి పరీక్షలు
పిల్లి: పరీక్షలు: ఫైల్ లేదా డైరెక్టరీ ఉనికిలో లేదు

దోష సందేశాన్ని నివారించడానికి మేము ఏమి చేయగలం? సరే, ఆదేశం యొక్క అవుట్పుట్, లోపం విషయంలో, "చెత్త డబ్బా" కు మళ్ళించండి, అంటే / dev / null

లోపం విషయంలో దాన్ని ఎలా పేర్కొనాలి? ఇక్కడే ప్రోగ్రామ్ కోసం ప్రామాణిక ఇన్పుట్, అవుట్పుట్ మరియు లోపం విలువలు ప్రవేశిస్తాయి: STDIN, STDOUT మరియు STDERR (వీటిని వరుసగా 0, 1 మరియు 2 లకు ప్రత్యామ్నాయం చేయవచ్చు). ఈ విధంగా, మేము పెడితే ...

వినియోగదారు @ ల్యాప్‌టాప్: ~ $ పిల్లి పరీక్షలు 2> / dev / null
వినియోగదారు @ ల్యాప్‌టాప్: ~ $

… కన్సోల్‌లో దోష సందేశం ఉత్పత్తి చేయబడదని మేము చూస్తాము.

మీరు జాగ్రత్తగా ఉండాలి ఎందుకంటే వాక్యనిర్మాణం అవసరం: అక్షరాలు 2 మరియు> మధ్య ఖాళీ ఉండకూడదు. లేకపోతే, ఇది క్రింది వాటిని ఇస్తుంది:

వినియోగదారు @ ల్యాప్‌టాప్: ~ $ పిల్లి పరీక్షలు 2> / dev / null
పిల్లి: పరీక్షలు: ఫైల్ లేదా డైరెక్టరీ ఉనికిలో లేదు
cat: 2: ఫైల్ లేదా డైరెక్టరీ ఉనికిలో లేదు

దీనికి విరుద్ధంగా,> మరియు / dev / null మధ్య ఖాళీ ఫలితాన్ని ప్రతికూలంగా ప్రభావితం చేయదు.

మేము లోపం దారి మళ్లింపును కూడా ఉపయోగించవచ్చు, ఉదాహరణకు, లాగ్ ఫైల్‌లో లోపాలను ఈ క్రింది విధంగా సంగ్రహించడానికి:

వినియోగదారు @ ల్యాప్‌టాప్: ~ $ పిల్లి పరీక్షలు 2> err.log

లోపం జరగనంతవరకు మరొక ఫైల్‌లో ఫలితాల సేకరణ మరొక ఆసక్తికరమైన సందర్భం, దీని కోసం మేము ఉంచుతాము:

వినియోగదారు @ ల్యాప్‌టాప్: ~ $ పిల్లి పరీక్ష 1> అవుట్పుట్_ ఫలితం 2> err.log

చివరగా, output> / dev / null 2> & 1 expression అనే వ్యక్తీకరణను ఉంచడం సాధ్యమవుతుంది, దీనిలో ప్రామాణిక అవుట్‌పుట్ మరియు లోపం అవుట్‌పుట్ కలిపి, వాటిని దారి మళ్లించి తద్వారా అవుట్‌పుట్ సమాచారం పొందలేము.


వ్యాసం యొక్క కంటెంట్ మా సూత్రాలకు కట్టుబడి ఉంటుంది సంపాదకీయ నీతి. లోపం నివేదించడానికి క్లిక్ చేయండి ఇక్కడ.

8 వ్యాఖ్యలు, మీదే వదిలేయండి

మీ వ్యాఖ్యను ఇవ్వండి

మీ ఇమెయిల్ చిరునామా ప్రచురితమైన కాదు.

*

*

  1. డేటాకు బాధ్యత: మిగ్యుల్ ఏంజెల్ గాటన్
  2. డేటా యొక్క ఉద్దేశ్యం: కంట్రోల్ స్పామ్, వ్యాఖ్య నిర్వహణ.
  3. చట్టబద్ధత: మీ సమ్మతి
  4. డేటా యొక్క కమ్యూనికేషన్: డేటా చట్టపరమైన బాధ్యత ద్వారా తప్ప మూడవ పార్టీలకు తెలియజేయబడదు.
  5. డేటా నిల్వ: ఆక్సెంటస్ నెట్‌వర్క్స్ (EU) హోస్ట్ చేసిన డేటాబేస్
  6. హక్కులు: ఎప్పుడైనా మీరు మీ సమాచారాన్ని పరిమితం చేయవచ్చు, తిరిగి పొందవచ్చు మరియు తొలగించవచ్చు.

  1.   గైడో ఇగ్నాసియో ఇగ్నాసియో అతను చెప్పాడు

    ఆహ్, కానీ / dev / null కలిగి ఉన్న చాలా ఉపయోగించిన యుటిలిటీలలో ఒకటి లేదు, ఇది ఫైళ్ళను ఖాళీ చేస్తోంది: $ cat / dev / null> file.log ఈ విధంగా, file.log ఫైల్ ఖాళీగా ఉంటుంది. దీన్ని జోడించండి!

    1.    ఎడ్వర్డో హెచ్ అతను చెప్పాడు

      ఇది అతను వెతుకుతున్న వివరణ.
      కదలికను జోడించడానికి నేను మద్దతు ఇస్తున్నాను =)

      ధన్యవాదాలు!

  2.   పాబ్లో అతను చెప్పాడు

    హలో, మొదట వ్యాసం చాలా బాగుంది! రెండవది ఈ అంశంపై ఈ లింక్‌తో ఏదైనా సహకరించాలనుకుంటున్నాను Cpanel నుండి php లో క్రాన్ జాబ్ మరియు బ్లాగుకు మూడవ అభినందనలు!

  3.   పాబ్లో అతను చెప్పాడు

    దేవ్ / శూన్యమైన మంచి కథనం, ఇంతకు ముందు తప్పు స్థలంలో నేను తప్పుగా వ్యాఖ్యానించాను. నేను క్షమాపణలు కోరుతున్నాను

  4.   అజ్ఞాత అతను చెప్పాడు

    మంచి సహకారం ధన్యవాదాలు

  5.   జెర్స్ అతను చెప్పాడు

    శుభాకాంక్షలు నేను శూన్య దాడి చేస్తున్నాను. నేను andrirc ని ఉపయోగిస్తాను మరియు నా మారుపేరును శూన్య పదంతో పొందుతాను. ప్రోగ్రామ్ ముగిసిన 2 సెకన్ల తరువాత నేను చదువుతున్నాను మరియు నేను చూసే దాని నుండి ఇది షెల్ చేత మాత్రమే చేయవచ్చు, బాహ్య వ్యక్తి కాదు. నేను నన్ను విస్మరించడానికి ప్రయత్నించాను / విస్మరించు -lrpcntikd మరియు కమాండ్ వస్తూనే నాకు ఏమీ ఆశ్చర్యం లేదు. దాన్ని నిరోధించడానికి మీకు ఏమైనా మార్గం ఉంటే నేను అభినందిస్తున్నాను. చీర్స్

  6.   సోఫియా మార్టినెజ్ అతను చెప్పాడు

    వాక్యాన్ని అమలు చేసేటప్పుడు గుర్తు> ఉంచకపోతే ఏమి జరుగుతుంది?

    దయచేసి ఎవరైనా నాకు మార్గనిర్దేశం చేయగలరా?

  7.   శూన్యం అతను చెప్పాడు

    శుభోదయం, నేను ACER Extensa 5620Z – 32 bitలో Debian netinstని ఇన్‌స్టాల్ చేసాను. USB నుండి ఇన్‌స్టాలేషన్ పూర్తయిన తర్వాత పెన్‌డ్రైవ్ తీసివేయబడుతుంది, తద్వారా అది హార్డ్ డిస్క్ నుండి బూట్ అవుతుంది (పెన్ నుండి మళ్లీ ఇన్‌స్టాల్ చేయవద్దు) కానీ బూటింగ్ సమయంలో ఆమె నన్ను అడుగుతున్న వ్యవస్థ:
    డెబియన్ లాగిన్: xxxxxxxx (సరే)
    పాస్వర్డ్: xxxxxxxx (సరే)
    nil@debian:~$ ???? ఇది ఏమిటి? నేను అక్కడ ఏమి ఉంచాలి?

    ఈ ఆదేశం లేకుండా నేను సిస్టమ్ బూట్‌తో కొనసాగలేను.
    మీరు నాకు సహాయం చేయగలరా? నేను ఎలా కొనసాగించాలో నాకు తెలియదు.
    మీకు చాలా కృతజ్ఞతలు. శుభాకాంక్షలు.