journalctl: पाठ को टर्मिनल में छंटनी से कैसे रोका जाए


60

मैं टर्मिनल में ट्रंकटिंग से लंबे तार कैसे रख सकता हूं? उदाहरण के लिए अगर मैं दौड़ता हूं

journalctl -xn

बहुत सारा पाठ है जिसे मैं नहीं पढ़ सकता। मैं अन्य कार्यक्रमों / उपकरणों का उपयोग करने के लिए खुला हूं।


का उपयोग करें journalctl -x, -nकेवल लॉग में 10 लाइनों के लिए डिफ़ॉल्ट।
cuonglm

जवाबों:


63

से journalctlमैनपेज:

   The output is paged through less by default, and long lines are
   "truncated" to screen width. The hidden part can be viewed by using the
   left-arrow and right-arrow keys. Paging can be disabled; see the
   --no-pager option and the "Environment" section below.

यदि आप बाएँ और दाएँ तीर कुंजियों का लगातार उपयोग नहीं करना चाहते हैं, तो इसे सीधे पाइप करें less:

$ journalctl -xn | less

यह आपके टर्मिनल के लिए बहुत लंबी लाइनें (डिफ़ॉल्ट व्यवहार less, जो journalctlओवरराइड करता है) को लपेट देगा ।

या, ज़ाहिर है, यदि आपको अपने टर्मिनल के स्क्रैचबैक का उपयोग करने में कोई आपत्ति नहीं है, तो आप बिना किसी पेजर का उपयोग कर सकते हैं:

$ journalctl -xn --no-pager

आह येस। मैंने देखा।
congonglm

3
यह वास्तव में निराशाजनक है। यदि पेजर को सेट किया गया है less, और LESSशामिल -Sनहीं किया गया है, तो जर्नलैक्ट को -Sआह्वान पर लागू नहीं होना चाहिए less!! यही है, PAGER = कम और LESS = $ x (जहाँ $ x में कोई स्ट्रिंग नहीं है जिसमें S शामिल नहीं है) को वांछित व्यवहार देना चाहिए।
विलियम पर्ससेल

1
यही है, journalctl को LESS का सम्मान करना चाहिए, और उपयोगकर्ता को SYSTEMD_LESS को भी सेट नहीं करना चाहिए! (क्षमा याचना, डॉर्कनोब, यह एक शेख़ी का एक सा है जो संभवतः आपके उत्तर के लिए एक टिप्पणी के रूप में नहीं है)
विलियम पर्ससेल

सिली विलियम। श्री पॉटरिंग जानते हैं कि आपके लिए सबसे अच्छा क्या है, और यदि आप इसे पसंद नहीं करते हैं, तो आप स्पष्ट रूप से गलत हैं। </ rant>
dannysauer

15

मुझे भी मंज़ूर है:

journalctl -xn | less

लेकिन आप SYSTEMD_LESSपर्यावरण चर भी सेट कर सकते हैं :

SYSTEMD_LESS=FRXMK journalctl -xn
# Or even
# SYSTEMD_LESS="" journalctl -xn
# The environment variable needs to be there, but can be the empty string

मुझे वह मिला: [systemd-devel] [PATCH] पेजर: डिफ़ॉल्ट रूप से लंबी लाइनें लपेटें

इसे अपने .bashrc में सेट करें और इसके साथ करें! :-)

यह विशेष रूप systemdसे सेटअप करने की जरूरत है lessऔर सिर्फ कम चूक का सम्मान नहीं करता है और LESSपर्यावरण मुझे थोड़ा अभिमानी लगता है, लेकिन हे, यह बात ...


SYSTEMD_LESS का समर्थन केवल हाल ही में जोड़ा गया है, उदाहरण के लिए CentOS 7 में एक संस्करण नहीं है जो इसका समर्थन करता है
jas

कम से कम CentOS 7.5 पर काम करता है।
वर्टिगो

महान समाधान है, मैं यह भी कहा Defaults env_keep += "LESS SYSTEMD_LESS"करने के लिए /etc/sudoers। यह उन समय के लिए है जब मैंने गलती sudoसे उदाहरण के लिए सामने रखा था systemctl status
मेटामॉर्फिक

यह केवल "थोड़ा अभिमानी" नहीं है, यह अविश्वसनीय रूप से कष्टप्रद है। मुझे उम्मीद है कि यह अहंकार नहीं है, लेकिन अज्ञानता है जो इस व्यवहार को बढ़ाती है।
विलियम पर्ससेल

स्रोत कोड पर नज़र रखी। विशेष रूप से LESS में उपयोगकर्ता की पसंद को ओवरराइड करना केवल सादा बेवकूफी है। मुझे अब भी यकीन नहीं है कि यह अहंकार या अज्ञानता है, लेकिन शायद दोनों का एक स्वस्थ संयोजन है।
विलियम पर्ससेल

2

यदि प्रोग्राम पहले से ही उपयोग करता है less(यदि नहीं, तो आउटपुट को इसमें पाइप करें), आप टाइपिंग -S(इन less) द्वारा रैपिंग को अक्षम / अक्षम कर सकते हैं , यह अन्य lessविकल्पों के लिए भी काम करता है ।


0

यह भी ध्यान दें:

journalctl -f

जैसा कि यह आता है और किसी भी सामान्य मानव (या यहां तक ​​कि sysadmin) की तरह लपेटता है, आप सभी नवीनतम दिखाएगा आसान पढ़ने, कॉपी-पेस्टिंग, और बाकी सब कुछ करने की अनुमति देगा।


-1

मैं टर्मिनल में टाइप
journalctl | moreकरता हूं, मेरे लिए बहुत अच्छा काम करता है फिर मैं ऊपर या नीचे तीर का उपयोग करता हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.