Hacker News new | ask | show | jobs
by ape4 1431 days ago
Ah the Unix philosophy. `man ssh' gives `ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-J destination] [-L address] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address] [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]] destination [command]`
5 comments

Wasn't the "Unix philosophy" explicitly formulated by Rob Kernighan in 1983 in opposition to this kind of growth? I mean, there's a whole website of Unix purists named after it:

'UNIX Style, or cat -v Considered Harmful' http://harmful.cat-v.org/cat-v/

The Unix philosophy is to do one thing and do it well. The ssh command wraps the large and complicated ssh protocol - I would say it does one complicated job and does it well.
Also, however convenient or well-implemented it is, SSHv2 the protocol itself is very much an all-singing, all-dancing monolith that’s pretty much doomed to have an Implementation Of Unusual Size. The Plan 9 client[1] has less knobs but still quite a few, and it doesn’t even do forwarding as far as I can see.

[1] https://plan9.io/magic/man2html/1/ssh2

> Rob Kernighan

Is this a typo or a proposed Bourbakism?

I can top that: `man read` gives:

BASH_BUILTINS(1) General Commands Manual BASH_BUILTINS(1)

NAME bash, :, ., [, alias, bg, bind, break, builtin, caller, cd, command, compgen, complete, compopt, continue, declare, dirs, disown, echo, enable, eval, exec, exit, export, false, fc, fg, getopts, hash, help, history, jobs, kill, let, local, logout, mapfile, popd, printf, pushd, pwd, read, readonly, return, set, shift, shopt, source, suspend, test, times, trap, true, type, typeset, ulimit, umask, unalias, unset, wait - bash built-in commands, see bash(1)

Never mind ssh(1), ls(1) pretty much uses all of [A-Za-z] as its options plus -1, but still no -0 option. What I'm personally really looking forward for is -2 option, whatever it would do.
Did you mean `ssh --help`?

`man ssh` gives me detailed descriptions of all flags.

Works quite well in conjunction with Googling "how do I do X in ssh stackoverflow".
You can do X. X Window forwarding ;)