Re: UNIX A to Z List RFC

2013-02-07 Thread russell

On 02/02/2013 01:59 PM, Chris Hettrick wrote:

Hi Misc,

I made a list of the most classical UNIX commands / utilities from section one 
where there is only one per letter of the english alphabet (it's for my OpenBSD 
obsessed five year old son :) ). I know that this subject is very personal and 
steeped in tradition and history, so I was looking for your opinions and 
suggestions.
A quick note about the list: some hard choices were made concerning letters 
such as c, p, m, etc. For instance, kill(1) is not included for two reasons: it 
is included in the shell, and it needs ps(1) to be properly used (which 
conflicts with pwd(1) which I think is _more_ useful for a UNIX beginner). 
mv(1) was not included because a cp(1) and rm(1) can suffice.




heh there is a fortune for that

A is for awk, which runs like a snail, and
B is for biff, which reads all your mail.
C is for cc, as hackers recall, while
D is for dd, the command that does all.
E is for emacs, which rebinds your keys, and
F is for fsck, which rebuilds your trees.
G is for grep, a clever detective, while
H is for halt, which may seem defective.
I is for indent, which rarely amuses, and
J is for join, which nobody uses.
K is for kill, which makes you the boss, while
L is for lex, which is missing from DOS.
M is for more, from which less was begot, and
N is for nice, which it really is not.
O is for od, which prints out things nice, while
P is for passwd, which reads in strings twice.
Q is for quota, a Berkeley-type fable, and
R is for ranlib, for sorting ar table.
S is for spell, which attempts to belittle, while
T is for true, which does very little.
U is for uniq, which is used after sort, and
V is for vi, which is hard to abort.
W is for whoami, which tells you your name, while
X is, well, X, of dubious fame.
Y is for yes, which makes an impression, and
Z is for zcat, which handles compression.
-- THE ABC'S OF UNIX

which got me thinking and I came with this terrifying monstrosity

find $(echo ${PATH} | tr ':' ' ') -perm -0100 -maxdepth 1 ! -type d \
| sed -E -f basename.sed \
| awk -f tag.awk \
| sort -n -k 1,1 \
| sort -u -k 2,2 \
| awk -f display.awk

with
basename.sed:
s/.*\/([^\/]*)$/\1/

#much faster then my first attempt "| xargs -n 1 basename"

tag.awk:
{
printf "%s %s %s\n", int(rand() * 1000), substr($0, 1, 1), $0
}

display.awk:
{
man_cmd = "man -f "$3" | tail -n 1"
man_cmd | getline man_str
printf "%s is for %s\n", $2, man_str
}

Now, the prose is a little off, but I blame the documentation writers.
I am certain mdoc(7) has a section about the rhyming  characteristics 
needed for .Nm on alternate lettered commands.


And let me just say I was quite pleased with my
"random pick one per letter group" system(the tag-sort nonsense)
First attempt was with awk associative arrays and that was getting nasty 
quick.


So I just wanted to thank you for reminding me how much fun unix can be.
and I wish you and your son many hours of happy hacking togther.



Re: UNIX A to Z List RFC

2013-02-06 Thread James Griffin
--> William Boshuck  [2013-02-04 14:25:04 -0500]:

> On Mon, Feb 04, 2013 at 10:27:42AM +, James Griffin wrote:
> > 
> > I think vi(1) - not vim - would be a great tool for him to
> > learn. A real hardcore UNIX editor,
> 
> ed(1)

Yes, absolutely. There was a thread on this list recently about
bsd.rd not having vi(1) and learning ed(1) is certainly a really
useful tool to learn. It's not that hard either, if learning vi(1)
also.

-- 
Primary Key: 4096R/1D31DC38 2011-12-03
Key Fingerprint: A4B9 E875 A18C 6E11 F46D  B788 BEE6 1251 1D31 DC38



Re: UNIX A to Z List RFC

2013-02-04 Thread Chris Hettrick
On 2013-02-04, at 15:33, bofh  wrote:

On Sat, Feb 2, 2013 at 9:49 PM, Chris Hettrick
 wrote:
> When he was four I gave him an old apple iBook G4 laptop, wiped OSX and put 
> on OpenBSD instead. I showed him how to log in and basic commands such as 
> cal, man, date, cat, ls, cd, etc and I answer every question he has. If I 
> don't know the answer, we will research the answer together and, thanks to 
> OpenBSD's excellent man pages, we can get the answer pretty quick!
> I want to give him a nice A to Z list with the classic UNIX commands for him 
> to learn more. He is now learning some vi and doing pipes and redirection. He 
> doesn't yet know about X, so it is all shell. Small steps, but he already 
> knows more, and can do more, than the average windows user.
> He says "Thanks for my OpenBSD!"
> I am *very* proud.

There's the "learn" - it's a bit out of date, but pretty much walks
you through most everything.  That's how I got started.  You can find
it here:
http://www.cs.bell-labs.com/who/bwk/index.html

Turn it into a port if you have time :)


-- 

I will take a look at that. If I can get it to run then that will be a huge 
bonus.

Chris



Re: UNIX A to Z List RFC

2013-02-04 Thread Chris Hettrick
On 2013-02-04, at 13:09, Matthias Appel  wrote:

Am 04.02.2013 20:25, schrieb William Boshuck:
> On Mon, Feb 04, 2013 at 10:27:42AM +, James Griffin wrote:
>> I think vi(1) - not vim - would be a great tool for him to
>> learn. A real hardcore UNIX editor,
> ed(1)
> 
emacs(1) would be able  to replace half of the programs on this A to Z list.


Thank you all for your excellent responses! I think I will stick with vi(1) 
mainly because it is the only relevant V from man 1 (and is what I often use so 
I am more familiar with it). I don't think I want to introduce him to emacs(1) 
for a while. There is mg(1) as well if need be.
I do think that at(1) is more suiting than awk(1) for right now in his 
learning. 

I forgot to mention that I want to teach him the UNIX philosophy (obviously) 
such as programs should do one thing and do it well; use text streams; connect 
the output of one program to the input of the next (pipelines); most programs 
are used as filters; and so on. He is already getting the hang of this, using 
redirection, pipes, suspending and resuming processes, etc.

@elijah thanks for the man(1) and mail(1) suggestions. I would use man(1) if it 
wasn't for help(1), and that he already knows it off by heart (yet again due to 
OpenBSD).
I kept the list sans net for the sake of simplicity, except I _had_ to keep 
netcat(1). We will have some fun with it. (Once he is up to speed with the 
basics then it will be lots of net. It's not UNIX without the net.)

Thanks again for all the help everyone!

Chris



Re: UNIX A to Z List RFC

2013-02-04 Thread bofh
On Sat, Feb 2, 2013 at 9:49 PM, Chris Hettrick
 wrote:
> When he was four I gave him an old apple iBook G4 laptop, wiped OSX and put 
> on OpenBSD instead. I showed him how to log in and basic commands such as 
> cal, man, date, cat, ls, cd, etc and I answer every question he has. If I 
> don't know the answer, we will research the answer together and, thanks to 
> OpenBSD's excellent man pages, we can get the answer pretty quick!
> I want to give him a nice A to Z list with the classic UNIX commands for him 
> to learn more. He is now learning some vi and doing pipes and redirection. He 
> doesn't yet know about X, so it is all shell. Small steps, but he already 
> knows more, and can do more, than the average windows user.
> He says "Thanks for my OpenBSD!"
> I am *very* proud.

There's the "learn" - it's a bit out of date, but pretty much walks
you through most everything.  That's how I got started.  You can find
it here:
http://www.cs.bell-labs.com/who/bwk/index.html

Turn it into a port if you have time :)


-- 
http://www.glumbert.com/media/shift
http://www.youtube.com/watch?v=tGvHNNOLnCk
"This officer's men seem to follow him merely out of idle curiosity."
-- Sandhurst officer cadet evaluation.
"Securing an environment of Windows platforms from abuse - external or
internal - is akin to trying to install sprinklers in a fireworks
factory where smoking on the job is permitted."  -- Gene Spafford
learn french:  http://www.youtube.com/watch?v=30v_g83VHK4



Re: UNIX A to Z List RFC

2013-02-04 Thread Matthias Appel

Am 04.02.2013 20:25, schrieb William Boshuck:

On Mon, Feb 04, 2013 at 10:27:42AM +, James Griffin wrote:

I think vi(1) - not vim - would be a great tool for him to
learn. A real hardcore UNIX editor,

ed(1)


emacs(1) would be able  to replace half of the programs on this A to Z list.



Re: UNIX A to Z List RFC

2013-02-04 Thread William Boshuck
On Mon, Feb 04, 2013 at 10:27:42AM +, James Griffin wrote:
> 
> I think vi(1) - not vim - would be a great tool for him to
> learn. A real hardcore UNIX editor,

ed(1)



Re: UNIX A to Z List RFC

2013-02-04 Thread ag@gmail
Very interesting. As a note, my daughter around age 3, always made me reboot 
the laptop as she liked the white on blue scrolling (she actually clapped as 
the lines scrolled by). I have done it 10 to 12 times at a stretch. Her next 
step was to make me login and type on the keyboard randomly and get amused as 
it made beeping noises as well as spew something back at her (she termed it as 
"working" on the laptop).

Liked the list though. Thanks.

-ag

--
sent via 100% recycled electrons from my mobile command center.

On Feb 2, 2013, at 1:59 PM, Chris Hettrick  
wrote:

> Hi Misc,
> 
> I made a list of the most classical UNIX commands / utilities from section 
> one where there is only one per letter of the english alphabet (it's for my 
> OpenBSD obsessed five year old son :) ). I know that this subject is very 
> personal and steeped in tradition and history, so I was looking for your 
> opinions and suggestions.
> A quick note about the list: some hard choices were made concerning letters 
> such as c, p, m, etc. For instance, kill(1) is not included for two reasons: 
> it is included in the shell, and it needs ps(1) to be properly used (which 
> conflicts with pwd(1) which I think is _more_ useful for a UNIX beginner). 
> mv(1) was not included because a cp(1) and rm(1) can suffice.
> 
> This is the list:
> 
> awk
> bc
> cp
> date
> echo
> find
> grep
> head
> id
> jot
> ksh (as a superset of sh)
> ls
> more
> nc
> od
> pwd
> quota
> rm
> sort
> tail
> uniq
> vi
> wc
> xargs
> yes
> zcat
> 
> Any opinions, suggestions?
> Thanks!
> 
> Chris



Re: UNIX A to Z List RFC

2013-02-04 Thread Shoufu Luo
Yes! Agree!

Shoufu

Live, Love, Laugh

On Feb 4, 2013, at 5:27, James Griffin  wrote:

> --> Chris Hettrick  [2013-02-02 14:59:15 
> -0700]:
> 
>> Hi Misc,
>> 
>> I made a list of the most classical UNIX commands / utilities from section 
>> one where there is only one per letter of the english alphabet (it's for my 
>> OpenBSD obsessed five year old son :) ). I know that this subject is very 
>> personal and steeped in tradition and history, so I was looking for your 
>> opinions and suggestions.
>> A quick note about the list: some hard choices were made concerning letters 
>> such as c, p, m, etc. For instance, kill(1) is not included for two reasons: 
>> it is included in the shell, and it needs ps(1) to be properly used (which 
>> conflicts with pwd(1) which I think is _more_ useful for a UNIX beginner). 
>> mv(1) was not included because a cp(1) and rm(1) can suffice.
> 
> I think vi(1) - not vim - would be a great tool for him to learn. A real 
> hardcore UNIX editor, will certainly come in handy.
> 
> -- 
> Primary Key: 4096R/1D31DC38 2011-12-03
> Key Fingerprint: A4B9 E875 A18C 6E11 F46D  B788 BEE6 1251 1D31 DC38



Re: UNIX A to Z List RFC

2013-02-04 Thread James Griffin
--> Chris Hettrick  [2013-02-02 14:59:15 
-0700]:

> Hi Misc,
> 
> I made a list of the most classical UNIX commands / utilities from section 
> one where there is only one per letter of the english alphabet (it's for my 
> OpenBSD obsessed five year old son :) ). I know that this subject is very 
> personal and steeped in tradition and history, so I was looking for your 
> opinions and suggestions.
> A quick note about the list: some hard choices were made concerning letters 
> such as c, p, m, etc. For instance, kill(1) is not included for two reasons: 
> it is included in the shell, and it needs ps(1) to be properly used (which 
> conflicts with pwd(1) which I think is _more_ useful for a UNIX beginner). 
> mv(1) was not included because a cp(1) and rm(1) can suffice.

I think vi(1) - not vim - would be a great tool for him to learn. A real 
hardcore UNIX editor, will certainly come in handy.

-- 
Primary Key: 4096R/1D31DC38 2011-12-03
Key Fingerprint: A4B9 E875 A18C 6E11 F46D  B788 BEE6 1251 1D31 DC38



Re: UNIX A to Z List RFC

2013-02-04 Thread Florenz Kley
On 02.02.2013, at 22:59, Chris Hettrick wrote:
> vi

oh wow :-) but isn't vi a rabbit hole in it's own right? Suggesting vmstat 
instead, in keeping with the "command" nature of your list

fl



Re: UNIX A to Z List RFC

2013-02-03 Thread m brandenberg

On Sat, 2 Feb 2013, Chris Hettrick wrote:


This is the list:
...
date


Baby-with-nail-gun version:

  dd

--
Monty Brandenberg



Re: UNIX A to Z List RFC

2013-02-03 Thread Elijah Buck
> more

I like it. I might replace more with man (documentation!) or mail
(communicating with the outside world!).

Elijah



Re: UNIX A to Z List RFC

2013-02-02 Thread Chris Hettrick
When he was four I gave him an old apple iBook G4 laptop, wiped OSX and put on 
OpenBSD instead. I showed him how to log in and basic commands such as cal, 
man, date, cat, ls, cd, etc and I answer every question he has. If I don't know 
the answer, we will research the answer together and, thanks to OpenBSD's 
excellent man pages, we can get the answer pretty quick!
I want to give him a nice A to Z list with the classic UNIX commands for him to 
learn more. He is now learning some vi and doing pipes and redirection. He 
doesn't yet know about X, so it is all shell. Small steps, but he already knows 
more, and can do more, than the average windows user.
He says "Thanks for my OpenBSD!"
I am *very* proud.

Chris


On 2013-02-02, at 19:00, Maximo Pech  wrote:

I'm more interested in the story of how the 5yo became openbsd obsessed.

El s�bado, 2 de febrero de 2013, Chris Hettrick escribi�:

> Hi Misc,
> 
> I made a list of the most classical UNIX commands / utilities from section
> one where there is only one per letter of the english alphabet (it's for my
> OpenBSD obsessed five year old son :) ). I know that this subject is very
> personal and steeped in tradition and history, so I was looking for your
> opinions and suggestions.
> A quick note about the list: some hard choices were made concerning
> letters such as c, p, m, etc. For instance, kill(1) is not included for two
> reasons: it is included in the shell, and it needs ps(1) to be properly
> used (which conflicts with pwd(1) which I think is _more_ useful for a UNIX
> beginner). mv(1) was not included because a cp(1) and rm(1) can suffice.
> 
> This is the list:
> 
> awk
> bc
> cp
> date
> echo
> find
> grep
> head
> id
> jot
> ksh (as a superset of sh)
> ls
> more
> nc
> od
> pwd
> quota
> rm
> sort
> tail
> uniq
> vi
> wc
> xargs
> yes
> zcat
> 
> Any opinions, suggestions?
> Thanks!
> 
> Chris



Re: UNIX A to Z List RFC

2013-02-02 Thread Chris Hettrick
[*] All the above.

On 2013-02-02, at 19:23, Erling Westenvik  wrote:

On Sat, Feb 02, 2013 at 08:00:11PM -0600, Maximo Pech wrote:
> I'm more interested in the story of how the 5yo became openbsd obsessed.

Probably a multiple choise answer:

[ ] Because of OpenBSD's acclaimed user-friendliness?
[ ] Because of OpenBSD's large user base?
[ ] Like father, like son?

> 
> El s?bado, 2 de febrero de 2013, Chris Hettrick escribi?:
> 
>> Hi Misc,
>> 
>> I made a list of the most classical UNIX commands / utilities from section
>> one where there is only one per letter of the english alphabet (it's for my
>> OpenBSD obsessed five year old son :) ). I know that this subject is very
>> personal and steeped in tradition and history, so I was looking for your
>> opinions and suggestions.
>> A quick note about the list: some hard choices were made concerning
>> letters such as c, p, m, etc. For instance, kill(1) is not included for two
>> reasons: it is included in the shell, and it needs ps(1) to be properly
>> used (which conflicts with pwd(1) which I think is _more_ useful for a UNIX
>> beginner). mv(1) was not included because a cp(1) and rm(1) can suffice.
>> 
>> This is the list:
>> 
>> awk
>> bc
>> cp
>> date
>> echo
>> find
>> grep
>> head
>> id
>> jot
>> ksh (as a superset of sh)
>> ls
>> more
>> nc
>> od
>> pwd
>> quota
>> rm
>> sort
>> tail
>> uniq
>> vi
>> wc
>> xargs
>> yes
>> zcat
>> 
>> Any opinions, suggestions?
>> Thanks!
>> 
>> Chris



Re: UNIX A to Z List RFC

2013-02-02 Thread Erling Westenvik
On Sat, Feb 02, 2013 at 08:00:11PM -0600, Maximo Pech wrote:
> I'm more interested in the story of how the 5yo became openbsd obsessed.

Probably a multiple choise answer:

[ ] Because of OpenBSD's acclaimed user-friendliness?
[ ] Because of OpenBSD's large user base?
[ ] Like father, like son?

> 
> El s?bado, 2 de febrero de 2013, Chris Hettrick escribi?:
> 
> > Hi Misc,
> >
> > I made a list of the most classical UNIX commands / utilities from section
> > one where there is only one per letter of the english alphabet (it's for my
> > OpenBSD obsessed five year old son :) ). I know that this subject is very
> > personal and steeped in tradition and history, so I was looking for your
> > opinions and suggestions.
> > A quick note about the list: some hard choices were made concerning
> > letters such as c, p, m, etc. For instance, kill(1) is not included for two
> > reasons: it is included in the shell, and it needs ps(1) to be properly
> > used (which conflicts with pwd(1) which I think is _more_ useful for a UNIX
> > beginner). mv(1) was not included because a cp(1) and rm(1) can suffice.
> >
> > This is the list:
> >
> > awk
> > bc
> > cp
> > date
> > echo
> > find
> > grep
> > head
> > id
> > jot
> > ksh (as a superset of sh)
> > ls
> > more
> > nc
> > od
> > pwd
> > quota
> > rm
> > sort
> > tail
> > uniq
> > vi
> > wc
> > xargs
> > yes
> > zcat
> >
> > Any opinions, suggestions?
> > Thanks!
> >
> > Chris



Re: UNIX A to Z List RFC

2013-02-02 Thread Maximo Pech
I'm more interested in the story of how the 5yo became openbsd obsessed.

El sábado, 2 de febrero de 2013, Chris Hettrick escribió:

> Hi Misc,
>
> I made a list of the most classical UNIX commands / utilities from section
> one where there is only one per letter of the english alphabet (it's for my
> OpenBSD obsessed five year old son :) ). I know that this subject is very
> personal and steeped in tradition and history, so I was looking for your
> opinions and suggestions.
> A quick note about the list: some hard choices were made concerning
> letters such as c, p, m, etc. For instance, kill(1) is not included for two
> reasons: it is included in the shell, and it needs ps(1) to be properly
> used (which conflicts with pwd(1) which I think is _more_ useful for a UNIX
> beginner). mv(1) was not included because a cp(1) and rm(1) can suffice.
>
> This is the list:
>
> awk
> bc
> cp
> date
> echo
> find
> grep
> head
> id
> jot
> ksh (as a superset of sh)
> ls
> more
> nc
> od
> pwd
> quota
> rm
> sort
> tail
> uniq
> vi
> wc
> xargs
> yes
> zcat
>
> Any opinions, suggestions?
> Thanks!
>
> Chris



UNIX A to Z List RFC

2013-02-02 Thread Chris Hettrick
Hi Misc,

I made a list of the most classical UNIX commands / utilities from section one 
where there is only one per letter of the english alphabet (it's for my OpenBSD 
obsessed five year old son :) ). I know that this subject is very personal and 
steeped in tradition and history, so I was looking for your opinions and 
suggestions.
A quick note about the list: some hard choices were made concerning letters 
such as c, p, m, etc. For instance, kill(1) is not included for two reasons: it 
is included in the shell, and it needs ps(1) to be properly used (which 
conflicts with pwd(1) which I think is _more_ useful for a UNIX beginner). 
mv(1) was not included because a cp(1) and rm(1) can suffice.

This is the list:

awk
bc
cp
date
echo
find
grep
head
id
jot
ksh (as a superset of sh)
ls
more
nc
od
pwd
quota
rm
sort
tail
uniq
vi
wc
xargs
yes
zcat

Any opinions, suggestions?
Thanks!

Chris