Writing Beautiful Command Line Programs
John Leach
@johnleach
June 2012
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 1 / 44
Writing Beautiful Command Line Programs John Leach @johnleach June - - PowerPoint PPT Presentation
Writing Beautiful Command Line Programs John Leach @johnleach June 2012 John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 1 / 44 Intro Text only interfaces Text user interfaces (TUI) Command line interfaces (CLI)
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 1 / 44
Intro
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 2 / 44
Intro: Text User Interfaces
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 3 / 44
Intro: Text User Interfaces
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 4 / 44
Intro: Text User Interfaces
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 5 / 44
Intro: Command Line Interfaces
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 6 / 44
Intro: Command Line Interfaces
$ brightbox-servers list id status type zone created_on image_id cloud_ip_ids name
active nano gb1-b 2010-12-03 img-9vxqi cip-8ks0v tor1 srv-v4rjq active mini gb1-b 2011-01-22 img-9vxqi cip-ye4ue ququ-web srv-uicfm active small gb1-a 2011-05-08 img-2ab98 cip-46qrn newsniffer srv-veehc active small gb1-a 2011-06-05 img-4gqhs cip-tqg43 web1 srv-crpty active nano gb1-a 2011-08-06 img-4gqhs cip-m1e98 humanweb srv-98rr6 active nano gb1-a 2011-11-25 img-3fsuy cip-8u19j claw srv-8hecw active mini gb1-a 2012-02-23 img-ytx00 cip-zd2me mycogen srv-aae27 inactive mini gb1-a 2012-04-11 img-715uq debiantest srv-qulcn active nano gb1-b 2012-05-09 img-9h5cv apacheds test srv-aa5jn active nano gb1-a 2012-05-09 img-9h5cv amq
Writing Beautiful Command Line Programs June 2012 7 / 44
Input and Output
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 8 / 44
Input and Output
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 9 / 44
Input and Output
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 10 / 44
The ls command
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 11 / 44
The ls command
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 12 / 44
The ls command
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 13 / 44
The ls command
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 14 / 44
The ls command
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 15 / 44
The ls command
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 16 / 44
The ls command
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 17 / 44
The ls command
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 18 / 44
The ls command
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 19 / 44
The terminal
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 20 / 44
The terminal
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 21 / 44
Tables
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 22 / 44
Tables
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 23 / 44
Tables
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 24 / 44
Whitespace
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 25 / 44
Whitespace
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 26 / 44
Whitespace
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 27 / 44
Configuration
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 28 / 44
Configuration
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 29 / 44
Configuration
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 30 / 44
Configuration files
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 31 / 44
Configuration files
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 32 / 44
Configuration files
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 33 / 44
Configuration files
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 34 / 44
Auto-completion
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 35 / 44
Auto-completion
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 36 / 44
Auto-completion
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 37 / 44
Documentation
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 38 / 44
Documentation
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 39 / 44
Misc
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 40 / 44
Misc
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 41 / 44
Misc
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 42 / 44
Summary
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 43 / 44
Summary
John Leach (@johnleach) Writing Beautiful Command Line Programs June 2012 44 / 44