Ferramentas básicas utilizadas no Linux

Essa é a lista das ferramentas que mais utilizo no dia a dia para trabalhar com Linux. Ela será atualizada com o tempo.


whoami – Mostra em qual usuário você está logado.

whoami

sudo – Executar comando com permissões de outros usuário.

-u  -> Estou especificando que quero utilizar as permissões do usuário joca;

Vou executar o comando ifconfig com as permissões do usuário joca.

sudo -u joca ifconfig

tail – Mostrar as últimas partes de um arquivo.

-f  -> Mostra as últimas linha adicionadas ao arquivo em tempo real.

O comando tail serve para mostrar as últimas partes de um arquivo. Por padrão ele exibe as últimas 10 linhas.

Fazendo teste eu percebi que ele não serve para você acompanhar arquivos normais como um arquivo.txt.

tail -f /var/log/syslog

ps – informações sobre os processos

Mostra informações sobre os processos que estão executando na máquina. Diferente do top, ele não recarrega as informações da tela.

aux – Mostra todos os processo executando no computador.

ps aux

killall – Matar todos os processos com um determinado  nome.

killall nome_do_processo

cat –  Exibir o conteúdo de um documento sem precisar abri-lo.

cat php.ini

grep – Filtrar resultados

-n – Vai mostrar a linha do comento onde ele encontrou o padrão especificado
error_log  -> É o texto pelo qual estou filtrando a saída do comando CAT.

cat php.ini | grep -n error_log

cp – Copiar arquivos

-rf  -> Caso acontece algum erro você pode usar esses parâmetros para forçar a cópia (f) recursivamente (r).

cp /home/arthu/Downloads/foto-gatinho.jpg /home/arthu/Imagens/

tree – Mostrar a estrutura do diretório em árvore

-a  -> Todos os arquivos são impressos. Por padrão, a árvore não imprime arquivos ocultos (aqueles que começam com um ponto . )

tree -a

cp e vm – renomear arquivo

cp  -> O que na realidade você está fazendo é gerar uma cópia do arquivo com um nome diferente.

cp teste.html teste.php

mv -> Ele criará o novo arquivo teste.php e excluirá o teste.html

mv teste.html teste.php

scp – Copiar arquivos para um diretório remoto

-r  -> Especificando recursividade na cópia. Ele vai copiar todos os arquivos contidos na pasta de origem.

/home/arthu/teste  -> Pasta/arquivo de origem.

:/var/www/html     -> Pasta de destino

scp -r /home/arthu/teste root@192.168.1.3:/var/www/html/

Informações sobre Distribuição e kernel linux

arthu@arthu-linux ~ $ cat /etc/*-release
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=19
DISTRIB_CODENAME=tara
DISTRIB_DESCRIPTION="Linux Mint 19 Tara"
NAME="Linux Mint"
VERSION="19 (Tara)"
ID=linuxmint
ID_LIKE=ubuntu
PRETTY_NAME="Linux Mint 19"
VERSION_ID="19"
HOME_URL="https://www.linuxmint.com/"
SUPPORT_URL="https://forums.ubuntu.com/"
BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/"
PRIVACY_POLICY_URL="https://www.linuxmint.com/"
VERSION_CODENAME=tara
UBUNTU_CODENAME=bionic
arthu@arthu-linux ~ $ uname -a
Linux arthu-linux 4.15.0-33-generic #36-Ubuntu SMP Wed Aug 15 16:00:05 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
arthu@arthu-linux ~ $ cat /proc/version
Linux version 4.15.0-33-generic (buildd@lcy01-amd64-024) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #36-Ubuntu SMP Wed Aug 15 16:00:05 UTC 2018

dmidecode – Mostrar a informações sobre o hardware e software da máquina

dmidecode -t 1

-t  -> Este parâmetro especifica um filtro por type, o número seguinte é argumento do type que você quer ver. Para mais informações de tipos veja o manual do aplicativo.


history – Exibe os últimos comandos executados no terminal.

history

MTR – Ferramenta gráfica/terminal para teste utilizando o traceroute

mtr google.com

df – Analisar o uso de espaço em disco

df -h

du – Visualizar o tamanho de arquivos e pastas

du -sh /caminho/da/pasta

hostnamectl – Alterar o nome da maquina (hostname)

hostnamectl set-hostname novo-nome

link – Cria um hard link entre arquivos

O exemplo abaixo irá criar na pasta /var/ um link para o arquivo arquivo-real.txt

sudo link ~/arquivo-real.txt /var/link-para-arquivo.txt

dmesg – Útil para analisar o kernel ring buffer, e especialmente para verificar se os firmwares foram carregados corretamente. Exemplo de firmware não carregado corretamente:

[ 20.251831] sof-audio-pci-intel-tgl 0000:00:1f.3: error: tplg request firmware intel/sof-tplg/sof-hda-generic-1ch.tplg failed err: -2
[ 20.251833] sof-audio-pci-intel-tgl 0000:00:1f.3: you may need to download the firmware from https://github.com/thesofproject/sof-bin/
[ 20.251835] sof-audio-pci-intel-tgl 0000:00:1f.3: error: failed to load DSP topology -2
[ 20.251836] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at snd_soc_component_probe on 0000:00:1f.3: -2
[ 20.251841] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: failed to instantiate card -2

Nesse caso a solução foi entrar na pasta /lib/firmware/intel/sof-tplg/ e descompactar o arquivo do firmware:

sudo unzstd sof-hda-generic-1ch.tplg.zst

Se o firmware não existir, você pode tentar baixar via pacote linux-firmware:

sudo apt install linux-firmware

timedatectl – Configurar data e hora
Listar o timezones:

timedatectl list-timezones

Setar um timezone:

sudo timedatectl set-timezone America/Campo_Grande