/ Dev / null ಎಂದರೇನು ಮತ್ತು ಅದು ನಿಮಗೆ ಹೇಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ?

ನಾವು ಈಗಾಗಲೇ ಗ್ನೂ / ಲಿನಕ್ಸ್ ಡೈರೆಕ್ಟರಿ ವೃಕ್ಷದ ಬಗ್ಗೆ ಕೆಲವು ಕಲ್ಪನೆಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ನಾವು ಕನಿಷ್ಟ / ದೇವ್ / ಉಲ್ಲೇಖದೊಂದಿಗೆ ಪರಿಚಿತರಾಗಿರಬೇಕು, ಅದು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಎಲ್ಲ ಫೈಲ್‌ಗಳಿಗೆ ಸಂಬಂಧಿಸಿದೆ ಯಂತ್ರಾಂಶ ಸಾಧನಗಳು.

ನಾವು ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ನೋಡಿದರೆ / dev / ನಾವು "ಫೈಲ್" ಅನ್ನು ನೋಡುತ್ತೇವೆ ಶೂನ್ಯ, ಆದರೆ ಅದರ ವಿಷಯವನ್ನು ನೋಡಲು ನಾವು ಅದನ್ನು ತೆರೆಯಲು ಬಯಸಿದರೆ, ಅದು ಸಾಮಾನ್ಯ ವಿಷಯವಲ್ಲವಾದ್ದರಿಂದ ಅದು ಸಾಧ್ಯವಿಲ್ಲ ಎಂದು ಸಿಸ್ಟಮ್ ನಮಗೆ ತಿಳಿಸುತ್ತದೆ. ನಾನು ಪದ ಫೈಲ್ ಅನ್ನು ಸುತ್ತುವರೆದಿದ್ದೇನೆ ಏಕೆಂದರೆ, ಲಿನಕ್ಸ್‌ಗಾಗಿ ನೀವು ಎಲ್ಲರಿಗೂ ತಿಳಿದಿರುವಂತೆ (ಹಾರ್ಡ್‌ವೇರ್ ಮತ್ತು ಸಾಫ್ಟ್‌ವೇರ್) ಫೈಲ್ ಆಗಿ ಪ್ರತಿನಿಧಿಸಲಾಗುತ್ತದೆ.

ಇದು ಡೇನಿಯಲ್ ಡುರಾಂಟೆ ಅವರ ಕೊಡುಗೆಯಾಗಿದೆ, ಹೀಗಾಗಿ ನಮ್ಮ ಸಾಪ್ತಾಹಿಕ ಸ್ಪರ್ಧೆಯ ವಿಜೇತರಲ್ಲಿ ಒಬ್ಬರಾದರು: «ಲಿನಕ್ಸ್ ಬಗ್ಗೆ ನಿಮಗೆ ತಿಳಿದಿರುವುದನ್ನು ಹಂಚಿಕೊಳ್ಳಿ«. ಅಭಿನಂದನೆಗಳು ಡೇನಿಯಲ್!

/ Dev / null ಯಾವ ಸಾಧನಕ್ಕೆ ಸಂಬಂಧಿಸಿದೆ?

ಪ್ರಾಯೋಗಿಕ ಉದ್ದೇಶಗಳಿಗಾಗಿ, ಕಸದ ತೊಟ್ಟಿ, ತಳವಿಲ್ಲದ ಹಳ್ಳ ಅಥವಾ ಬಾಹ್ಯಾಕಾಶವನ್ನು imagine ಹಿಸಿ, ಅದನ್ನು ಚೇತರಿಸಿಕೊಳ್ಳುವ ಸಾಧ್ಯತೆಯಿಲ್ಲದೆ ಯಾವುದನ್ನಾದರೂ ಎಸೆಯಬಹುದು (ನಾಸಾದ ವ್ಯಕ್ತಿಗಳು ಎಷ್ಟೇ ಪ್ರಯತ್ನಪಟ್ಟರೂ).

ಆದರೆ ನಾನು ಈಗಾಗಲೇ rm ನಂತಹ ಆಜ್ಞೆಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ಅಳಿಸಲು ಹೊಸದನ್ನು ನಾನು ಏಕೆ ಬಯಸುತ್ತೇನೆ?

ಏಕೆಂದರೆ "ಕಪ್ಪು ಕುಳಿಗಳು" ಎರಡೂ ಕೆಲಸ ಮಾಡುವ ವಿಧಾನವು ಸಂಪೂರ್ಣವಾಗಿ ಭಿನ್ನವಾಗಿದೆ: ಚಾಲನಾಸಮಯದಲ್ಲಿ ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್‌ನೊಳಗಿನ ಆಜ್ಞೆಯಲ್ಲಿನ ದೋಷದ ಪ್ರಮಾಣಿತ output ಟ್‌ಪುಟ್ ಅನ್ನು ಅತಿಕ್ರಮಿಸುವ ಬಗ್ಗೆ ನೀವು ಹೇಗೆ ಹೋಗುತ್ತೀರಿ? ಇಲ್ಲಿಯೇ / dev / null ಬರುತ್ತದೆ.

ಅದನ್ನು ಉದಾಹರಣೆಯೊಂದಿಗೆ ನೋಡೋಣ.

"ಹಲೋ ವರ್ಲ್ಡ್" ಸ್ಟ್ರಿಂಗ್ ಹೊಂದಿರುವ ಪರೀಕ್ಷೆಗಳು ಎಂಬ ಫೈಲ್ ಅನ್ನು ನಾವು ರಚಿಸಿದ್ದೇವೆ. ನಾವು ಆ ಫೈಲ್‌ನ ವಿಷಯವನ್ನು ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಪ್ರತಿನಿಧಿಸಲು ಬಯಸಿದರೆ, ನಾವು ಅದನ್ನು ಈ ಕೆಳಗಿನ ರೀತಿಯಲ್ಲಿ ಮಾಡಬಹುದು:

ಬಳಕೆದಾರ @ ಲ್ಯಾಪ್‌ಟಾಪ್: $ $ ಬೆಕ್ಕು ಪರೀಕ್ಷೆ
ಹಲೋ ವರ್ಲ್ಡ್

ಫೈಲ್ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದಿದ್ದರೆ ಅಥವಾ ಪರೀಕ್ಷೆಗಳೆಂದು ಹೆಸರಿಸಿದ್ದರೆ (ಕೊನೆಯಲ್ಲಿ 'ರು' ನೊಂದಿಗೆ), ನಾವು ಕನ್ಸೋಲ್‌ನಲ್ಲಿ ಈ ಕೆಳಗಿನ ದೋಷವನ್ನು ಪಡೆಯುತ್ತೇವೆ:

ಬಳಕೆದಾರ @ ಲ್ಯಾಪ್‌ಟಾಪ್: $ $ ಬೆಕ್ಕು ಪರೀಕ್ಷೆಗಳು
ಬೆಕ್ಕು: ಪರೀಕ್ಷೆಗಳು: ಫೈಲ್ ಅಥವಾ ಡೈರೆಕ್ಟರಿ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ

ದೋಷ ಸಂದೇಶವನ್ನು ತಪ್ಪಿಸಲು ನಾವು ಏನು ಮಾಡಬಹುದು? ಸರಿ, ಆಜ್ಞೆಯ output ಟ್ಪುಟ್ ಅನ್ನು ದೋಷದ ಸಂದರ್ಭದಲ್ಲಿ "ಅನುಪಯುಕ್ತ ಕ್ಯಾನ್" ಗೆ ಮರುನಿರ್ದೇಶಿಸಿ, ಅಂದರೆ / dev / null

ದೋಷದ ಸಂದರ್ಭದಲ್ಲಿ ಅದನ್ನು ನಾವು ಹೇಗೆ ಸೂಚಿಸುತ್ತೇವೆ? ಇಲ್ಲಿ ನೀವು ಪ್ರೋಗ್ರಾಂಗೆ ಪ್ರಮಾಣಿತ ಇನ್ಪುಟ್, output ಟ್ಪುಟ್ ಮತ್ತು ದೋಷ ಮೌಲ್ಯಗಳನ್ನು ನಮೂದಿಸಿ: STDIN, STDOUT, ಮತ್ತು STDERR (ಇದನ್ನು ಕ್ರಮವಾಗಿ 0, 1 ಮತ್ತು 2 ಕ್ಕೆ ಬದಲಿಸಬಹುದು). ಈ ರೀತಿಯಾಗಿ, ನಾವು ಹಾಕಿದರೆ ...

ಬಳಕೆದಾರ @ ಲ್ಯಾಪ್‌ಟಾಪ್: ~ $ ಬೆಕ್ಕು ಪರೀಕ್ಷೆಗಳು 2> / dev / null
ಬಳಕೆದಾರ @ ಲ್ಯಾಪ್‌ಟಾಪ್: ~ $

… ಕನ್ಸೋಲ್‌ನಲ್ಲಿ ದೋಷ ಸಂದೇಶವನ್ನು ಉತ್ಪಾದಿಸಲಾಗುವುದಿಲ್ಲ ಎಂದು ನಾವು ನೋಡುತ್ತೇವೆ.

ನೀವು ಜಾಗರೂಕರಾಗಿರಬೇಕು ಏಕೆಂದರೆ ಸಿಂಟ್ಯಾಕ್ಸ್ ಅತ್ಯಗತ್ಯ: 2 ಮತ್ತು> ಅಕ್ಷರಗಳ ನಡುವೆ ಯಾವುದೇ ಸ್ಥಳವಿರಬಾರದು. ಇಲ್ಲದಿದ್ದರೆ, ಅದು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ನೀಡುತ್ತದೆ:

ಬಳಕೆದಾರ @ ಲ್ಯಾಪ್‌ಟಾಪ್: ~ $ ಬೆಕ್ಕು ಪರೀಕ್ಷೆಗಳು 2> / dev / null
ಬೆಕ್ಕು: ಪರೀಕ್ಷೆಗಳು: ಫೈಲ್ ಅಥವಾ ಡೈರೆಕ್ಟರಿ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ
ಬೆಕ್ಕು: 2: ಫೈಲ್ ಅಥವಾ ಡೈರೆಕ್ಟರಿ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ

ಇದಕ್ಕೆ ವಿರುದ್ಧವಾಗಿ,> ಮತ್ತು / dev / null ನಡುವಿನ ಸ್ಥಳವು ಫಲಿತಾಂಶವನ್ನು ly ಣಾತ್ಮಕವಾಗಿ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ.

ನಾವು ದೋಷ ಮರುನಿರ್ದೇಶನವನ್ನು ಸಹ ಬಳಸಬಹುದು, ಉದಾಹರಣೆಗೆ, ಲಾಗ್ ಫೈಲ್‌ನಲ್ಲಿ ದೋಷಗಳನ್ನು ಈ ಕೆಳಗಿನಂತೆ ಸೆರೆಹಿಡಿಯಲು:

ಬಳಕೆದಾರ @ ಲ್ಯಾಪ್‌ಟಾಪ್: ~ $ ಬೆಕ್ಕು ಪರೀಕ್ಷೆಗಳು 2> err.log

ಮತ್ತೊಂದು ಆಸಕ್ತಿದಾಯಕ ಪ್ರಕರಣವೆಂದರೆ ದೋಷ ಸಂಭವಿಸದಿರುವವರೆಗೆ ಮತ್ತೊಂದು ಫೈಲ್‌ನಲ್ಲಿ ಫಲಿತಾಂಶಗಳ ಸಂಗ್ರಹವಾಗಿದೆ, ಇದಕ್ಕಾಗಿ ನಾವು ಇಡುತ್ತೇವೆ:

ಬಳಕೆದಾರ @ ಲ್ಯಾಪ್‌ಟಾಪ್: ~ $ ಬೆಕ್ಕು ಪರೀಕ್ಷೆ 1> _ಟ್‌ಪುಟ್_ ಫಲಿತಾಂಶ 2> err.log

ಅಂತಿಮವಾಗಿ, ಸ್ಟ್ಯಾಂಡರ್ಡ್ output ಟ್‌ಪುಟ್ ಮತ್ತು ದೋಷ output ಟ್‌ಪುಟ್ ಅನ್ನು ಸಂಯೋಜಿಸುವ «> / dev / null 2> & 1 expression ಅನ್ನು ಹಾಕುವ ಅವಶ್ಯಕತೆಯಿದೆ, ಅವುಗಳನ್ನು ಮರುನಿರ್ದೇಶಿಸುತ್ತದೆ ಇದರಿಂದ ಯಾವುದೇ ಸಂದರ್ಭದಲ್ಲಿ output ಟ್‌ಪುಟ್ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲಾಗುವುದಿಲ್ಲ.


ನಿಮ್ಮ ಅಭಿಪ್ರಾಯವನ್ನು ಬಿಡಿ

ನಿಮ್ಮ ಈಮೇಲ್ ವಿಳಾಸ ಪ್ರಕಟವಾದ ಆಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಜಾಗ ಗುರುತಿಸಲಾಗಿದೆ *

*

*

  1. ಡೇಟಾಗೆ ಜವಾಬ್ದಾರಿ: ಮಿಗುಯೆಲ್ ಏಂಜೆಲ್ ಗಟಾನ್
  2. ಡೇಟಾದ ಉದ್ದೇಶ: ನಿಯಂತ್ರಣ SPAM, ಕಾಮೆಂಟ್ ನಿರ್ವಹಣೆ.
  3. ಕಾನೂನುಬದ್ಧತೆ: ನಿಮ್ಮ ಒಪ್ಪಿಗೆ
  4. ಡೇಟಾದ ಸಂವಹನ: ಕಾನೂನುಬದ್ಧ ಬಾಧ್ಯತೆಯನ್ನು ಹೊರತುಪಡಿಸಿ ಡೇಟಾವನ್ನು ಮೂರನೇ ವ್ಯಕ್ತಿಗಳಿಗೆ ಸಂವಹನ ಮಾಡಲಾಗುವುದಿಲ್ಲ.
  5. ಡೇಟಾ ಸಂಗ್ರಹಣೆ: ಆಕ್ಸೆಂಟಸ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು (ಇಯು) ಹೋಸ್ಟ್ ಮಾಡಿದ ಡೇಟಾಬೇಸ್
  6. ಹಕ್ಕುಗಳು: ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ನೀವು ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಮಿತಿಗೊಳಿಸಬಹುದು, ಮರುಪಡೆಯಬಹುದು ಮತ್ತು ಅಳಿಸಬಹುದು.

  1.   ಗೈಡೋ ಇಗ್ನಾಸಿಯೊ ಇಗ್ನಾಸಿಯೊ ಡಿಜೊ

    ಆಹ್, ಆದರೆ / dev / null ಹೊಂದಿರುವ ಹೆಚ್ಚು ಬಳಸಿದ ಉಪಯುಕ್ತತೆಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ, ಅದು ಫೈಲ್‌ಗಳನ್ನು ಖಾಲಿ ಮಾಡುತ್ತಿದೆ: $ cat / dev / null> file.log ಈ ರೀತಿಯಾಗಿ, file.log ಫೈಲ್ ಖಾಲಿಯಾಗಿರುತ್ತದೆ. ಅದನ್ನು ಸೇರಿಸಿ!

    1.    ಎಡ್ವರ್ಡೊ ಎಚ್ ಡಿಜೊ

      ಅದು ನಿಖರವಾಗಿ ಅವನು ಹುಡುಕುತ್ತಿದ್ದ ವಿವರಣೆಯಾಗಿತ್ತು.
      ಅದನ್ನು ಸೇರಿಸಲು ನಾನು ಚಲನೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತೇನೆ =)

      ಶುಭಾಶಯಗಳು!

  2.   ಪಾಬ್ಲೊ ಡಿಜೊ

    ಹಲೋ, ಮೊದಲನೆಯದಾಗಿ ಲೇಖನ ತುಂಬಾ ಒಳ್ಳೆಯದು! ಎರಡನೆಯದು ಈ ವಿಷಯದ ಬಗ್ಗೆ ಈ ಲಿಂಕ್‌ನೊಂದಿಗೆ ಏನಾದರೂ ಕೊಡುಗೆ ನೀಡಲು ನಾನು ಬಯಸುತ್ತೇನೆ ಸಿಪನೆಲ್ನಿಂದ ಪಿಎಚ್ಪಿಯಲ್ಲಿ ಕ್ರಾನ್ ಕೆಲಸ ಮತ್ತು ಬ್ಲಾಗ್‌ಗೆ ಮೂರನೇ ಅಭಿನಂದನೆಗಳು!

  3.   ಪಾಬ್ಲೊ ಡಿಜೊ

    ದೇವ್ / ಶೂನ್ಯದ ಬಗ್ಗೆ ಒಳ್ಳೆಯ ಲೇಖನ, ನಾನು ಮೊದಲು ತಪ್ಪಾದ ಸ್ಥಳದಲ್ಲಿ ತಪ್ಪಾಗಿ ಕಾಮೆಂಟ್ ಮಾಡಿದ್ದೇನೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ! ನಾನು ಕ್ಷಮೆ ಕೆಲುಥೇನೆ

  4.   ಅನಾಮಧೇಯ ಡಿಜೊ

    ಉತ್ತಮ ಕೊಡುಗೆ ಧನ್ಯವಾದಗಳು

  5.   ಜೆರ್ಸ್ ಡಿಜೊ

    ಶುಭಾಶಯಗಳು ನಾನು ಶೂನ್ಯ ದಾಳಿಯನ್ನು ಪಡೆಯುತ್ತಿದ್ದೇನೆ. ನಾನು andrirc ಅನ್ನು ಬಳಸುತ್ತೇನೆ ಮತ್ತು ನನ್ನ ಅಡ್ಡಹೆಸರಿನಿಂದ ಶೂನ್ಯ ಪದದೊಂದಿಗೆ ನಾನು ಖಾಸಗಿಯನ್ನು ಪಡೆಯುತ್ತೇನೆ. 2 ಸೆಕೆಂಡುಗಳ ನಂತರ ಪ್ರೋಗ್ರಾಂ ನಾನು ಓದುತ್ತಿದ್ದೇನೆ ಮತ್ತು ನಾನು ನೋಡುವುದರಿಂದ ಇದನ್ನು ಶೆಲ್‌ನಿಂದ ಮಾತ್ರ ಮಾಡಬಹುದಾಗಿದೆ, ಹೊರಗಿನ ಯಾರಾದರೂ ಅಲ್ಲ. ನಾನು ನನ್ನನ್ನು ನಿರ್ಲಕ್ಷಿಸಲು ಪ್ರಯತ್ನಿಸಿದೆ / ನಿರ್ಲಕ್ಷಿಸಿ -lrpcntikd ಮತ್ತು ಏನೂ ನನಗೆ ಆಶ್ಚರ್ಯವಾಗುವುದಿಲ್ಲ ಆಜ್ಞೆಯು ಬರುತ್ತಲೇ ಇದೆ. ಅದನ್ನು ನಿರ್ಬಂಧಿಸಲು ನಿಮಗೆ ಯಾವುದೇ ಮಾರ್ಗವಿದ್ದರೆ ನಾನು ಅದನ್ನು ಪ್ರಶಂಸಿಸುತ್ತೇನೆ. ಚೀರ್ಸ್

  6.   ಸೋಫಿಯಾ ಮಾರ್ಟಿನೆಜ್ ಡಿಜೊ

    ಚಿಹ್ನೆಯನ್ನು> ಚಿಹ್ನೆಯನ್ನು ಇರಿಸದಿದ್ದಲ್ಲಿ ಏನಾಗುತ್ತದೆ?

    ದಯವಿಟ್ಟು ಯಾರಾದರೂ ನನಗೆ ಮಾರ್ಗದರ್ಶನ ನೀಡಬಹುದೇ?

  7.   ಶೂನ್ಯ ಡಿಜೊ

    ಶುಭೋದಯ, ನಾನು ACER Extensa 5620Z – 32 bit ನಲ್ಲಿ Debian netinst ಅನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿದ್ದೇನೆ. USB ನಿಂದ ಅನುಸ್ಥಾಪನೆಯು ಮುಗಿದ ನಂತರ ಮತ್ತು ಪೆನ್‌ಡ್ರೈವ್ ಅನ್ನು ತೆಗೆದುಹಾಕಿದಾಗ ಅದು ಹಾರ್ಡ್ ಡಿಸ್ಕ್‌ನಿಂದ ಬೂಟ್ ಆಗುತ್ತದೆ (ಪೆನ್‌ನಿಂದ ಮರುಸ್ಥಾಪಿಸಬೇಡಿ) ಆದರೆ ಬೂಟ್ ಆಗುವ ಕ್ಷಣದಲ್ಲಿ ಅವಳು ನನ್ನನ್ನು ಕೇಳುವ ವ್ಯವಸ್ಥೆ:
    ಡೆಬಿಯನ್ ಲಾಗಿನ್: xxxxxxxx (ಸರಿ)
    ಪಾಸ್ವರ್ಡ್: xxxxxxxx (ಸರಿ)
    nil@debian:~$ ???? ಇದು ಏನು? ನಾನು ಅಲ್ಲಿ ಏನು ಹಾಕಬೇಕು?

    ಈ ಆಜ್ಞೆಯಿಲ್ಲದೆ ನಾನು ಸಿಸ್ಟಮ್ ಬೂಟ್ನೊಂದಿಗೆ ಮುಂದುವರಿಯಲು ಸಾಧ್ಯವಿಲ್ಲ.
    ನೀವು ನನಗೆ ಸಹಾಯ ಮಾಡಬಹುದೇ? ನಾನು ಹೇಗೆ ಮುಂದುವರಿಯಬೇಕು ಎಂದು ನನಗೆ ತಿಳಿದಿಲ್ಲ.
    ತುಂಬ ಧನ್ಯವಾದಗಳು. ಶುಭಾಕಾಂಕ್ಷೆಗಳೊಂದಿಗೆ.