I have a long running script but want to be able to scroll through the stdout output as it executes
I have a script that runs for a long time. It has plenty of output to stdout that I would like to be able to read over in real time but also scroll up and down. Whenever a new line of output is printed to stdout, my screen resets to the bottom of the output (most current content). Is there any way to page through stdout while also having the newest content visible and up-to-date when I scroll down?
I'm on RHEL7. I don't have a GUI and am connected to the host via SSH.
bash shell-script shell terminal scrolling
add a comment |
I have a script that runs for a long time. It has plenty of output to stdout that I would like to be able to read over in real time but also scroll up and down. Whenever a new line of output is printed to stdout, my screen resets to the bottom of the output (most current content). Is there any way to page through stdout while also having the newest content visible and up-to-date when I scroll down?
I'm on RHEL7. I don't have a GUI and am connected to the host via SSH.
bash shell-script shell terminal scrolling
2
Pipe it to less!command | lessMouse may or may not work in less, make sure to use page up & down if not.
– Kenneth B. Jensen
Feb 8 at 7:38
In addition to less (which is the best answer to this). I would also recommend screen or tmux which if configured correctly will let you scroll the output
– KNejad
Feb 8 at 9:07
add a comment |
I have a script that runs for a long time. It has plenty of output to stdout that I would like to be able to read over in real time but also scroll up and down. Whenever a new line of output is printed to stdout, my screen resets to the bottom of the output (most current content). Is there any way to page through stdout while also having the newest content visible and up-to-date when I scroll down?
I'm on RHEL7. I don't have a GUI and am connected to the host via SSH.
bash shell-script shell terminal scrolling
I have a script that runs for a long time. It has plenty of output to stdout that I would like to be able to read over in real time but also scroll up and down. Whenever a new line of output is printed to stdout, my screen resets to the bottom of the output (most current content). Is there any way to page through stdout while also having the newest content visible and up-to-date when I scroll down?
I'm on RHEL7. I don't have a GUI and am connected to the host via SSH.
bash shell-script shell terminal scrolling
bash shell-script shell terminal scrolling
edited Feb 12 at 1:30
Crypteya
asked Feb 8 at 6:51
CrypteyaCrypteya
37917
37917
2
Pipe it to less!command | lessMouse may or may not work in less, make sure to use page up & down if not.
– Kenneth B. Jensen
Feb 8 at 7:38
In addition to less (which is the best answer to this). I would also recommend screen or tmux which if configured correctly will let you scroll the output
– KNejad
Feb 8 at 9:07
add a comment |
2
Pipe it to less!command | lessMouse may or may not work in less, make sure to use page up & down if not.
– Kenneth B. Jensen
Feb 8 at 7:38
In addition to less (which is the best answer to this). I would also recommend screen or tmux which if configured correctly will let you scroll the output
– KNejad
Feb 8 at 9:07
2
2
Pipe it to less!
command | less Mouse may or may not work in less, make sure to use page up & down if not.– Kenneth B. Jensen
Feb 8 at 7:38
Pipe it to less!
command | less Mouse may or may not work in less, make sure to use page up & down if not.– Kenneth B. Jensen
Feb 8 at 7:38
In addition to less (which is the best answer to this). I would also recommend screen or tmux which if configured correctly will let you scroll the output
– KNejad
Feb 8 at 9:07
In addition to less (which is the best answer to this). I would also recommend screen or tmux which if configured correctly will let you scroll the output
– KNejad
Feb 8 at 9:07
add a comment |
1 Answer
1
active
oldest
votes
You may use a pager such as less:
program | less
or, if you also want to save the output to a file:
program | tee logfile | less
Within less, you may scroll back and forth, and you may get a tail -f behaviour by pressing F (press Ctrl+C to get out of this mode). You can even start it up in this mode:
program | tee logfile | less +F
To avoid possibly blocking the writes from you program, make the program redirect directly to an output file in the background and then use less on that:
program >logfile &
less logfile
See the manual for less on your system.
2
As far as I can tell,lessreads some amount of data at first, and then doesn't read more unless you scroll to the end. So there's a chance here that the main program will block on the pipeline if the output is very long. To deal with that, it's probably best to just direct the output to a file and runlesson that.
– ilkkachu
Feb 8 at 9:03
@ilkkachu Good point, added.
– Kusalananda
Feb 8 at 9:11
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f499414%2fi-have-a-long-running-script-but-want-to-be-able-to-scroll-through-the-stdout-ou%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You may use a pager such as less:
program | less
or, if you also want to save the output to a file:
program | tee logfile | less
Within less, you may scroll back and forth, and you may get a tail -f behaviour by pressing F (press Ctrl+C to get out of this mode). You can even start it up in this mode:
program | tee logfile | less +F
To avoid possibly blocking the writes from you program, make the program redirect directly to an output file in the background and then use less on that:
program >logfile &
less logfile
See the manual for less on your system.
2
As far as I can tell,lessreads some amount of data at first, and then doesn't read more unless you scroll to the end. So there's a chance here that the main program will block on the pipeline if the output is very long. To deal with that, it's probably best to just direct the output to a file and runlesson that.
– ilkkachu
Feb 8 at 9:03
@ilkkachu Good point, added.
– Kusalananda
Feb 8 at 9:11
add a comment |
You may use a pager such as less:
program | less
or, if you also want to save the output to a file:
program | tee logfile | less
Within less, you may scroll back and forth, and you may get a tail -f behaviour by pressing F (press Ctrl+C to get out of this mode). You can even start it up in this mode:
program | tee logfile | less +F
To avoid possibly blocking the writes from you program, make the program redirect directly to an output file in the background and then use less on that:
program >logfile &
less logfile
See the manual for less on your system.
2
As far as I can tell,lessreads some amount of data at first, and then doesn't read more unless you scroll to the end. So there's a chance here that the main program will block on the pipeline if the output is very long. To deal with that, it's probably best to just direct the output to a file and runlesson that.
– ilkkachu
Feb 8 at 9:03
@ilkkachu Good point, added.
– Kusalananda
Feb 8 at 9:11
add a comment |
You may use a pager such as less:
program | less
or, if you also want to save the output to a file:
program | tee logfile | less
Within less, you may scroll back and forth, and you may get a tail -f behaviour by pressing F (press Ctrl+C to get out of this mode). You can even start it up in this mode:
program | tee logfile | less +F
To avoid possibly blocking the writes from you program, make the program redirect directly to an output file in the background and then use less on that:
program >logfile &
less logfile
See the manual for less on your system.
You may use a pager such as less:
program | less
or, if you also want to save the output to a file:
program | tee logfile | less
Within less, you may scroll back and forth, and you may get a tail -f behaviour by pressing F (press Ctrl+C to get out of this mode). You can even start it up in this mode:
program | tee logfile | less +F
To avoid possibly blocking the writes from you program, make the program redirect directly to an output file in the background and then use less on that:
program >logfile &
less logfile
See the manual for less on your system.
edited Feb 8 at 9:13
answered Feb 8 at 8:31
KusalanandaKusalananda
131k17250409
131k17250409
2
As far as I can tell,lessreads some amount of data at first, and then doesn't read more unless you scroll to the end. So there's a chance here that the main program will block on the pipeline if the output is very long. To deal with that, it's probably best to just direct the output to a file and runlesson that.
– ilkkachu
Feb 8 at 9:03
@ilkkachu Good point, added.
– Kusalananda
Feb 8 at 9:11
add a comment |
2
As far as I can tell,lessreads some amount of data at first, and then doesn't read more unless you scroll to the end. So there's a chance here that the main program will block on the pipeline if the output is very long. To deal with that, it's probably best to just direct the output to a file and runlesson that.
– ilkkachu
Feb 8 at 9:03
@ilkkachu Good point, added.
– Kusalananda
Feb 8 at 9:11
2
2
As far as I can tell,
less reads some amount of data at first, and then doesn't read more unless you scroll to the end. So there's a chance here that the main program will block on the pipeline if the output is very long. To deal with that, it's probably best to just direct the output to a file and run less on that.– ilkkachu
Feb 8 at 9:03
As far as I can tell,
less reads some amount of data at first, and then doesn't read more unless you scroll to the end. So there's a chance here that the main program will block on the pipeline if the output is very long. To deal with that, it's probably best to just direct the output to a file and run less on that.– ilkkachu
Feb 8 at 9:03
@ilkkachu Good point, added.
– Kusalananda
Feb 8 at 9:11
@ilkkachu Good point, added.
– Kusalananda
Feb 8 at 9:11
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f499414%2fi-have-a-long-running-script-but-want-to-be-able-to-scroll-through-the-stdout-ou%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
Pipe it to less!
command | lessMouse may or may not work in less, make sure to use page up & down if not.– Kenneth B. Jensen
Feb 8 at 7:38
In addition to less (which is the best answer to this). I would also recommend screen or tmux which if configured correctly will let you scroll the output
– KNejad
Feb 8 at 9:07