Turing Completeness of GNU find: From mkdir-assisted Loops to Standalone Computation
Keigo Oka

TL;DR
This paper proves that the Unix command 'find' has Turing complete computational power through various configurations, revealing its unexpected complexity and capabilities beyond typical usage.
Contribution
It establishes three new Turing completeness results for 'find', showing its computational universality with different auxiliary tools and encoding techniques.
Findings
'find' + 'mkdir' is Turing complete using directory encoding.
GNU 'find' alone can simulate a two-counter machine.
Encoding regex patterns into directory names achieves Turing completeness without regex back-references.
Abstract
The Unix command \texttt{find} is among the first commands taught to beginners, yet remains indispensable for experienced engineers. In this paper, we demonstrate that \texttt{find} possesses unexpected computational power, establishing three Turing completeness results using the GNU implementation (a standard in Linux distributions). (1) \texttt{find} + \texttt{mkdir} (a system that has only \texttt{find} and \texttt{mkdir}) is Turing complete: by encoding computational states as directory paths and using regex back-references to copy substrings, we simulate 2-tag systems. (2) GNU \texttt{find} 4.9.0+ alone is Turing complete: by reading and writing to files during traversal, we simulate a two-counter machine without \texttt{mkdir}. (3) \texttt{find} + \texttt{mkdir} without regex back-references is still Turing complete: by a trick of encoding regex patterns directly into directory…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Security and Verification in Computing · History of Computing Technologies
