25 Searching Knowledge: From find to Full-Text Search
Guiding Question: How do you navigate a library too large to remember?
As collections of digital information grow, a familiar problem begins to emerge.
We know the information exists.
We simply cannot remember where we placed it.
Was it in the Documents directory?
Inside an old project?
Buried within a collection of notes?
Stored somewhere under a different filename?
Searching therefore becomes more than finding words inside documents.
Sometimes we must first locate the documents themselves.
The Unix tradition answers this challenge through a collection of complementary tools, each addressing a different aspect of discovery.
25.1 Searching for Files
One of Unix’s oldest search tools is find.
Rather than examining the contents of files, find explores the file system itself.
It answers questions such as:
- Which files were modified today?
- Which files end with
.qmd? - Which directories contain Markdown documents?
- Which files exceed a particular size?
For decades, find has remained one of the most dependable companions of Unix users.
Its syntax rewards patience, and its expressive power continues to impress.
Like many classic Unix utilities, it is available on virtually every Unix-like operating system.
25.2 Modern File Discovery
As computing environments evolved, newer search tools appeared.
One popular example is fd.
Inspired by the philosophy of find, fd offers a more approachable command-line interface while preserving much of the original utility’s expressive power.
It searches recursively by default, respects common ignore files, and often requires less typing for everyday tasks.
Many developers appreciate its speed and sensible defaults.
Others continue to rely on find because of its universal availability and long-established behaviour.
The experienced textsmith understands both.
One represents tradition.
The other demonstrates how that tradition continues to evolve.
25.3 File Search and Content Search
It is useful to distinguish two different kinds of searching.
find and fd answer:
“Where is the file?”
grep and ripgrep answer:
“Where is the information inside the file?”
These questions complement rather than replace one another.
A typical workflow might first locate a collection of files before searching their contents.
Discovery often proceeds in stages.
25.4 Beyond Filenames
Modern desktop search systems extend this idea further.
Rather than relying solely on filenames or directory structures, they build indexes of document contents.
This allows users to search by ideas rather than locations.
The precise filename becomes less important.
The content itself becomes the key.
This shift reflects another recurring theme of this primer.
Meaning matters more than storage location.
25.5 Indexing Knowledge
Full-text search systems achieve their remarkable speed through indexing.
Instead of examining every document during each search, they prepare an organized catalogue in advance.
Queries can then be answered almost instantly.
The experience resembles consulting the index of a book rather than reading every page from beginning to end.
Large collections become surprisingly manageable.
25.6 Desktop Search
Many operating systems now include desktop search facilities.
Linux users also have access to mature indexing tools such as Recoll, which can search a wide variety of document formats while preserving the openness valued by the Unix tradition.
Whether searching plain text, PDFs, office documents, or ebooks, these systems allow personal libraries to become genuinely searchable.
For the textsmith, they transform collections of files into collections of knowledge.
25.7 The Search Mindset
One of the most important habits cultivated by Unix is the understanding that information need not be remembered perfectly.
The computer remembers.
The textsmith asks good questions.
Instead of memorizing filenames, directories, or exact locations, experienced users increasingly rely upon search.
Searching becomes a natural extension of memory.
25.8 Why Search Matters
As our personal libraries continue to grow, searching becomes less a convenience than a necessity.
Thousands of notes.
Decades of correspondence.
Entire software projects.
Research archives.
Books.
Articles.
Documentation.
Without effective search, these collections gradually become inaccessible despite remaining physically present.
Search restores them to usefulness.
25.9 Lessons for the Textsmith
The textsmith gradually learns that information exists at several levels.
Sometimes we seek a file.
Sometimes a line within that file.
Sometimes a pattern.
Sometimes a relationship.
Modern search tools support each of these different forms of inquiry.
The result is not merely faster searching.
It is a fundamentally different relationship with knowledge itself.
Large collections cease to be intimidating.
They become searchable conversations waiting to happen.
25.10 Key Ideas
- File search and content search solve different but complementary problems.
findremains the classic Unix tool for locating files.- fd modernizes file searching while preserving the Unix philosophy.
- Desktop search systems use indexes to search document contents rapidly.
- Full-text search emphasizes ideas rather than filenames.
- Effective search transforms large collections into accessible knowledge.
- The textsmith relies upon thoughtful questions rather than perfect memory.
In the final chapter of this part, we bring together everything we have learned.
How do all these tools become a single philosophy of work?
There we discover that the true power of text processing lies not in individual commands, but in the habits of mind they cultivate.