Mostrando postagens com marcador Linha de Comando. Mostrar todas as postagens
Mostrando postagens com marcador Linha de Comando. Mostrar todas as postagens

terça-feira, 14 de março de 2023

Alterando encoding de arquivos no Linux

 As vezes precisamos mudar o Encoding de um arquivo para corrigir os caracteres estranhos.


Para descobrir a codificação de origem pode-se usar a ferramenta file, exemplo:


$ file [nome_arquivo]


Exemplo de conversão de ISO-8859-1 para UTF-8:


$ iconv -f iso-8859-1 -t utf-8 arquivo.txt > arquivo_novo.txt


Uma dica importante é criar um novo arquivo pra saída, pois assim você não perde seus dados... (ele apaga mesmo!) Crie um novo arquivo, verifique se está tudo certo e somente depois sobrescreva o arquivo original.

segunda-feira, 13 de março de 2023

Alternando entre versões do Java no Linux

        Nesse artigo vou mostrar como mudar da versão do Java em um servidor Linux. Essa mudança altera a versão padrão em uso pelo servidor, embora aplicações possam apontar diretamente para uma versão ao invés de usar a versão padrão definida para o servidor.


$ sudo update-alternatives --config java


       Irá aparecer a lista de versões disponíveis e você pode digitar o número correspondente a versão desejada e depois confirmar com Enter.




       Este comando também é útil para ver onde as versões foram instaladas no servidor, porque ele mostra o caminho completo. Importante lembrar que algumas versões que possam ter sido baixadas e descompactadas não irão aparecer.




segunda-feira, 6 de março de 2023

Particionando, Formatando e Montando discos no Linux

 

Nesse artigo vamos mostrar como montar um disco no Linux. Ao adicionar um novo disco, físico ou lógico dependendo do ambiente, é necessário adicioná-lo ao sistema. Esse processo é chamado de montagem.

 

Para vermos os discos disponíveis podemos usar o comando lsblk:

 

$ sudo lsblk

 

Antes de montar é necessário particionar e formatar o disco. Os discos seguem uma ordem alfabética: sda (principal), sdb (segundo), sdc (terceiro)... e assim por diante. Vamos seguir como se fosse o segundo disco. Primeiro vamos particionar:

 

$ fdisk /dev/sdb

 

Então o fdisk vai pedir algumas opções para poder particionar o disco e oferecer a opção “m” para ajuda. Para particionar como uma única partição primária de dados você pode fornecer a opção “n” e depois escolher “p” para a primária. Depois siga o prompt confirmando o número de partições (que é 1) e o início e fim dela. Após receber a mensagem que a partição foi criada, digite “w” para confirmar as alterações no disco.

 

Para formatar digite:

 

$ mkfs.ext4 /dev/sdb

 

Caso queira uma partição onde o Windows possa enxergar também use NTFS.

 

Agora vamos à montagem do disco para uso. As montagens podem ser feitas em qualquer pasta do sistema, porém existe um diretório padrão para isso que o /mnt.

 

Vamos imaginar que vamos montá-lo na pasta chamada “arquivos”. Primeiro criamos a pasta:

 

$ mkdir /mnt/arquivos

  

Agora fazemos a montagem apontando o disco para a pasta:

 

$ mount /dev/sdb /mnt/arquivos

 

Dessa maneira o disco está montado e disponível, a menos que o sistema seja reiniciado. Para manter o disco montado sempre que o sistema ligar ainda é necessário automatizar essa montagem. Abra o arquivo fstab que fica no etc e acrescente a seguinte linha informando o disco, pra onde vai e o sistema de arquivos, além do padrão “defaults 0 0”:

 

$ /dev/sdb /mnt/arquivos ext4 defaults 0 0

 

Agora é só salvar o arquivo e ele sempre será montado ao iniciar o sistema.




sábado, 4 de fevereiro de 2023

Instalando o Docker no Windows usando WSL 2 e Ubuntu

          Nesse artigo vamos configurar o Docker pra rodar no Ubuntu através do WSL 2 de forma nativa (como se a máquina fosse Linux puro). Caso não tenha o WSL 2 configurado veja aqui como fazer: Configuração WSL 2

 

Agora vamos ao Docker! O primeiro passo é atualizar a biblioteca do Ubuntu de gerenciamento de programas:

 Obs: Para versão 22-4 do Ubuntu ver aqui. 


$ sudo apt update && sudo apt upgrade

 

Depois instalar as dependências como Http, certificados, acesso a URLs, etc...

 

$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

 

Agora adicionar o repositório Docker na biblioteca do Ubuntu:

 

$ sudo mkdir -p /etc/apt/keyrings

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

 

Agora para configurar o repositório:

 

$ echo \

  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

 

Vamos mais uma vez atualizar a biblioteca:

 

$ sudo apt-get update

 

Agora sim vamos instalar o Docker. Para a instalar a última versão usamos:

 

$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

 

Para instalar uma versão específica primeiro listamos as versões:

 

$ apt-cache madison docker-ce | awk '{ print $3 }'

 

E então instalamos a que desejamos. Ex:

 

$ VERSION_STRING=5:20.10.13~3-0~ubuntu-jammy

$ sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-compose-plugin

 

É preciso também dar permissão a pasta criada. A instalação do Docker já espera que haja um grupo chamado "docker". Veja com o comando "groups" se esse grupo "docker" já existe, caso não tenha sido criado, siga as duas linhas abaixo, caso tenha sido criado, apenas adicione seu usuário a ele.

 

$ sudo groupadd Docker

$ sudo usermod -aG docker $USER

 

Pronto, agora é só fazer logoff e login ou fechar o app do Ubuntu e abrir novamente para poder usar o docker.

 

Atenção! Em alguns casos ao sair e entrar no App do Ubuntu (e outras distribuições) ele desliga o serviço do Docker. Caso isso aconteça pode ser resolvido da seguinte maneira:

 

$ sudo systemctl enable docker.service

$ sudo systemctl enable containerd.service

 

Isso adiciona o serviço do Docker ao Systemd que gerencia serviços que inicializam automaticamente. Caso queira remover basta usar o "disable" ao invés do "enable".

 

 

Fonte:

https://docs.docker.com/engine/install/ubuntu/

https://docs.docker.com/engine/install/linux-postinstall/

https://github.com/codeedu/wsl2-docker-quickstart#instala%C3%A7%C3%A3o-do-wsl-2

 

quarta-feira, 4 de maio de 2022

Criando um link simbólico para um diretório no Linux

          Nesse artigo vou mostrar como links simbólicos no Linux. Links simbólicos servem para apontarmos para um diretório ou arquivo de outro lugar. Para isso usamos o comando ln:

 

$ ln -sf /diretorioOrigem /diretorioLink

 

No parâmetro “-sf” o s é para especificar que vai ser um link simbólico e o f é pra forçar a criação caso o destino já seja um link simbólico. 

terça-feira, 3 de maio de 2022

Mudando usuário e grupo de um arquivo no Linux (chown e chgrp)

         Nesse artigo vou mostrar como mudar o proprietário de pastas e arquivos no Linux. Vamos imaginar que temos a pasta /home/usuario/meus_arquivos e queremos atribuir a um usuário e grupo específicos estes arquivos arquivos:

 

Para isso usamos o comando chown:

 

chown -R nomeUsuario:nomeGrupo /home/usuario/meus_arquivos/

 

O parâmetro “-R” é para aplicar de modo recursivo, assim ele vai alterar as pastas, subpastas e arquivos que existirem na pasta definida. Logo em seguida vem o nome do usuario e nome do grupo que serão atribuídos como donos e são separados por ":" (dois pontos)  e depois a pasta a ter o dono alterado. Não é necessário informar o grupo caso queira mudar só o usuário, e se quiser mudar só o grupo use o chgrp.


Isso é bastante usado no Linux pois determina quem pode fazer determinadas coisas com os arquivos sem ter que dar permissões para todo mundo.

quinta-feira, 31 de março de 2022

Compactando arquivos no linux

            Nesse artigo vou mostrar como compactar e descompactar arquivos e diretórios no Linux. Vamos imaginar que temos a pasta /home/usuario/meus_arquivos e queremos compactar seus arquivos:

 

Para compactar, usamos:

 

$ zip -r nomeArquivoZip.zip /home/usuario/meus_arquivos/

 

O parâmetro “-r” é de recursivo, assim ele vai incluir as pastas, subpastas e arquivos que existirem na pasta definida. Logo em seguida vem o nome do arquivo zip que será criado, e depois a pasta a ser compactada.

 

Para zipar apenas alguns arquivos, podemos separar os arquivos por espaço.

 

Agora para descompactar usamos o unzip:

 

$ unzip nomeArquivoZip.zip

 

             Para ver o conteúdo sem descompactar podemos passar o parâmetro -l.

quinta-feira, 10 de junho de 2021

Estrutura de diretórios Linux

      Nesse post trago apenas uma imagem que a Vannessa Moura postou no linkedin e mostra a estrutura de diretórios no Linux. Deixei aqui pra garantir ter sempre a mão quando precisar.




sábado, 2 de novembro de 2019

SED (Stream EDitor)

O SED é um editor de texto para usarmos em scripts de configuração para automatizarmos algumas tarefas.
Esse artigo não é de minha autoria e o link do conteúdo original está no final.
1 - Troca todas as palavras em um arquivo por outra

sed -i 's/palavra/outra/' arquivo.txt

2 - Imprime só a nona linha

sed -n '9p' arquivo.txt

3 - Imprime da sexta linha até a nona linha

sed -n '6,9p' arquivo.txt

4 - Deleta todas as linhas que contém a palavra desejada no arquivo

sed -i '/palavra_desejada/d' arquivo.txt

5 - Coloca uma palavra no INÍCIO de cada linha

sed 's/^/palavra/' arquivo.txt

6 - Coloca uma palavra no final de cada linha

sed 's/$/palavra/' arquivo.txt

7 - Imprime só as linhas que COMEÇAM com a string ‘http’

sed -n '/^http/p' arquivo.txt

8 - Deleta só as linhas que COMEÇAM com a string ‘http’

sed -n '/^http/d' arquivo.txt

9 - Troca TODAS ocorrências da palavra “marcos”, “eric”, “camila” pela palavra “pinguim”

sed 's/marcos\|eric\|camila/pinguim/g' arquivo.txt

10 - Troca tudo que estiver ENTRE as palavras “Marcos” e “Eric” pela palavra “eles”, exemplo, o texto é:

“No sábado Marcos saiu de pra brincar de bicicleta com o Eric, mas não ficaram até tarde.” e ficará assim: “No sábado eles, mas não ficaram até tarde.”

sed 's/Marcos.*Eric/eles/' arquivo.txt

11 - Deleta linha em branco e altera o arquivo

sed -i '/^$/d' arquivo.txt

12 - Substitui “foo” por “bar” somente as linhas que contém “plop”

sed '/plop/ s/foo/bar/g' arquivo.txt

13 - Substitui “foo” por “bar” exceto as linhas que contém “plop”

sed '/plop/! s/foo/bar/g' arquivo.txt

14 - Insere da Linha 2 a linha 7 o “#” no início de cada linha

sed '2,7s/^/#/' arquivo.txt

15 - Insere a palavra ‘NEW’ no início de cada linha, da linha 21 até a linha 28:

sed -i '21,28s/^/NEW/' arquivo.txt

16 - Troca tudo entre as tags “<” e “>” pela palavra “CODIGO”:

sed 's/<[^>]*>/CODIGO/g' arquivo.txt

17 - Imprime somente a primeira ocorrência da linha com determinada palavra:

sed -n '/dia/{p;q;}' arquivo.txt

18 - Inclue texto no final da linha 9:

sed '9s/$/final da linha/' arquivo.txt

19 - Coloca todas as linhas em uma só:

sed ':a;$!N;s/\n//;ta;' arquivo.txt

20 - Substitui a palavra “BELEZA” por “SIM” somente entre determinadas linhas:

sed '3,6s/BELEZA/SIM/' arquivo.txt

21 - Apaga o que está entre a palavra “falou” e “segundo” ( delimitadores )

sed '/segundo/{/falou/{s/segundo.*falou//;t};:a;/falou/!{N;s/\n//;ta;};s/segundo.*falou/\n/;}' arquivo.txt

22 - Retira comandos HTML (tudo entre < e > )

sed 's/<[^>]*>//g' arquivo.txt

23 - Apaga o 1° caracter da frase

sed 's/.//' arquivo.txt

24 - Apaga o 4° caractere da frase

sed 's/.//4' arquivo.txt

25 - Apaga os 4 primeiros caracteres

sed 's/.\{4\}//' arquivo.txt

26 - Apaga no mínimo 4 caracteres

sed 's/.\{4,\}//' arquivo.txt

27 - Apaga de 2 a 4 caracteres (o máx. que tiver)

sed 's/.\{2,4\}//' arquivo.txt

28 - Exemplos de intervalo

echo "aáeéiíoóuú" | sed "s/[a-u]//g"

saída: áéíóú

echo "aáeéiíoóuú" | sed "s/[á-ú]//g"

saída: aeiou

29 - Transforma texto (URL) em tags HTML de links.

Era : http://www.com

Fica: <a href=”http://www.com”>http://www.com</a>

sed 's_\<\(ht\|f\)tp://[^ ]*_<a href="&">&</a>_' arquivo.txt



O link abaixo ainda traz o uso de REGEX:

https://terminalroot.com.br/2015/07/30-exemplos-do-comando-sed-com-regex.html

sábado, 19 de outubro de 2019

Virtualbox com Ubuntu fica com resolução da tela pequena


Recentemente fui usar o Virtualbox para montar uma máquina com o S.O. Ubuntu e me deparei com a seguinte situação, a máquina virtual estava com a tela com a resolução de tela super baixa, e estava “cortando” a imagem do sistema operacional.

Tentei mudar a resolução pela interface gráfica, porém, como mencionei, a tela não estava completa e não conseguia mudar a resolução.

Então foi o jeito descobrir uma forma de fazer via terminal, e vejam só, é bem simples!

Usando o comando “xrandr” é possível ver as resoluções disponíveis e escolher uma para usar, abaixo vou mostrar como.

Digite no terminal o comando:

$ xrandr

          Veja que foram listadas as resoluções disponíveis para o seu sistema, como a seguir:

Screen 0: minimum 1 x 1, current 1920 x 1200, maximum 8192 x 8192
Virtual1 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
800x600         60.00 +  60.32
2560x1600     59.99
1920x1440     60.00  
1856x1392     60.00
1792x1344     60.00
1920x1200     59.88*
1600x1200     60.00
1680x1050     59.95
1400x1050     59.98
1280x1024     60.02
1440x900       59.89
1280x960       60.00
1360x768       60.02
1280x800       59.81
1152x864       75.00
1280x768       59.87
1024x768       60.00
640x480         59.94
Virtual2 disconnected (normal left inverted right x axis y axis)
Virtual3 disconnected (normal left inverted right x axis y axis)
Virtual4 disconnected (normal left inverted right x axis y axis)
Virtual5 disconnected (normal left inverted right x axis y axis)
Virtual6 disconnected (normal left inverted right x axis y axis)
Virtual7 disconnected (normal left inverted right x axis y axis)
Virtual8 disconnected (normal left inverted right x axis y axis)

Agora você pode ir testando as resoluções que você acha mais próximo do seu monitor real até encontrar a que melhor se adapte setando a resolução com o comando:

$ xrandr -s 7

Note que 7 é a posição da lista que corresponde a resolução 1680x1050, já que a contagem começa a partir do “0” (zero).

Você também poderia setar direto uma resolução da lista:

$ xrandr -s 1680x1050

          Último detalhe, e mais importante, essa configuração precisa ser setada no arquivo .profile para ser carregada sempre que o sistema iniciar. Coloque na última linha e não apague nada que tem lá! Pronto!

quinta-feira, 17 de outubro de 2019

Resumo sobre o VI - Editor de Texto para linha de comando


Sempre gosto de fazer resumos das coisas para facilitar na hora que é preciso fazer uma busca rápida para lembrar algo. Esse resumo é sobre o VI, editor de texto para linha de comando.

Navegação

Setas - Navegam no arquivo.
"$" - Vai para o final da linha atual.
"0" (zero) - Vai para o ínicio da linha.
Shift + "g" - Vai para a última linha do texto.
"Número da linha" + Shift + "g" - Para ir pra uma linha específica do texto (3 + Shift + "g" => vai para a linha 3).
"/" + "palavra ou frase" + Enter - Faz uma busca no arquivo pelo texto especificado.
"n" - Vai para a próxima ocorrência do texto especificado.
Shift + "n" - Vai para a ocorrência anterior do texto especificado.

Edição de texto

"i" - inclui texto (na posição atual).
"a" - adiciona texto (na posição posterior).
Shift + "a" - adiciona texto (fim da linha).
"Esc" - Sai do modo edição de texto para o modo navegação.

"x" - Remove caracteres (n x remove n caracteres).
"dd" - Remove uma linha (n dd remove n linhas).
"yy" - Copia a linha atual.
"Número de linhas" + "yy" - Copia X linhas a partir da atual.
"p" - Cola o texto no arquivo a partir da posição atual.
"Número de vezes" + "p" - Cola um texto N vezes a partir da posição atual.
":w"- Salva o arquivo.
":q!" - Sai do arquivo sem salvar.
":wq" - Salva e sai do arquivo.