``` Capacitação Linux ``` --- # Capacitação de Linux # Comandos [toc] ## sudo - Executa comandos como administrador. É uma abreviação para SUperuser DO, ou em português, Superusuário Faça. ## apt - Gerenciador de pacotes de Distribuições Linux baseadas no Debian. Serve para instalar, atualizar e remover softwares. Comumente requer o sudo para funcionar. Ex.: ```bash= sudo apt install firefox sudo apt remove firefox sudo apt update && sudo apt upgrade ``` ## cd - É uma abreviação para Change Directory, ou mudar diretório. - Navega pelos diretórios do linux. Ex.: ```bash= cd Documentos/MinervaBots # entra na pasta MinervaBots dentro de Documentos ``` ## pwd - Sigla para Print Working Directory, ou Imprimir o Diretório de Trabalho. - Indica o diretóro que está atualmente aberto no terminal. ## ls - Pode ser entendido com "List", ou Lista. - Lista arquivos e diretório que existem dentr de um diretório. ## grep - Realiza um filtro, demarcando algo na saída de um comando Ex.: ```bash= ls | grep *.deb # Lista o arquivos de uma pasta e filtra os resultados para mostrar apenas os arquivos que possuem a extensão .deb ``` > O caractere "|"(Pipe) serve para concatenar comandos no terminal. ## touch - "Toca" em um arquivo, atualizando sua última data de atualização. Quando utilizado com um arquivo não existente como argumento, cria um arquivo com este nome. Ex.: ```=bash touch esteArquivo #se esteArquivo existir, terá sua data de modificação atualizada, senão, será criado um arquivo com esse nome. ``` ## echo - Tem como saída o seu próprio argumento. Funciona muito bem para funções de debug em scripts. Ex.: ```bash= echo "Seu programa está rodando!" # saída Seu programa está rodando! ``` ## chmod Adiciona ou remove permissões em arquivos. É uma abreviação de "CHange MODe", ou mudar modo. Ex.: ```bash= chmod +x script.sh # permite que um arquivo seja executado como um programa chmod -x script.sh # remove a permissão de execução ``` > O comando ```ls -l``` pode listar os arquivos em um diretório e exibir suas permissões. ## Shell - É um programa responsável por interpretar instruções enviadas pelo usuário e seus programas para o Kernel. ### Shell Script: - Automatizador de tarefas via lista de comandos. ### Desafio: ``` 1° Passo -> criar uma pasta 2° Passo -> entrar na pasta 3° Passo -> criar um arquivo nessa pasta 4° Passo -> Escrever um texto nesse arquivo 5° Passo -> cabou ``` ### Solução: - Criar a pasta: ```bash= mkdir [nome da pasta] ``` - Cria arquivo: ```bash= touch [arquivo.txt] ``` ```bash= nano [arquivo.txt] # abre o arquivo para ser editado ``` #### Exemplo de Automatização com um Shell Script - `#!/usr/bin/env bash`: Em script feitos com comandos `bash` é importante identificá-lo como tal, para facilitar a execução. Esta linha traz o ambiente `bash` para interpretar os comandos. ``` #!/usr/bin/env bash mkdir [capacitação] ->> criar diretório cd [capacitação] ->> entrar no diretório touch [arquivo.txt] ->> criar arquivo echo ["oi, eu sou o Goku!"] >> [arquivo.txt] ->> Escrever no arquivo echo ["já acabei!"] ->> Debug ``` # Dicas: - Sempre que entrar no Ubuntu atualize seu sistema, as atualizações acontecem com mais frequência que o Windows, quase diariamente. ```bash= sudo apt update && sudo apt upgrade # atualiza os repositórios e instala as atualizações. ``` - Alguns comandos tem saídas muito extensas, por isso, para ajudar seu olhos, o comando `clear` apaga o terminal e o deixa limpo. Ainda melhor do que o comando, é o seu atalho: - Ctrl + L: `clear` - No `bash`, os comentários são feitos utilizando '#' Ex.: ```bash= # isto é um comentário ``` - Para copiar e colar no terminal não se usa `ctrl+c`, pois esse atalho é usado para interromper a execução de um programa no terminal (muito útil, diga-se de passagem). Para copiar e colar, respectivamente, utiliza-se `ctrl+shift+c` e `ctrl+shift+v`. # Programas para Instalar: ## Visual Studio Code - sudo apt install code - Pode acontecer do Ubuntu não estar com os repositórios da Microsoft ativos, e solução é instalar via .deb que instala o programa e ativa o repositório possibilitando atualizações automáticas: - Baixe o .deb [neste site](https://code.visualstudio.com/download) e instale assim: ```bash= cd ~/Downloads && sudo dpkg -l[arquivo.deb] ``` - sudo apt install gitkraken - Caso não funcione, instale via .deb da mesma forma que o VsCode, através do [site oficial](https://www.gitkraken.com/try-free). - sudo snap install webots # Para codar: - Pode-se usar: Nano, Vim (evitar) ou **VSCode**