Dè a th ’ann an / dev / null agus ciamar a chuidicheas e thu?

Ma tha cuid de bheachdan againn mu chraobh seòlaidh GNU / Linux mu thràth, bu chòir dhuinn co-dhiù a bhith eòlach air an / dev / iomradh, a tha gu h-èifeachdach far a bheil na faidhlichean uile co-cheangailte ris innealan cruaidh.

Ma choimheadas sinn san eòlaire / dev / chì sinn “faidhle” ris an canar null, ach ma tha sinn airson fhosgladh gus an t-susbaint aige fhaicinn, innsidh an siostam dhuinn nach eil e comasach leis nach e susbaint àbhaisteach a th ’ann. Chuir mi am faidhle facal a-steach oir, mar a tha fios agad uile airson Linux tha a h-uile dad (bathar-cruaidh is bathar-bog) air a riochdachadh mar fhaidhle.

Is e seo tabhartas bho Daniel Durante, agus mar sin a ’fàs mar aon de bhuannaichean ar farpais seachdaineil:«Roinn na tha fios agad mu Linux«. Meal a naidheachd Daniel!

Dè an inneal a tha / dev / null a ’freagairt?

Airson adhbharan practaigeach, smaoinich air canastair sgudail, sloc gun bhonn no àite a-muigh gus dad a thilgeil a-steach gun chomas faighinn air ais (ge bith dè cho cruaidh ‘s a bhios na balaich bho NASA a’ feuchainn).

Ach ma tha òrdughan mar rm agam mu thràth, carson a tha mi ag iarraidh rudeigin ùr a sguabas mi às?

Leis gu bheil an dòigh anns a bheil an dà chuid “tuill dhubh” ag obair gu tur eadar-dhealaichte: ciamar a bhiodh tu a ’dol thairis air toradh àbhaisteach mearachd ann an àithne taobh a-staigh sgriobt slige aig àm ruith? Seo far a bheil / dev / null a ’tighinn a-steach.

Chì sinn e le eisimpleir.

Tha sinn air faidhle a chruthachadh ris an canar deuchainnean anns a bheil an sreang "Hello World". Ma tha sinn airson susbaint an fhaidhle sin a riochdachadh air an loidhne-àithne, dh ’fhaodadh sinn a dhèanamh mar a leanas:

cleachdaiche @ laptop: ~ $ deuchainn cat
Hàlo a Shaoghail

Mura robh am faidhle ann no air ainmeachadh mar dheuchainnean (le ‘s’ aig an deireadh), gheibheamaid a ’mhearachd a leanas sa chonsól:

cleachdaiche @ laptop: ~ $ deuchainnean cat
cat: deuchainnean: Chan eil am faidhle no an eòlaire ann

Dè a b ’urrainn dhuinn a dhèanamh gus an teachdaireachd mearachd a sheachnadh? Uill, dìreach ath-stiùirich toradh an àithne, air eagal mearachd, gu “garbage can”, is e sin gu / dev / null

Ciamar a shònraicheas sinn e gun fhios nach bi mearachd ann? An seo tha thu a ’cuir a-steach na luachan inntrigidh, toraidh agus mearachd àbhaisteach airson prògram: STDIN, STDOUT agus STDERR (a ghabhas an àite 0, 1 agus 2 fa leth). San dòigh seo, ma chuireas sinn ...

cleachdaiche @ laptop: ~ $ deuchainnean cat 2> / dev / null
cleachdaiche @ laptop: ~ $

… Chì sinn nach tèid an teachdaireachd mearachd a thoirt a-mach air a ’chonsól.

Feumaidh tu a bhith faiceallach leis gu bheil an co-chòrdadh riatanach: eadar na caractaran 2 agus> cha bu chòir àite a bhith ann. Rud eile, bheireadh e na leanas:

cleachdaiche @ laptop: ~ $ deuchainnean cat 2> / dev / null
cat: deuchainnean: Chan eil am faidhle no an eòlaire ann
cat: 2: Chan eil am faidhle no an eòlaire ann

An coimeas ri sin, cha toir àite eadar> agus / dev / null droch bhuaidh air an toradh.

B ’urrainn dhuinn cuideachd ath-stiùireadh mhearachdan a chleachdadh, mar eisimpleir, gus mearachdan a ghlacadh ann am faidhle log mar a leanas:

cleachdaiche @ laptop: ~ $ cat deuchainnean 2> err.log

B ’e cùis inntinneach eile cruinneachadh thoraidhean ann am faidhle eile fhad‘ s nach tachair mearachd, a chuireadh sinn:

cleachdaiche @ laptop: ~ $ deuchainn cat 1> output_result 2> err.log

Mu dheireadh, is fhiach an abairt «> / dev / null 2> & 1» a chuir anns a bheil an toradh àbhaisteach agus an toradh mearachd air an toirt còmhla, gan ath-stiùireadh gus nach fhaighear fiosrachadh an toraidh ann an suidheachadh sam bith.


Tha susbaint an artaigil a ’cumail ri na prionnsapalan againn de moraltachd deasachaidh. Gus aithris a dhèanamh air mearachd cliog an seo.

7 bheachd, fàg do chuid fhèin

Fàg do bheachd

Seòladh-d cha tèid fhoillseachadh. Feum air achaidhean air an comharrachadh le *

*

*

  1. Uallach airson an dàta: Miguel Ángel Gatón
  2. Adhbhar an dàta: Smachd air SPAM, riaghladh bheachdan.
  3. Dìleab: Do chead
  4. Conaltradh an dàta: Cha tèid an dàta a thoirt do threas phàrtaidhean ach a-mhàin fo dhleastanas laghail.
  5. Stòradh dàta: Stòr-dàta air a chumail le Occentus Networks (EU)
  6. Còraichean: Aig àm sam bith faodaidh tu am fiosrachadh agad a chuingealachadh, fhaighinn air ais agus a dhubhadh às.

  1.   Guido Ignacio Ignacio thuirt

    Ah, ach tha aon de na goireasan as motha a chleachdar a tha / dev / null a dhìth, a tha a ’falmhachadh faidhlichean: $ cat / dev / null> file.log San dòigh seo, bidh am faidhle file.log falamh. Cuir ris e!

    1.    Eduardo H. thuirt

      B ’e sin an dearbh mhìneachadh a bha e a’ sireadh.
      Tha mi a ’toirt taic don ghluasad gus a chur ris =)

      Beannachdan!

  2.   Pablo thuirt

    Halo, an toiseach tha an artaigil glè mhath! an dàrna fear bu mhath leam rudeigin a chuir ris a ’cheangal seo air a’ chuspair obair cron ann am php bho Cpanel agus an treas meala-naidheachd airson a ’bhlog!

  3.   Pablo thuirt

    Artaigil deas air dev / null, dè an nàire a tha mi a ’smaoineachadh a thuirt mi le mearachd san àite cheàrr roimhe seo! Tha mi duilich

  4.   Anonymous thuirt

    taing deagh thabhartas

  5.   Jers thuirt

    Beannachdan Tha mi a ’faighinn ionnsaigh null. Bidh mi a ’cleachdadh andrirc agus gheibh mi prìobhaideach den far-ainm agam leis an fhacal Null. 2 dhiog às deidh don phrògram dùnadh tha mi air a bhith a ’leughadh agus bho na chì mi chan urrainnear seo a dhèanamh ach leis an Shell, chan e cuideigin a-muigh. Tha mi air feuchainn ri dearmad a dhèanamh orm fhìn / neamhaird a dhèanamh -lrpcntikd agus chan eil dad a ’cur iongnadh orm gu bheil an àithne a’ cumail a ’tighinn. Ma tha dòigh sam bith agad feuchainn ri stad a chuir air, bhithinn taingeil. Slàinte

  6.   Sofia martinez thuirt

    Dè thachras mura tèid an samhla> a chuir an gnìomh?

    Am b ’urrainn dha cuideigin mo stiùireadh mas e do thoil e?