---
created_at: '2015-10-02T12:13:44.000Z'
title: The History of the Design of Unix’s Find Command (1995)
url: http://doc.cat-v.org/unix/find-history
author: pmarin
points: 58
story_text: 
comment_text: 
num_comments: 73
story_id: 
story_title: 
story_url: 
parent_id: 
created_at_i: 1443788024
_tags:
- story
- author_pmarin
- story_10317964
objectID: '10317964'

---
[Source](http://doc.cat-v.org/unix/find-history "Permalink to The History of the Design of Unix's Find Command")

# The History of the Design of Unix's Find Command

[quotes][1] | [docs][2] | [repo][3] | [golang][4] | [sam][5] | [man][6] | [acme][7] | [Glenda][8] | [9times][9] | [harmful][10] | [9P][11] | [cat-v.org][12]

Related sites: | [site updates][13] | [site map][14] | 

# [/sys/doc/ Documentation archive][15]

  

Sections:

* ›[ bell labs/][16]
* ›[ economics/][17]
* ›[ feynman/][18]
* ›[ henry spencer/][19]
* ›[ inferno/][20]
* ›[ plan 9/][21]
* ›[ political science/][22]
* ›[ programming/][23]
* »[_ unix/_][24]
*     * ›[ exit mpx/][25]
    * »[_ find history_][26]
    * ›[ for poets/][27]
    * ›[ oral history/][28]
    * ›[ pipes/][29]
    * ›[ proc/][30]
    * ›[ typesetting/][31]
    * ›[ unix before berkeley/][32]
    * ›[ unix reader/][33]
    * ›[ v0/][34]
    * ›[ v10/][35]
    * ›[ v6/][36]
    * ›[ v8/][37]
* ›[ xml/][38]

# The History of the Design of Unix’s Find Command

The full explanation for [find(1)][39]’s bizarre design is still a mystery, but this fun little story, and [Dennis Ritchie][40]’s answer, shines some light on it:
    
    
    Dear Mr. Ritchie,
    
     I heard a story from a guy in a UNIX sysadmin class, and was wondering
    if it was true.
    
      The guy in this class told of a co-worker of his who was in a UNIX training
    class that got involved in UNIX bashing.  You know, like why is the -i option
    for grep mean ignore case, and the -f option for sort mean ignore case, and so
    on.  Well, the instructor of the course decided to chime in and said something
    like this:
    
      "Here's another good example of this problem with UNIX.  Take the find
    command for example.  WHAT idiot would program a command so that you have to
    say -print to print the output to the screen.  What IDIOT would make a command
    like this and not have the output go to the screen by default."
    
       And the instructor went on and on, and vented his spleen...
    
       The next morning, one of the ladies in the class raised here hand, the
    instructor called on her, and she proceeded to say something like this:
    
       "The reason my father programmed the find command that way, was because he
    was told to do so in his specifications."
    
      I've always wondered if this story was true, and who it was who wrote
    the find command.  In the Oct. 94 issue of Byte they had an article on "UNIX
    at 25" which said that Dick Haight wrote the find command along with cpio,
    expr, and a lot of the include files for Version 7 of UNIX.  I don't know
    where to send this message directly to Dick Haight, and I would appreciate it
    if you would forward it to him, if you are able.  If you can't, well then I
    hope you liked the story.  I got your mail address from "The UNIX Haters
    Handbook", and would like to add this to your Anti-Forward:
    
       Until that frozen day in HELL occurs, and the authors of that book write
       a better operating system, I'm sticking with UNIX.
    
                                               Sincerely,
    
    
                                               Dan Bacus
                                               nsc@edge.ercnet.com.
    
    
    --------------------------
    
    From daemon Thu Feb  9 02:22 GMT 1995
    Return-Path: dmr@plan9.research.att.com
    Received: from plan9.research.att.com ([192.20.225.252]) by nscsgi.nscedu.com (8.6
    From: dmr@plan9.research.att.com
    Message-Id:  <199502090222.CAA04283@nscsgi.nscedu.com>
    To: danb
    Date: Wed, 8 Feb 1995 21:20:30 EST
    Subject: Re: story
    Content-Type: text
    Content-Length: 1031
    Status: RO
    
    Thanks for the story and the note.  Dick Haight was in what was
    then probably called USG, for Unix Support Group (the name changed
    as they grew).  Their major role was to support the system withing
    AT&T, and later to turn it into a real commercial product.  He was indeed
    one of the major people behind find and cpio.  This group was distinct from
    the research area where the system originated, and we were somewhat put
    off by the syntax of their things.  However, they were clearly quite useful,
    and they were accepted.
    
    Dick left AT&T some years ago and I think he's somewhere in South 
    Carolina, but I don't have an e-mail address for him.  I'm not sure what
    he thinks of find and cpio today.  That group always was more concerned
    with specifications and the like than we were, but I don't know enough
    about their internal interactions to judge how these commands evolved.
    All of your story is consistent with what I know up to the punchline,
    about which I can't render an opinion!
    
    Thanks again for your note.
    
           Dennis
    

* * *

Emails found at <http://johnmeister.com/CS/UNIX/letters.html>

  

[Powered by werc][41]

[1]: http://quotes.cat-v.org
[2]: http://doc.cat-v.org
[3]: http://repo.cat-v.org
[4]: http://go-lang.cat-v.org
[5]: http://sam.cat-v.org
[6]: http://man.cat-v.org
[7]: http://acme.cat-v.org
[8]: http://glenda.cat-v.org
[9]: http://ninetimes.cat-v.org
[10]: http://harmful.cat-v.org
[11]: http://9p.cat-v.org/
[12]: http://cat-v.org
[13]: http://cat-v.org/update_log
[14]: http://doc.cat-v.org/sitemap
[15]: http://doc.cat-v.org/
[16]: http://doc.cat-v.org/bell_labs/
[17]: http://doc.cat-v.org/economics/
[18]: http://doc.cat-v.org/feynman/
[19]: http://doc.cat-v.org/henry_spencer/
[20]: http://doc.cat-v.org/inferno/
[21]: http://doc.cat-v.org/plan_9/
[22]: http://doc.cat-v.org/political_science/
[23]: http://doc.cat-v.org/programming/
[24]: http://doc.cat-v.org/unix/
[25]: http://doc.cat-v.org/unix/exit_mpx/
[26]: http://doc.cat-v.org/unix/find-history
[27]: http://doc.cat-v.org/unix/for-poets/
[28]: http://doc.cat-v.org/unix/oral-history/
[29]: http://doc.cat-v.org/unix/pipes/
[30]: http://doc.cat-v.org/unix/proc/
[31]: http://doc.cat-v.org/unix/typesetting/
[32]: http://doc.cat-v.org/unix/unix-before-berkeley/
[33]: http://doc.cat-v.org/unix/unix-reader/
[34]: http://doc.cat-v.org/unix/v0/
[35]: http://doc.cat-v.org/unix/v10/
[36]: http://doc.cat-v.org/unix/v6/
[37]: http://doc.cat-v.org/unix/v8/
[38]: http://doc.cat-v.org/xml/
[39]: http://man.cat-v.org/unix_8th/1/find
[40]: http://genius.cat-v.org/dennis-ritchie/
[41]: http://werc.cat-v.org/

