{"id":4290,"date":"2026-01-12T13:47:54","date_gmt":"2026-01-12T10:47:54","guid":{"rendered":"https:\/\/demensdeum.com\/blog\/2026\/01\/12\/gofis\/"},"modified":"2026-01-12T15:04:15","modified_gmt":"2026-01-12T12:04:15","slug":"gofis","status":"publish","type":"post","link":"https:\/\/demensdeum.com\/blog\/hi\/2026\/01\/12\/gofis\/","title":{"rendered":"Gofis"},"content":{"rendered":"<p>Gofis is a lightweight command line tool for quickly searching files in the file system.<br \/>\nIt is written in Go and makes heavy use of parallelism (goroutines), which makes it especially efficient<br \/>\nwhen working with large directories and projects.<\/p>\n<p>The project is available on GitHub:<br \/>\n<a href=\"https:\/\/github.com\/demensdeum\/gofis\" rel=\"noopener\" target=\"_blank\">https:\/\/github.com\/demensdeum\/gofis<\/a><\/p>\n<h2>&#x1f9e0; What is Gofis<\/h2>\n<p>Gofis is a CLI utility for searching files by name, extension or regular expression.<br \/>\nUnlike classic tools like find, gofis was originally designed<br \/>\nwith an emphasis on speed, readable output, and parallel directory processing.<\/p>\n<p>The project is distributed under the MIT license and can be freely used<br \/>\nfor personal and commercial purposes.<\/p>\n<h2>&#x2699;&#xfe0f; Key features<\/h2>\n<ul>\n<li>Parallel directory traversal using goroutines<\/li>\n<li>Search by file name and regular expressions<\/li>\n<li>Filtering by extensions<\/li>\n<li>Ignoring heavy directories (.git, node_modules, vendor)<\/li>\n<li>Human-readable output of file sizes<\/li>\n<li>Minimal dependencies and fast build<\/li>\n<\/ul>\n<h2>&#x1f680; Installation<\/h2>\n<p>Requires Go installed to work.<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-unknown\" data-lang=\"unknown\"><code>git clone https:\/\/github.com\/demensdeum\/gofis\ncd gofis\ngo build -o gofis main.go\n<\/code><\/pre>\n<\/div>\n<p>Once built, the binary can be used directly.<\/p>\n<p>There is also a standalone version for modern versions of Windows on the releases page:<br \/>\n<a href=\"https:\/\/github.com\/demensdeum\/gofis\/releases\/\" rel=\"noopener\" target=\"_blank\">https:\/\/github.com\/demensdeum\/gofis\/releases\/<\/a><\/p>\n<h2>&#x1f50d; Examples of use<\/h2>\n<p>Search files by name:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-unknown\" data-lang=\"unknown\"><code>.\/gofis -n \"config\" -e \".yaml\" -p .\/src\n<\/code><\/pre>\n<\/div>\n<p>Quick positional search:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-unknown\" data-lang=\"unknown\"><code>.\/gofis \"main\" \".\/projects\" 50\n<\/code><\/pre>\n<\/div>\n<p>Search using regular expression:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-unknown\" data-lang=\"unknown\"><code>.\/gofis \"^.*\\.ini$\" \"\/\"\n<\/code><\/pre>\n<\/div>\n<h2>&#x1f9e9; How it works<\/h2>\n<p>Gofis is based on Go&#8217;s competitive model:<\/p>\n<ul>\n<li>Each directory is processed in a separate goroutine<\/li>\n<li>Uses a semaphore to limit the number of active tasks<\/li>\n<li>Channels are used to transmit search results<\/li>\n<\/ul>\n<p>This approach allows efficient use of CPU resources<br \/>\nand significantly speeds up searching on large file trees.<\/p>\n<h2>&#x1f468;&#x200d;&#x1f4bb; Who is Gofis suitable for?<\/h2>\n<ul>\n<li>Developers working with large repositories<\/li>\n<li>DevOps and system administrators<\/li>\n<li>Users who need a quick search from the terminal<\/li>\n<li>For those learning the practical uses of concurrency in Go<\/li>\n<\/ul>\n<h2>&#x1f4cc; Conclusion<\/h2>\n<p>Gofis is a simple but effective tool that does one thing and does it well.<br \/>\nIf you often search for files in large projects and value speed,<br \/>\nthis CLI tool is definitely worth a look.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gofis is a lightweight command line tool for quickly searching files in the file system. It is written in Go and makes heavy use of parallelism (goroutines), which makes it especially efficient when working with large directories and projects. The project is available on GitHub: https:\/\/github.com\/demensdeum\/gofis &#x1f9e0; What is Gofis Gofis is a CLI utility<a class=\"more-link\" href=\"https:\/\/demensdeum.com\/blog\/hi\/2026\/01\/12\/gofis\/\">Continue reading <span class=\"screen-reader-text\">&#8220;Gofis&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[84],"tags":[],"class_list":["post-4290","post","type-post","status-publish","format-standard","hentry","category-software","entry"],"translation":{"provider":"WPGlobus","version":"3.0.2","language":"hi","enabled_languages":["en","ru","zh","de","fr","ja","pt","hi"],"languages":{"en":{"title":true,"content":true,"excerpt":false},"ru":{"title":true,"content":true,"excerpt":false},"zh":{"title":true,"content":true,"excerpt":false},"de":{"title":true,"content":true,"excerpt":false},"fr":{"title":true,"content":true,"excerpt":false},"ja":{"title":true,"content":true,"excerpt":false},"pt":{"title":true,"content":true,"excerpt":false},"hi":{"title":false,"content":false,"excerpt":false}}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/posts\/4290","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/comments?post=4290"}],"version-history":[{"count":3,"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/posts\/4290\/revisions"}],"predecessor-version":[{"id":4293,"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/posts\/4290\/revisions\/4293"}],"wp:attachment":[{"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/media?parent=4290"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/categories?post=4290"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/tags?post=4290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}