Hacker News new | comments | ask | show | jobs | submit login

htop, tmux/screen, xargs, vim/emacs, rsync, rtorrent, ack are far common to everyone I know (direct and indirectly) that uses the command line.

Yep, lots of them are known to some subset of people. However, if people find one or two really useful ones that they didn't know about previously, the list has done its job.

For me, the major winner was dstat. Did not know about that tool - I've been struggling with the output of iostat. I'll also be experimenting with tmux as a screen replacement/alternative.

Yeah, most of these weren't anything new, but I hadn't heard about ack. Very useful.

+1 for tmux. It's an amazing improvement to screen.

How so? As far as I can tell, the only benefit it has over screen is faster vertically split windows.

Vertical splitting, server/client architecture (shared process), non-crap codebase if you want to dig into it, BSD licensed instead of GPL. I also have no charset/encoding issues with tmux and it doesn't eat my scrollback.

I'm sure the latter points can be remedied by config file settings for screen, but it's nice to use software that just works once in a while.

Vertical splitting screen has. Software architecture, perceived code quality, and BSD license are not features.

I'm glad that there is competition in this space, but you tmux evangelists need to realize that there is a lot of work that needs to be done before tmux is really "an amazing improvement to screen."

> Vertical splitting screen has.

Is vertical split in mainline screen now, or do you still have to patch it?

I use both tmux and screen but prefer tmux. Here are some (non-ideological) reasons:


The version available via git from savannah.gnu.org has the old vertical split patch plus a number of more recent scrolling performance fixes. Thanks for your list of non-ideological reasons, better notifications sound pretty compelling. I've been meaning to hack growl support into the OSX screen for a while now...

It's not in the version of screen that ships with OSX. The macports version of screen supposedly supports vertical splits with the +vertical_split variant, but that didn't work for me last time I tried. And that's how I discovered tmux.

It's not any one thing, but it's a lot of small things. When I last looked a couple of years ago, vertical split wasn't in screen mainline and so it was non-starter for me. Check out the list of tmux commands: it's a very powerful program that's continuously being enhanced.

Dunno if screen has this, but in tmux IIRC, you can have two different tmux servers running in totally different processes, and transfer a window from one server to another. That's pretty cool, imho. The graphical equivalent would be running two VNC servers, and moving an xterm window from one to the other.

Another cool thing: pipe the entire contents of a window in realtime to an arbitrary program.

sudo apt-get install ack

got me:

ack - Kanji code converter


On debian (and derivatives) the package is called "ack-grep"

I always install it by downloading standalone version from http://betterthangrep.com/ There is a command on the homepage you can copy paste to shell and execute.

Ack is simply too often used and I don't want to type ack-grep all the time.

  sudo dpkg-divert  --local --divert /usr/bin/ack --rename --add /usr/bin/ack-grep
That way you still get the benefits of the packaging system and you don't have to alias or create a /usr/local/bin symlink.

"man alias" ?

    $ man alias
    No manual entry for alias
    $ man bash

           Aliases allow a string to be substituted for a word when it is used as the first word of a simple command.
alias is not a standalone, it's part of the shell (in bash at least).

Sometimes there are aliases for bash built-ins that will take you to the manpage. For me, 'man alias' brings up:

Though, I'm using zsh which may be layering something in there.

Try "help alias"

Alias (though not 'man alias' :) ) could work. But I prefer my way (on server) because I have one thing less to worry about, namely putting 'alias ack=ack-grep' to .bash_aliases. Yeah, it's quick and dirty I guess...

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact