SparkyLinux – Guia Pós-Instalação 2018

Guia Sparky Linux Pós-Instalação 2018


Sparky Linux Guia Pós-Instalação - Aprendendo comandos terminal Linux

---

Para saber mais visito:

Distrowhatch

---

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!

🙂

.