Guia Sparky Linux Pós-Instalação 2018
Sparky Linux Guia Pós-Instalação - Aprendendo comandos terminal Linux
---
Para saber mais visito:
---
Derivado do Debian Testing, o sparky linux atualiza o kernel para 4.15.0-1 que minimiza Spectre e Meltdown V1 e V2.O. SparkyLinux, tem todo o repositório Debian a disposição. Usa os mesmos comandos do Debian, não tem bugs que eu pude perceber. Funciona bem. Já vem todo configurado pronto para usar. Todos os programas podem ser instalados com a central de programas do sparky linux o APTUS. É só clicar no menu ir em Sistema e selecionar o APTUS, clicar e instalar montes de programas de ponta. Porém, podemos fazer tudo pelo terminal do SparkyLinux, então eu abro o terminal pelo menu do sistema logo após ter instalado o SparkyLinux e executo este tutorial. É útil para mim e espero que seja útil para você também.
Atualização:
sudo sh -c 'dpkg --configure -a ; apt list --upgradable ; apt --fix-broken install ; apt update ; apt full-upgrade -y' ; sudo sh -c 'apt update ; apt-get dist-upgrade ; update-grub ; apt install -f ; apt update ; apt full-upgrade -y'
---
Instalar VirtualBox:
sudo apt-get install virtualbox virtualbox-guest-utils virtualbox-guest-x11 -y
---
Instalar Conky:
sudo sh -c 'apt-get update ; apt-get install -y sparky-conky'
---
Instalar programas preferidos:
sudo sh -c 'clear ; apt-get update ; apt-get install -y seahorse aria2 gufw firewalld firejail smplayer qupzilla midori w3m w3m-img youtube-dl snapd flatpak cmus googler fortune fortunes-br cowsay atril pwgen makepasswd rhythmbox gedit vim transmission uget sigil calibre' ; sudo sh -c 'dpkg --configure -a ; sleep 5 ; apt list --upgradable ; sleep 5 ; apt --fix-broken install ; sleep 5 ; apt update ; apt full-upgrade -y' ; sudo sh -c 'apt update ; apt-get dist-upgrade ; update-grub ; apt install -f ; apt update ; apt full-upgrade -y'
---
Habilitar firewalls:
---
sudo sh -c 'dpkg --configure -a ; apt list --upgradable ; apt --fix-broken install ; apt update ; apt full-upgrade -y' ; sudo sh -c 'apt update ; apt-get dist-upgrade ; update-grub ; apt install -f ; apt update ; apt full-upgrade -y ; systemctl start firewalld.service ; firewall-cmd --state ; ufw enable ; ufw status verbose ; systemctl enable firewalld ; apt update ; apt full-upgrade -y'
---
Habilitar firejail para programas pertinentes a ele:
---
sudo apt update
mkdir -p ~/.local/share/applications; for profile in $(basename -s .profile /etc/firejail/*.profile); do if [[ -f /usr/share/applications/$profile.desktop ]]; then sed -r 's/^(Exec=)/\1firejail /' /usr/share/applications/$profile.desktop > ~/.local/share/applications/$profile.desktop; echo $profile configured to run in firejail; fi; done ; sudo apt upgrade
---
Ao terminar de instalar tudo que preciso executo:
---
sudo sh -c 'dpkg --configure -a ; apt list --upgradable ; apt --fix-broken install ; apt update ; apt full-upgrade -y' ; sudo sh -c 'apt update ; apt-get dist-upgrade ; update-grub ; apt install -f ; apt update ; apt full-upgrade -y'
---
Reinicio a máquina. Não tem nenhum programa aberto fora o terminal:
---
echo ; echo 'Reniciando o sistema em 8 segundos:' ; sleep 8 ; echo ; sudo sh -c 'shutdown -r now'
---
Comandos SparkyLinux - Debian mais usados:
---
ATUALIZAÇÃO COMPLETA:
sudo apt list --upgradable
sudo apt-get update
sudo apt-get upgrade
sudo apt-get full-upgrade
sudo dpkg --configure -a
sudo apt --fix-broken install
---
BUSCA:
apt search
---
INFORMAÇÃO SOBRE PACOTES:
apt show
---
Instalar/Remover/Limpar:
sudo apt-get install
sudo apt-get remove
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get clean ; sudo apt-get update
---
Atualizar Grub:
---
sudo update-grub
---
Aliases para usar no .bashrc:
---
O .bashrc é um arquivo que posso acessar em minha home apertando as teclas Ctrl+H o localizo abro com um editor de texto e no final do .bashrc colo os aliases abaixo e salvo e fecho o arquivo. Após, digito no terminal: source .bashrc
####################
# Aliases do Usuário
#
# PARA ESCONDER O NOME DO USUARIO E DO PC
#
export PS1="\W \$"
#
# SABER O PID
#
alias pf="pidof"
#
# MATAR COM NUMERO DO PID
#
alias k9="kill -9"
#
alias k15="kill -15"
#
fortune | cowsay
#
alias fort='fortune | cowsay'
#
alias e='exit'
#
alias c='clear'
#
alias up="sudo sh -c 'dpkg --configure -a ; apt list --upgradable ; apt --fix-broken install ; apt update ; apt full-upgrade -y' ; sudo sh -c 'apt update ; apt-get dist-upgrade ; update-grub ; apt install -f ; apt update ; apt full-upgrade -y'"
#
alias fire="sudo sh -c 'dpkg --configure -a ; apt list --upgradable ; apt --fix-broken install ; apt update ; apt full-upgrade -y' ; sudo sh -c 'apt update ; apt-get dist-upgrade ; update-grub ; apt install -f ; apt update ; apt full-upgrade -y ; systemctl start firewalld.service ; firewall-cmd --state ; ufw enable ; ufw status verbose ; systemctl enable firewalld ; apt update ; apt full-upgrade -y'"
#
alias sbrc='source .bashrc'
#
alias brc='leafpad .bashrc'
#
alias it='sudo apt-get install'
#
alias rem='sudo apt-get remove'
#
alias sf='apt search'
#
alias pac='apt show'
#
# ALIASES PARA ATIVAR SCRIPT
#
alias chm="chmod +x"
#
alias chma="chmod a+x"
#
# ATALHOS PARA LISTAGENS DE DIRETÓRIOS
#
alias ll="ls -l"
#
alias lf="ls -F"
#
alias l="ls -al"
#
alias lm="ls -al | more"
#
alias lis="ls --color"
#
# ALIAS PARA COMANDOS DE DATA E HORA
#
alias d="date +%F"
#
alias agora="date +'%T'"
#
alias hoje="date +'%d/%m/%Y'"
#
# ALIASES HISTÓRICO
#
alias hm="history | more"
#
alias hg="history | grep -i"
#
# PARA OBTER INFORMAÇÕES DO SISTEMA
#
alias def="df -Tha --total"
#
alias deu="du -ach | sort -h"
#
alias freee="free -mt"
#
alias pes="ps auxf | more"
#
# COMANDOS FLATPAK
#
alias comandosflatpak="echo 'flatpak list, Executar aplicativo: flatpak run nome_do_aplicativo_tem_dois_pontos, flatpak uninstall nome_do_aplicativo_pelo_menos_dois_pontos, flatpak update, flatpak remote-list, flatpak remote-list nome_do_repositório, flatpak remote-delete nome_do_repositório, flatpak install --from, flatpak install --from https://, Para executar: flatpak run org.nome_repositorio.nome_do_programa'"
#
# COMANDOS SNAP
#
alias comandossnap="clear ; echo 'sudo snap remove nome_do_pacote, snap find termo_de_busca, snap install nome_do_pacote, snap list, snap changes, sudo snap refresh nome_do_pacote, snap refresh --list, snap revert nome_do_pacote'"
#
# Fim dos Aliases do Usuário
---
Os prompts padrão do Linux são:
---
Para root:
- # -
Para os outros usuários:
- $ -
---
Após pressionar o os comandos informados no meu terminal são examinados pelo Shell, que no meu caso é o Bash. Após o exame do Shell os comandos informados são passados para o Linux, que executa o comando ou exibe uma mensagem de erro.
---
Comandos do Linux tem quase sempre a seguinte forma:
comando [- opções] [argumentos]
comando [- opções] [parâmetros]
---
Exemplo:
---
Digite no terminal: whoami
Aperte a tecla Enter.
Digite no terminal: cd
Aperte a tecla Enter.
---
Use o exemplo abaixo para digitar no terminal:
ls -tli /home/seu_user_whoami/Downloads/
---
No exemplo acima;
---
ls (É o comando.)
-tli (É a opção.)
/home/seu_user_whoami/Downloads/ (É o parâmetro/argumento.)
---
Executo os exemplos abaixo para entender como obter ajuda:
man --help
man grep
apropos mkdir
whatis bash
whereis sh
---
QUERO SABER A VERSÃO DA DISTRIBUIÇÃO ENTÃO DIGITO:
---
lsb_release -a
---
cat /etc/issue
---
ME INFORMO SOBRE O KERNEL E ARQUITETURA DA MÁQUINA (faço sempre que posso pra eu não esquecer):
---
uname -a
---
uname -r
---
arch
---
Eu quero aprender atalhos de terminal do GNU/Linux então eu leio o texto abaixo:
---
Atalho + Função
Ctrl + a Move o cursor para o início da linha
----------------------------------------------------
Ctrl + e Move o cursor para o final da linha
----------------------------------------------------
Ctrl + l Limpa a tela, semelhante ao comando clear
----------------------------------------------------
Ctrl + u Apaga do cursor ao início da linha.
----------------------------------------------------
Ctrl + k Apaga do cursor ao final da linha.
----------------------------------------------------
Ctrl + w Apaga uma palavra antes do cursor.
----------------------------------------------------
Ctrl + Shift + _ Desfaz as últimas mudanças.
----------------------------------------------------
!! Executa o último comando no histórico.
----------------------------------------------------
!abc Executa o último comando no histórico começando com abc.
----------------------------------------------------
!n Executa o comando de número n no histórico.
----------------------------------------------------
---
Para aprender o que li acima, executo o ensinamento abaixo:
---
Abro o terminal pelo menu do sistema.
---
Colo o texto abaixo no terminal, mas poderia ser qualquer frase:
---
Frase: "Ctrl + u Apaga do cursor ao início da linha."
---
Agora aperto duas teclas, as teclas:
Ctrl + A
---
Aperto a seta do teclado para a direita quatro vezes. Então aperto as teclas:
---
Ctrl + U
---
Aperto duas teclas, as teclas Ctrl + E
(Control e E)
---
Aperto a tecla seta para esquerda 7 vezes.
---
Aperto as teclas Ctrl + K
---
Aperto as teclas Ctrl + W
---
Aperto 3 teclas: Crtl + Shift + _
(Control, Shift e Underline.)
---
Aperto a tecla seta para cima algumas vezes.
---
Aperto a tecla seta para baixo algumas vezes.
---
Pronto. Já estou sabendo alguma coisa. Com isto, já aprendi bastante sobre atalhos de teclado para o terminal Linux.
---
VERIFICO INFORMAÇÕES DA MINHA CPU:
cat /proc/cpuinfo
---
Me lembro que o terminal do Linux tem sensibilidade a letras maiúsculas e minúsculas. Um arquivo chamado Texto.txt é diferente de texto.txt
---
VERIFICO INFORMAÇÕES DA MINHA MEMÓRIA:
cat /proc/meminfo
---
Quero saber que dia é hoje para o terminal, digito:
date
---
Quero saber quando cairá certo dia em outro ano anterior ou posterior usando pipe "|" e "less":
~$ cal 2018 | less
---
Aperto a tecla Q para sair do calendário. O pipe "|" serve para unir um comando a outro. No GNU/Linux posso unir programas que trabalharão juntos.
---
Para saber informação sobre o sistema e o hardware.
---
Info CPU
cat /proc/cpuinfo
---
Info memória
cat /proc/meminfo
---
Detalhes da versão
cat /proc/version
---
Detalhes da partição
cat /proc/partitions
---
Detalhes dispositivos SCSI/Sata
cat /proc/scsi/scsi
---
Info dispositivos SATA
hdparam /dev/sda1
---
Lista componentes do Hardware
sudo lshw
---
Imprime info do hardware
sudo hwinfo --short
---
Lista dispositivos scsi
sudo lsscsi
---
Lista todos os dispositivos PCI
lspci
---
Lista dispositivos USB
lsusb
---
Lista dispositivos de bloco
lsblk
---
Mostra informação sobre a arquitetura da CPU
lscpu
---
Comandos para manipulação de arquivos e diretórios:
---
pwd (Informa o nome do diretório corrente)
cd (Navega entre diretórios)
cd (Volta para a home)
cd . (Diretório atual)
cd .. (Retrocede um diretório)
cd - (Avança para o último diretório em que esteve)
ls (Lista arquivos e diretórios)
ls -a (Lista diretórios, arquivos e arquivos ocultos)
ls -t (Lista arquivos e diretórios por data de modificação)
cp (Copia arquivos e diretórios)
mv (Move ou renomeia arquivos e diretórios)
ln (Estabelece ligações entre arquivos)
ln -s (Estabelece ligações simbólicas entre arquivos)
mkdir (Cria um diretório)
mkdir -p (Cria um diretório e um sub-diretório)
rmdir (Remove um diretório vazio)
rm -f (Apaga arquivos)
rm -r (Apaga diretórios)
file (Indica tipo de arquivo)
grep (Pesquisa arquivos por conteúdo)
grep -i palavra-que-procura arquivo-de-texto.txt
grep -i arquivo-que-procura caminho/para/diretório
find (Localiza arquivo por suas características)
find -name "palavra-termo-de-busca"
find -iname "palavra-termo-de-busca"
---
find -name nome-do-arquivo -exec rm {} \; (Executa o comando cmd . O escopo de comando é considerado encerrado quando um ponto e vírgula (;) é encontrado. A cadeia {} é substituída pelo nome de cada arquivo que satisfaz ao critério de pesquisa e a linha assim formada é executada. Assim como foi dito para a opção - name, o ponto e vírgula (;)deve ter antes uma contrabarra, ou deve estar entre aspas ou apóstrofos)
---
Exemplo (faça o teste pelo terminal):
nome-do-arquivo.extensão (Cria arquivo vazio)
touch nome-do-arquivo.extensão nome-do-arquivo2.extensão (Cria um ou mais arquivos vazios)
cat nome-do-arquivo.extensão > nome-do-arquivo.extensão (Cria arquivo vazio)
---
cd - Navegando entre pastas/diretórios
---
cd . (pasta atual)
cd .. (pasta anterior)
cd ~ (pasta home do usuário)
cd - (última pasta)
---
ls - Lista arquivos
---
ls [opções ] [arquivo/diretório/pasta]
---
ls -l
---
ls -t
---
ls *.txt
(asterisco representa qualquer coisa ligada a .txt)
---
ls *.sh
(asterisco representa qualquer coisa ligada a .sh)
---
ls -lat
---
ls -lah
---
ls ????.txt
---
ls ????.sh
(o ponto de interrogação substitui um e somente um caractere)
---
ls [at]*.mp3
(listar todos os arquivos começados por a ou t, seguido por qualquer coisa * e terminados por .mp3). Exemplo:
$ls [at]*.mp3
alcione_ne_me_quitte_pas.mp3 alex_cohen_quem_de_nos_dois.mp3
alex_cohen_hotel_california.mp3
---
cp - Copia de arquivos e diretórios
---
cp [opções]
---
Se usar:
---
cp -i
---
É o modo interativo. Uso se não tenho certeza de que o arquivo foi copiado previamente, pois copiar novamente sobreescreve o arquivo copiado e posso perder alguma coisa...
---
Se usar:
---
cp -v
---
Mostra o que está copiando
---
Se usar:
---
cp -r
---
Copia recursivamente arquivos pastas e sub-pastas
---
mv - MOVER ARQUIVOS E PASTAS/DIRETÓRIOS
---
É usado para renomear arquivos, é quase o mesmo que copiar o arquivo origem para o arquivo destino e depois remover o arquivo origem. As opções do mv são parecidas com as do comando cp.
---
Se eu crio o arquivo-teste.txt pelo terminal com o comando touch e escrevo algo nele com o comando echo redirecionando a saída do echo para o arquivo-teste.txt, depois leio o que escrevi com o comando cat eu posso copia-lo para o 2arquivo-teste-novo.txt com o comando mv.
---
Execute os comandos abaixo um de cada vez:
---
cd
touch arquivo-teste.txt
ls -li
ls -t
echo 'Aprendendo Linux!' >> arquivo-teste.txt
cat arquivo-teste.txt
find -name "arq*"
find -iname "arq*"
find *.txt
mv arquivo-teste.txt 2arquivo-teste-novo.txt
ls -li
ls -t
cat 2arquivo-teste-novo.txt
find -name "2arq*"
find -iname "2arq*"
---
Por exemplo, o comando mv é útil quando eu tenho um arquivo que vou refazer mas quero guardar o arquivo antigo como base para o novo arquivo.
---
O comando mv pode mover o 2arquivo-teste-novo.txt para a pasta Downloads.
---
cd
ls -li
ls -t
pwd
mv 2arquivo-teste-novo.txt Downloads/
cd Downloads/
pwd
ls -li
ls -t
cat 2arquivo-teste-novo.txt
find -name "2arq*"
find *.txt
---
Agora renomeio o 2arquivo-teste-novo.txt para 3arquivo-teste-velho.txt:
---
mv 2arquivo-teste-novo.txt 3arquivo-teste-velho.txt
cat 3arquivo-teste-velho.txt
find -name "3ar*"
---
CONTINUE EXECUTANDO UM COMANDO DE CADA VEZ.
---
pwd
ls -t
mv -b 3arquivo-teste-velho.txt 3arquivo-teste-back.txt
ls -t
pwd
cat 3arquivo-teste-back.txt
mv -i 3arquivo-teste-back.txt 4arquivo-teste-velho.txt
ls -t
pwd
cat 4arquivo-teste-velho.txt
find -name "4arq*"
find *.txt
find -iname "4arq*" -exec rm {} \;
ls -t
find *.txt
---
ln - Estabelece ligações entre arquivos
---
ln [-s]
---
O comando ln cria ligações (links).
---
Existem dois tipos de ligações:
Hard Link e Link Simbólico.
---
Hard Link: neste caso, os dois compartilham os dados. Se apagar o arquivo original o hardlink permanece funcionando. Somente é possível fazer hardlink em arquivos que estejam em uma mesma partição de disco. Somente o usuário proprietário do sistema pode criar/desfazer hardlinks.
---
Ex:
> arq3-test.txt
ls -lit
ln arq3-test.txt arq3-hard-link
ls -lit (veja se possuem o mesmo número Inode e o mesmo device)
echo '1-Aprendendo sobre hard link.' >> arq3-test.txt
cat arq3-hard-link
echo '2-Mais uma linha escrita: Aprendendo sobre hard link.' >> arq3-hard-link
ls -lit
cat arq3-test.txt
rm -f arq3-test.txt
ls -lit
cat arq3-hard-link
---
Link Simbólico é somente o caminho do
arquivo-origem. Diferente do hard link pode-se fazer links simbólicos em arquivos e pastas. Nenhum dos dois precisam estar na mesma partição de disco.
---
Uso mais Link Simbólico. Para entender vou criar links. Executo os comandos abaixo um de cada vez.
.
Ex:
touch arq4-test.txt
ls -t
ln -s arq4-test.txt arq4-link-simb
ls -tli
echo 'Aprendendo sobre link simbolico.' >> arq4-link-simb
cat arq4-test.txt
ls -t
rm -f arq4-test.txt (Este é o arquivo origem)
cat arq4-link-simb
ls -t
rm arq4-link-simb
.
Comandos que leem da entrada padrão (stdin/teclado) e escrevem na saída padrão (stdout/monitor de vídeo). O propósito destes filtros quase sempre é o de modificar a saída de outros, por isso, geralmente são utilizados em combinação com mais comandos. Exemplo:
cat, wc, sort, head, tail
.
cat (Exibe conteúdo de arquivos)
wc (Conta caracteres, palavras e/ou linhas de arquivos)
sort (Ordena o conteúdo de arquivos)
head (Exibe o início dos arquivos)
tail (Exibe o final dos arquivos)
.
Os comandos/filtros acima se não forem direcionados para um arquivo, irão aparecer na tela do terminal.
.
Até Breve!
🙂
.