How can I stop cat output immediately despite massive output?
You can run ctl-z to background it and then kill the PID.
$ ctl z (to background it)
$ kill -9 {pid} 'of process that just got backgrounded'
Often the data has already been sent to the display, and the "long time" is the terminal trying to display the data. Doing anything to the task won't help (i.e., Ctrl+Z or Ctrl+C), you'll need either a faster terminal or something to buffer the data.
I pipe large outputs through less
and tail
depending on whether I want to view the top or the bottom of the file, since both allow me to easily control the amount of data being sent to the terminal and close the program if it's not what I want.
You should be able to pipe it to more
or less
cat large_file.txt | less
At which point you could page through the answer and break out with a :q
You could also use grep
to help sort through your answer if you're looking for a specific error/problem.
http://www.westwind.com/reference/os-x/commandline/pipes.html
Switching to a different Terminal (via CTRL+F1 to F6 in text mode, or opening a new window in screen
via CTRL+A,C) after having pressed either CTRL+Z or CTRL+C will cause the original terminal to skip trying to do all the linefeeds and directly jump to the last line of output in a shorter time