{"id":32403389,"url":"https://github.com/chrissound/human-friendly-commands","last_synced_at":"2026-03-04T05:01:46.353Z","repository":{"id":73360220,"uuid":"89576392","full_name":"chrissound/Human-Friendly-Commands","owner":"chrissound","description":"Linux awesome ultimate alias library","archived":false,"fork":false,"pushed_at":"2019-11-23T11:07:43.000Z","size":783,"stargazers_count":19,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-25T10:51:42.752Z","etag":null,"topics":["aliases","command-line","command-line-tool","linux"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/chrissound.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-04-27T08:46:34.000Z","updated_at":"2023-09-08T17:24:13.000Z","dependencies_parsed_at":"2023-04-08T20:56:13.807Z","dependency_job_id":null,"html_url":"https://github.com/chrissound/Human-Friendly-Commands","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chrissound/Human-Friendly-Commands","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrissound%2FHuman-Friendly-Commands","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrissound%2FHuman-Friendly-Commands/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrissound%2FHuman-Friendly-Commands/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrissound%2FHuman-Friendly-Commands/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chrissound","download_url":"https://codeload.github.com/chrissound/Human-Friendly-Commands/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrissound%2FHuman-Friendly-Commands/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30071895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T03:25:38.285Z","status":"ssl_error","status_checked_at":"2026-03-04T03:25:05.086Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["aliases","command-line","command-line-tool","linux"],"created_at":"2025-10-25T10:50:07.471Z","updated_at":"2026-03-04T05:01:46.339Z","avatar_url":"https://github.com/chrissound.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Human Friendly Commands\n\n## What problem does this solve?\n\nIt as a set of functions that have a human friendly identifier, that cover 80% of my common command uses.\n\nFor example:\n- **makeOwnedByMyself** - `sudo chown \"$USER\":\"$USER\" -R \"$@\"`\n- **deleteEmptyDirectories_Recursively** - `find . -type d -empty -delete`\n- **git_initAndCommitInitial** - `git init; git add .; git commit -m \"inital\" `\n- **makeZip_CurrentDirectory**  - `zip -r \"$(basename \"$PWD\" )\" . `\n\nThis makes it convenient to search. Paired with fuzzy search, you might suddenly become so productive that you create an alternative universe in your command line.\n\n## Installation:\n\n### Clone the repo\n\n### Generate the intermediate files\n\nRun `./compile.sh` with the modules you want available.\n\nExample:\n`./compile.sh git files`\n\nTo include everything:\n`./compile.sh exa files gitWithDiffSoFancy misc gitCommon github haskell docker kubernetes`\n\nThis will generate two files:\n`commands.sh` and `commands.txt`\n\n### Add intermediate files to your PATH\n\nAdd `source path/to/commands.sh` to your shell startup (`~/.bashrc` for bash). The functions and aliases will then be availble in your command prompt.\n\n## FZF configuration: \n\nYou may need to modify the path below to where you have actually cloned down the repo.\nZSH keybindng (bind `CTRL-Z` to `cat ~/Projects/LinuxCommandLib/commands.txt | fzf --height 25%`):\n\n```\nfzf-linuxlib-widget() {\n\tcommand=`cat ~/Projects/LinuxCommandLib/commands.txt | fzf --height 25%`\n  RBUFFER=${RBUFFER}${command}\n  zle redisplay\n\tzle end-of-line;\n}\n\nzle     -N   fzf-linuxlib-widget\nbindkey '\u001a' fzf-linuxlib-widget\n```\n\n## Module files\n\nJust create your own module file within `modules/`, it is just a shell script with functions or aliases, and then rerun `compile.sh` with your module file specified in addition.\n\n## Available commands\n\n### docker\n- docker_stopAllContainers\n- docker_stopAllContainersNonGracefully\n- docker_deleteComposeVolumes\n- docker_showLatestCreatedContainer\n- docker_getLatestCreatedContainerId\n- docker_startLatestCreatedContainer\n- docker_listContainers\n- docker_listRunningContainers\n- docker_listRunningContainerIps\n- docker_enterContainerBash\n- docker_enterContainerSh\n- docker_runCommandInContainer\n- docker_runCommandInContainerWithContainerPrompt\n- docker_promptForRunningContainer\n- docker_dockerComposeUp\n- docker_dockerComposeStop\n- docker_getImageHash_sha256\n### exa\n### files\n- makeFilePermissionExecutable\n- makeAllShFilesPermissionExecutable\n- makeOwnedByMyself\n- makeFilePermissionEverything\n- getLastModifiedFileInDirectory\n- get_AbsolutePath_LastModifiedFileInDirectory\n- delete_EmptyFiles_Recursively\n- delete_Recursive\n- delete_EverythingInCurrentDir\n- delete_EmptyDirectories_Recursively\n- file_getOctalPermission\n- createFile\n- vimLastDownloadedFile\n### gitCommon\n- git_initAndCommitInitial\n- git_DiffPager\n- git_searchCommitMessagesInAllBranches\n- git_forceClone\n### github\n- github_createRepo\n### git\n- git_cdRoot\n- git_ExportRepoAsZip\n- git_AddModified_Commit_Push\n- git_CurrentCommitHash\n- git_CurrentCommitHash_ToClipboard\n- git_Branch\n- git_Diff\n- git_Status\n- git_Log\n- git_Log_NameOnly\n- git_ResetToLatest\n- git_checkoutPaths\n- git_FirstCommitHash\n### gitWithDiffSoFancy\n- git_cdRoot\n- git_ExportRepoAsZip\n- git_AddModified_Commit_Push\n- git_CurrentCommitHash\n- git_CurrentCommitHash_ToClipboard\n- git_Branch\n- git_Diff\n- git_Status\n- git_Log\n- git_Log_NameOnly\n- git_ResetToLatest\n- git_checkoutPaths\n- git_FirstCommitHash\n### haskell\n- hpack_AddDependencyNaively\n- hoogle_searchAndCopy\n### kubernetes\n- kubectl_describeLastPod\n- kubectl_describePod\n- kubectl_getPods\n- kubectl_getAllPods\n- kubectl_getDeployments\n- kubectl_getAllDeployments\n- kubectl_describeService\n- kubectl_getServices\n- kubectl_getAllServices\n- kubectl_describeIngress\n- kubectl_getIngress\n- kubectl_getAllIngress\n- kubectl_getNodes\n- kubectl_describeNode\n- kubectl_logs\n- kubectl_enterContainerSh\n- kubectl_enterContainerBash\n- kubectl_create_byFile\n- kubectl_apply_byFile\n- kubectl_replace_byFile\n- kubectl_delete_byFile\n- kubectl_getAll\n### misc\n- makeZip_CurrentDirectory\n- makeZip_CurrentDiretory_WithoutHidden\n- makeGZip_CurrentDirectory\n- findByFilename\n- findByFilenameCaseInsensitive\n- isTextPresentInFilodir\n- pacmanInstall \n- pacmanUpdate \n- backup \n- backup_appendWithDate \n- backup_appendWithTimeDate \n- restoreBackup \n- clipboard_copyPath \n- clipboard_copyCurrentPath \n- clipboard_copyFileContents \n- sshSocksProxy\n- newEditFile\n- newEditExecutableFile\n- clipboard_copySshPublicKey\n- date_ddmmyyyy \n- date_hhmmssddmmyyyy \n- wget_toStdOut\n- wget_ignoreSslCert\n- file_delete_line\n- print_everyPathLevel_ofPath\n- text_sanitize_filesystem_name \n### networking\n- network_findProcessUsingPort\n- network_findProcessIdUsingPort\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrissound%2Fhuman-friendly-commands","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrissound%2Fhuman-friendly-commands","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrissound%2Fhuman-friendly-commands/lists"}