{"id":27771373,"url":"https://github.com/hassanamohamed/linux-tools-and-troubleshooting","last_synced_at":"2026-04-15T18:31:53.515Z","repository":{"id":290371178,"uuid":"974115435","full_name":"HassanAmohamed/linux-tools-and-troubleshooting","owner":"HassanAmohamed","description":"mygrep.sh - Lightweight grep alternative featuring line numbers (-n), inverted matches (-v), and case-insensitive search  DNS Troubleshooting - Systematic approach to diagnose web service issues through DNS verification and connectivity testing","archived":false,"fork":false,"pushed_at":"2025-04-28T12:58:09.000Z","size":256,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-28T13:56:07.550Z","etag":null,"topics":["devops-tools","dns-server","git","github","linux","networking","scripting","troubleshooting"],"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/HassanAmohamed.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}},"created_at":"2025-04-28T09:23:53.000Z","updated_at":"2025-04-28T13:01:45.000Z","dependencies_parsed_at":"2025-04-28T19:00:46.158Z","dependency_job_id":null,"html_url":"https://github.com/HassanAmohamed/linux-tools-and-troubleshooting","commit_stats":null,"previous_names":["hassanamohamed/linux-tools-and-troubleshooting"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HassanAmohamed%2Flinux-tools-and-troubleshooting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HassanAmohamed%2Flinux-tools-and-troubleshooting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HassanAmohamed%2Flinux-tools-and-troubleshooting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HassanAmohamed%2Flinux-tools-and-troubleshooting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HassanAmohamed","download_url":"https://codeload.github.com/HassanAmohamed/linux-tools-and-troubleshooting/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251595828,"owners_count":21614999,"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":["devops-tools","dns-server","git","github","linux","networking","scripting","troubleshooting"],"created_at":"2025-04-29T22:36:31.905Z","updated_at":"2026-04-15T18:31:53.458Z","avatar_url":"https://github.com/HassanAmohamed.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Linux Command Line Utilities\n\n## 1. mygrep.sh - Custom grep Implementation\nA minimal grep clone with basic pattern matching functionality.\n\n### Features\n- Case-insensitive string search\n- Line number display (`-n`)\n- Inverted matching (`-v`)\n- Combined flags support (`-nv`, `-vn`)\n- Input validation\n\n### Usage\n```bash\n./mygrep.sh [OPTIONS] PATTERN FILENAME\nExamples\nbash\n./mygrep.sh hello file.txt          # Basic search\n./mygrep.sh -n hello file.txt       # With line numbers\n./mygrep.sh -vn hello file.txt      # Inverted match\nTesting\nTest file included with sample content:\n\nHello world\nTest line\nAnother hello\nNo match here\n2. DNS Troubleshooting Guide\nComprehensive steps to diagnose and resolve internal.example.com connectivity issues.\n\nTroubleshooting Steps\nDNS Verification\n\nbash\ndig internal.example.com\ndig @8.8.8.8 internal.example.com\nService Reachability\n\nbash\ncurl -Iv http://$(dig +short internal.example.com)\nss -tulnp | grep ':80\\|:443'\nCommon Fixes\nIssue\tVerification\tSolution\nWrong DNS\tcat /etc/resolv.conf\tnmcli con mod eth0 ipv4.dns \"192.168.1.1\"\nFirewall\tufw status\tufw allow out 53/tcp\nBonus\nbash\n# Hosts file bypass\n $ echo \"192.168.1.100 internal.example.com\" | sudo tee -a /etc/hosts\n\n# Persistent DNS\n $ sudo resolvectl dns eth0 192.168.1.1\nImplementation Notes\nmygrep.sh\nUses getopts for argument parsing\n\nHandles combined flags intelligently\n\nValidates input before processing\n\nDNS Troubleshooting\nChecks both DNS and service layers\n\nProvides temporary and permanent solutions\n\nIncludes network diagnostics\n\nRequirements\nBash shell (for mygrep.sh)\n\ndig, curl, ss utilities (for DNS troubleshooting)\n\n $ sudo privileges for system changes","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhassanamohamed%2Flinux-tools-and-troubleshooting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhassanamohamed%2Flinux-tools-and-troubleshooting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhassanamohamed%2Flinux-tools-and-troubleshooting/lists"}