{"id":20904125,"url":"https://github.com/guilhermenobrega/linux","last_synced_at":"2025-05-13T04:33:28.204Z","repository":{"id":190234511,"uuid":"664677726","full_name":"GuilhermeNobrega/Linux","owner":"GuilhermeNobrega","description":"Is all about linux.. if you dont like, just give a chance to learn!","archived":false,"fork":false,"pushed_at":"2024-06-10T20:48:44.000Z","size":586,"stargazers_count":8,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-01T18:12:33.045Z","etag":null,"topics":["bash-script","color-scheme","linux","logic-programming","shell-scripts","tput","tricks"],"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/GuilhermeNobrega.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":"2023-07-10T13:59:42.000Z","updated_at":"2025-01-11T01:54:02.000Z","dependencies_parsed_at":"2023-11-13T16:30:43.935Z","dependency_job_id":"e62de503-3f8d-4912-86e0-ffeb3d62d568","html_url":"https://github.com/GuilhermeNobrega/Linux","commit_stats":null,"previous_names":["guilhermenobrega/basic-linux","guilhermenobrega/linux-and-more"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuilhermeNobrega%2FLinux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuilhermeNobrega%2FLinux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuilhermeNobrega%2FLinux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuilhermeNobrega%2FLinux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GuilhermeNobrega","download_url":"https://codeload.github.com/GuilhermeNobrega/Linux/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253877265,"owners_count":21977632,"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":["bash-script","color-scheme","linux","logic-programming","shell-scripts","tput","tricks"],"created_at":"2024-11-18T13:16:05.704Z","updated_at":"2025-05-13T04:33:25.074Z","avatar_url":"https://github.com/GuilhermeNobrega.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n   \n# Aprendendo Linux e Shell Script \u003cimg align='center' src=\"https://static.wikia.nocookie.net/supaplex/images/0/0a/Terminal.gif/revision/latest/thumbnail/width/360/height/360?cb=20180120185603\" width=\"40\" height=\"40\"\u003e\n\u003cimg align='center' src=\"https://chemnitzer.linux-tage.de/2019/static/img/box/tuxel.gif\" width=\"40\" height=\"40\"\u003e\n\u003cimg align='center' src=\"https://chemnitzer.linux-tage.de/2019/static/img/box/tuxel.gif\" width=\"40\" height=\"40\"\u003e\n\u003cimg align='center' src=\"https://chemnitzer.linux-tage.de/2019/static/img/box/tuxel.gif\" width=\"40\" height=\"40\"\u003e\n\u003cimg align='center' src=\"https://cdn.iconscout.com/icon/free/png-512/shell-script-1-569185.png\" width=\"40\" height=\"40\"\u003e\n\nhttps://explainshell.com/\n                                                                                        \n\u003c/div\u003e\n\nAprender sobre Linux é uma jornada fascinante, e também o mundo incrível do Shell Scripting. O Shell Scripting é uma habilidade valiosa que permite automatizar tarefas, criar scripts poderosos e interagir com o sistema operacional de uma maneira mais eficiente.\n\u003chr\u003e\n\u003cstrong\u003e Shell scripts são, de fato, texto ASCII (ou UTF-8, que é uma extensão do ASCII) que é lido e interpretado por um interpretador de shell. A linguagem de script utilizada em shells, como o Bash, é basicamente um conjunto de comandos e estruturas de controle de fluxo que são interpretados e executados pelo shell. Quando você escreve um script shell, está criando um arquivo de texto que contém uma sequência de comandos que você deseja executar. Este arquivo é então passado para o interpretador de shell correspondente (por exemplo, o Bash), que lê o texto linha por linha e executa os comandos descritos no script. \u003c/strong\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\n- **Variáveis e Operadores:** Entenda como armazenar dados e realizar operações com variáveis.\n- **Estruturas de Controle:** Aprenda sobre estruturas condicionais (if-else) e loops para controlar o fluxo do seu script.\n- **Funções:** Organize seu código em funções reutilizáveis para tornar seus scripts mais modulares.\n- **Trabalhando com Arquivos:** Manipule arquivos e diretórios, realizando tarefas como leitura, escrita e exclusão.\n- **Comandos do Sistema:** Explore como executar comandos do sistema a partir do seu script, interagindo diretamente com o terminal.\n- **Debugging:** Familiarize-se com técnicas de debugging para identificar e corrigir erros em seus scripts.\n\n# File Management:\n\n- **cat:** \"concatenate\", usado para exibir arquivos ou concatenar arquivos.\n- **cd:** \"change directory\", usado para mover entre diretórios.\n- **chmod:** \"change mode\", permite que você altere as permissões de arquivos.\n- **chown:** \"change owner\", permite que você altere as permissões de propriedade de arquivos.\n- **compress:** usado para compactar arquivos (este é um comando mais antigo; consulte gzip ou bzip2 para abordagens mais modernas).\n- **cp:** usado para copiar arquivos e diretórios.\n- **file:** usado para determinar o \"tipo\" de um arquivo.\n- **ls:** \"list\", lista arquivos e diretórios.\n- **mkdir:** \"make directory\", usado para criar novos diretórios.\n- **more:** usado para controlar a exibição de saída, permitindo que você percorra os resultados.\n- **mv:** \"move\", usado para mover arquivos e diretórios.\n- **pwd:** \"print working directory\", mostra o diretório em que você está atualmente.\n- **rm:** \"remove\", usado para remover arquivos e diretórios.\n- **wc:** \"word count\", usado para contar caracteres, palavras e linhas em arquivos de texto e/ou entrada padrão.\n- **type:** \"type\", usado para descobrir o tipo de comando do shell, sendo interno ou externo a este.\n\n## Searching:\n\n- **diff:** Faz comparação entre dois arquivos. Ponha um lado do outro\n  ```bash\n  \u003c Esta é uma linha no arquivo teste.sh\n  ---\n  \u003e Esta é uma linha no arquivo teste1.sh\n\n# sdiff\nCompara dois arquivos lado a lado de forma mais organizada e visual (deixe o terminal em tela cheia).\n\n# which\nPara achar arquivos e tipos (which $SHELL)\n# find\nUm comando poderoso usado para encontrar arquivos e diretórios com uma variedade de critérios de pesquisa.\n\n# grep\n\"General Regular Expression Parser\", também conhecido como \"search\" ou \"textsearch\".\n\n# locate\nUsado para encontrar rapidamente nomes de arquivos em todo o sistema de arquivos.\n\n## System Status:\n\n- **df:** \"disk free\", usado para mostrar informações sobre o espaço livre em sistemas de arquivos.\n- **du:** \"disk usage\", mais frequentemente usado para determinar o tamanho de diretórios.\n- **lsof:** lista arquivos abertos, geralmente usado por administradores de sistema para solucionar problemas.\n- **ps:** \"process statistics\", usado para exibir os processos em execução no sistema.\n- ```bash\n   ps -f # Processos do usuário que estão em execução\n   ps -ef # Todos os processos menos os do kernel\n   ps -A # Todos, até do kernel\n   ps -Kf # Todos os processos do kernel\n   ps auxw # Porcentagem de uso da CPU\n   ```\n- **top:** uma utilidade para mostrar processos em execução, uso da CPU e uso de memória.\n- **who:** mostra quem está atualmente logado.\n- **w:** mostra quem está logado.\n- **last:** histórico de quem fez login no sistema\n\n## Text Processing:\n\n- **cut:** usado para recortar campos e colunas da saída de texto e arquivos.\n- **grep:** \"general regular expression parser\", também conhecido como \"search\" ou \"textsearch\".\n- **sort:** usado para classificar informações fornecidas na entrada padrão.\n- **vi/vim:** vi/vim, o editor de texto padrão do Unix/Linux.\n- **sed:** um \"editor de fluxo\" que permite editar arquivos com comandos, sem a necessidade de um editor de texto.\n- **wc** Conta o número de linhas, palavras e caracteres em um arquivo.\n\n## Internet and Networking:\n\n- **curl:** usado para baixar páginas da web e outros recursos da internet a partir da linha de comando (consulte também wget).\n- **ping:** permite \"pingar\" outro computador para ver se ele está ativo.\n- **wget:** usado para baixar páginas da web e outros recursos da internet a partir da linha de comando (consulte também curl).\n\n## Archives and Storage:\n\n- **compress:** usado para compactar arquivos (mais antigo).\n- **tar:** \"tape archive\", usado para criar arquivos de arquivamento e ler/escrever de fitas e disquetes.\n- **gzip:** usado para compactar arquivos e arquivos de arquivamento (use gunzip para descompactá-los).\n- **bzip2:** também usado para compactar arquivos.\n\n## Printing:\n\n- **cancel:** usado para cancelar solicitações de impressão.\n- **lp:** \"line printer\", usado para enviar trabalhos de impressão.\n- **lpstat:** \"line printer statistics\", usado para exibir informações sobre filas de impressão.\n\n## Miscellaneous:\n\n- **alias:** usado para criar novos comandos a partir de comandos existentes.\n- **crontab:** usado para agendar tarefas no Unix/Linux para serem executadas em horários específicos.\n\n# Background Execution\n\nQuando você executa um comando seguido pelo símbolo `\u0026`, o comando é executado em segundo plano, e o controle retorna imediatamente ao prompt do shell. Isso é conhecido como \"background execution\".\n\n**Exemplo:**\n```bash\ncomando \u0026\n```\n# Redirecionamento de Descritor de Arquivo\n\nEm contextos de redirecionamento, o `\u0026` pode ser usado para redirecionar descritores de arquivo específicos. Por exemplo, `2\u003e\u00261` redireciona a saída de erro padrão (stderr) para o mesmo local que a saída padrão (stdout).\n\n**Exemplo:**\n```bash\ncomando 2\u003e\u00261\n````\n# Operador de Concatenação de Comandos\n\nO `\u0026\u0026` é um operador utilizado para concatenar comandos no shell, permitindo que o segundo comando seja executado apenas se o primeiro for bem-sucedido.\n\n**Exemplo:**\n```bash\ncomando1 \u0026\u0026 comando2\n```\n\n## Binaries:\n\n# xxd\nO comando `xxd` é usado para criar uma representação hexadecimal de um arquivo ou para converter uma representação hexadecimal de volta para o formato binário original.\n\n## Uso Básico:\n```bash\nxxd arquivo\n````\n\n# Hexdump\n\nO comando `hexdump` é utilizado para exibir o conteúdo de um arquivo em formato hexadecimal.\n\n**Exemplo:**\n```bash\nhexdump -C arquivo.bin\n```\n\n# Base64\n\nO comando `base64` é usado para codificar ou decodificar dados em base64.\n\n**Exemplo (Codificação):**\n```bash\nbase64 -e arquivo.txt (codificação)\nbase64 -d arquivo.txt (decodificação)\n```\n\n# Strings\n\nO comando `strings` é utilizado para extrair sequências de caracteres legíveis de um arquivo binário.\n\n**Exemplo:**\n```bash\nstrings arquivo.bin\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguilhermenobrega%2Flinux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguilhermenobrega%2Flinux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguilhermenobrega%2Flinux/lists"}