Limit output of all Linux commands

前端 未结 5 1108
没有蜡笔的小新
没有蜡笔的小新 2021-01-18 19:23

I\'m looking for a way to limit the amount of output produced by all command line programs in Linux, and preferably tell me when it is limited.

I\'m working over a s

相关标签:
5条回答
  • 2021-01-18 20:02

    Making aliases of all your commands would be a good start. Something like

    alias lm="ls -al | more"
    alias cam="cat $@ | more"
    
    0 讨论(0)
  • 2021-01-18 20:04

    this makes me think of bash-completion.

    As complete command in bash enables you to specify handler when a program is not found,

    what about write your own handler and clear $PATH, in order to execute every command with redirection to a filtering pipe?

    #Did not try it myself.

    0 讨论(0)
  • 2021-01-18 20:06

    Assuming you're working over a network connection, like ssh, into a remote server then try piping the output of the command to less. That way you can manage and navigate the output from the program on the server better. Use 'j' and 'k' to move up and down per line and 'ctrl-u' and 'ctrl-d' to move 1/2 a page up and down. When you do this only the relevant text (i.e. what fits on the screen) will be transmitted over the network.

    0 讨论(0)
  • 2021-01-18 20:11

    I don't know about the general case, but for each well-known command (cat, ls, find?) you could do the following:

    • hardlink a copy to the existing utility
    • write a tiny bash function that calls the utility and pipes to head (or wc, or whatever)
    • alias the name of the utility to call your function.

    So along these lines (utterly untested):

    $ ln `which cat` ~/bin/old_cat
    
    function trunc_cat () {
       `old_cat $@ | head -n 100`
    }
    
    alias cat=trunc_cat
    
    0 讨论(0)
  • 2021-01-18 20:21

    Perhaps using screen could help?

    0 讨论(0)
提交回复
热议问题