{"id":20716285,"url":"https://github.com/mohit-s96/fs-utils","last_synced_at":"2026-05-05T15:39:35.290Z","repository":{"id":263149392,"uuid":"889514176","full_name":"mohit-s96/fs-utils","owner":"mohit-s96","description":"File system related utils with the defaults I like","archived":false,"fork":false,"pushed_at":"2025-02-07T22:39:00.000Z","size":54,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-07T23:25:34.563Z","etag":null,"topics":["c","cli","filesystem","fs","linux","macos"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mohit-s96.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-16T14:22:20.000Z","updated_at":"2025-02-07T22:39:04.000Z","dependencies_parsed_at":"2025-02-07T23:22:36.800Z","dependency_job_id":"54214d63-3fd6-4321-9cfd-0ca98f71b25d","html_url":"https://github.com/mohit-s96/fs-utils","commit_stats":null,"previous_names":["mohit-s96/fs-utils"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohit-s96%2Ffs-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohit-s96%2Ffs-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohit-s96%2Ffs-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohit-s96%2Ffs-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mohit-s96","download_url":"https://codeload.github.com/mohit-s96/fs-utils/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242989249,"owners_count":20217749,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","cli","filesystem","fs","linux","macos"],"created_at":"2024-11-17T03:05:21.768Z","updated_at":"2026-05-05T15:39:35.258Z","avatar_url":"https://github.com/mohit-s96.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"### File system related CLI utils with defaults that I like\n\n#### Commands\n- _ls_: defaults to showing real directory size 1 level deep instead of the block size. default sorting by last modified time.\n- _f_: multi threaded find. recursive by default. supports simple patterns like `?`, `*` (not `[]` classes).\n- _cp_: multi threaded copy. mimics the unix `cp` in behavior.\n- _new_: one command for creating a file or a dir (`-d`) in the pwd.\n- _size_: total size of a directory. basically multi-threaded `du -sh`.\n\nDoesn't support unicode (yet).\n\n### Installation\n__Create executable__\n```sh\nmake\n```\n\n__Install with the command name `fs`__\n```sh\nmake install\n```\n\n__Run tests__\n```sh\nmake test\n```\n\n### Development checklist\n- [x] Build a cli parser\n\n- [x] Add and configure a test runner\n\n```sh\nfs .\n```\n- [x] prints out the files, directories of the current (or any) directory. defaults\nto list view. has human readable sizes and permissions and date modified. default\nsorted by date modified. has the actual directory size instead of the block size.\nshows hidden files by default.\n```sh\nfs . -s -a\n```\n- [x] same as above but -s sorts by size and -a sorts alphabetically\n\n```sh\nfs f . --file \"hello.c\"\n```\n- [x] means find and print full paths of any file in the current directory with name\ncontaining the string \"hello.c\". recursive by default. the name can also be a \npattern like \"*.mp4\" etc. maybe make search multi threaded??\n\n```sh\nfs f . --file \"hello.c\" -nr\n```\n- [x] nr means no recursion so only search the top-level dir\n\n```sh\nfs cp \u003csource\u003e \u003cdestination\u003e\n```\n- [x] copy from source to destination. if destination don't exist it creates one.\nsource can be file or directory\n\n```sh\nfs new \"file.txt\"\n```\n- [x] creates a file named \"file.txt\" in the current directory\n\n```sh\nfs new -d \"my_dev\"\n```\n- [x] creates a directory named \"my_dev\" in the current directory\n\n```sh\nfs size .\n```\n- [x] gives the total space occupied on the disk by the current directory or file","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohit-s96%2Ffs-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohit-s96%2Ffs-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohit-s96%2Ffs-utils/lists"}