Seção 1 - Introdução ao curso
Aula 3 - Breve História do LinuxThe Linux Foundation Minix The Linux Kernel Archieve GNU Linux Graphical Timeline Distro Watch
Aula 4 - Escolhendo uma Distro LinuxDebian Kali Linux Ubuntu CentOS Linux Mint Elementary OS
Aula 6 - Conhecendo os fóruns de ajuda e suporteViva o Linux Ubuntu Forum Forum Debian FedoraBr GuiaFoca Ask Ubuntu StackExchange Unix & Linux StackExchange Tecnology StackExchange RaspberryPi StackExchange
Aula 7 - Conhecendo as interfaces gráficasGnome Mate KDE Plasma XFCE LXDE
Seção 2 - Preparação do ambiente
Aula 8 - Instalando o VirtualBoxSeção 3 - Comandos GNU e Unix
Aula 13 - Sistema de arquivos do Linux
Diretórios
/bin e /sbin: Arquivos binários do sistema.
/boot: Arquivos do Kernel Linux.
/dev: Arquivos de dipositivos.
/etc: Arquivos de configuração.
/home: Arquivos de usuários.
/tmp: Arquivos de swap e temporários apagados
automaticamente.
/usr: Arquivos comuns de ususários.
/var: Arquivos de variáveis de ambiente.
Comandos
mount: mostra os dispositivos montados no sistema (serve
para montar novos dispositivos também).
df: mostra informações sobre o sistema de arquivos.
df -Th: mostra o tipo de sistema de arquivos e
utiliza demonstração 'humana'.
findmnt: localiza um sistema de arquivos montado.
du: mostra a o espaço utilizado do disco.
du -sh: mostra a o espaço utilizado do disco de
forma sumarizada e 'humana'.
du -ah: mostra a o espaço utilizado do disco de
arquivos ocultos e de forma 'humana'.
cd: change directory, pwd: mostra o caminho atual,
touch: cria um arquivo vazio.
mkdir: cria um diretório, rmdir: remove um
diretório vazio, rmdir --ignore-fail-on-non-empty:
remove diretório mesmo que não esteja vazio.
ls: list, ls -la: lista arquivos ocultos em
modo detalhado, ls -lR lista o conteúdo dos
diretórios.
ln -s caminho_a_linkar nome_do_link: cria um link
simbólico(-s) para arquivos ou diretórios.
tar -cvf arquivo.tar arquivos_a_armazenar: empacota
os arquivos em um arquivo .tar.
tar -rvf arquivo.tar arquivos_a_armazenar: adiciona
os arquivos em um arquivo .tar existente.
tar -lvf arquivo.tar: lista os arquivos contidos em
um arquivo .tar
tar -xvf arquivo.tar : extrai os arquivos de um
arquivo .tar.
gzip arquivo.tar: compacta um arquivo .tar
less: mostra o conteudo de arquivos. Quando estiver no
texto: g início do arquivo, G fim do arquivo,
h help do less (dentro do documento), /string procura
a string no documento.
ps: mostra os processos daquele diretório.
ps aux | less: mostra todos os processos ativos (em pipe
com o less).
tail: mostra as ultimas linhas de um arquivos. A opção
-n X seleciona o número de linhas a apresentar.
head: faz o mesmo que o tail mas mostra as
primeiras linhas.
cut -f 1 -d ' ' nome_arquivo: mostra apenas o 1
trecho antes do caractere separador ' '. Podemos selecionar qual
parte queremos mostrar alterando o numero e o separador alterando o
caractere (quando for espaço colocamos entre ' ' mas para outros
caracteres não é necessário).
grep: localiza strings em arquivos.
mkdir, rmdir, rm -rf.
mv: move, utilizado para renomear arquivos. (move os
arquivos paraa outro nome).
*: curinga multiplo.
?: curinga de 1 caractere.
[...]: intervalo de caracteres.
>: redireciona a saida do comando para outro comando.
>>: redireciona a saida do comando para outro comando
sem sobreescrever.
<: direciona o conteudo de um arquivo para um comando.
2>: direciona o erro padrão para o arquivo.
&>: direciona o conteudo e o erro padrão para o arquivo.
$(date): mostra a data atual.
{.,.,.} repete os caracteres entre ',' em todas as
ocorrencias do comando utilizado (faz uma combinação como se fosse
um array. Se passarmos dois conjuntos de dados se comportará como um
array multidimensional).
locate: instalar com apt install mlocate. Na
primeira instalação ele ciará um banco de dados (mlocate database)
que pode ser um pouco demorado. Para atualizar o banco de dados
utilizamos o comando updatedb.
Utilizamos o locate para localizar arquivos. Podemos também
utilizar para verificar services com
locate services.
find: localiza arquivos. Podemos utilizar a opção
-name nome_a_procurar ou
-iname nome_a_procurar(ignora o case). Podemos selecionar o
filtro por tamanho dos arquivos com a opção
-size +tamanho_em_bytes/K/M. Um exemplo de busca por tamnho:
$ find / -size +2G -size -5G -exec du -sh {} \;
Podemos fazer a busca por usuário com a opção
-user nome_do_usuário ou por grupo com
-group nome_do_grupo e podemos utilizar a opção
-not para excluir um usuário ou grupo da pesquisa. Outra
opção é ultilzar -ls para que os arquivos apareçam no formato
de lista.
Podemos utilizar o find com pesquisas por permissão dos
arquivos com a opção -perm -777(código da permissão) ou por
data e hora de armazenamento com as opções
-mmin -(tempo em minutos) (verifica alterações nos últimos x
minutos), -ctime -(tempo_em_horas*24). Essas opções são
formadas por -axxxx(acessada), -cxxxx(status alterado)
e -mxxxx(modificada).
A opção -exec permite executar outro comando após as opções
do find. No exemplo acima utilizamos o -exec du para
mostrar a utilização em disco dos arquivos. Podemos também utilizar
-exec echo para imprimir alguma mensagem na tela, por
exemplo:
find /etc -iname passwd -exec echo "Eu encontrei {}" \;
grep: procura uma string em arquivos. Pode ser utilizado
para pesquisar os serviços em /etc/services, ou pode ser
executado em conjunto com outros comandos como o find.
tar: cria um arquivo único com os arquivos selecionados de
modo compactado ou não.
A opção -cvf cria o arquivo de forma 'verbosa' sem
compactação.
A opção -cvzf cria o arquivo de forma 'verbosa' com
compactação gzip (extensão .tar.gz ou .tgz).
A opção -cvjf cria o arquivo de forma 'verbosa' com maior
compactação bzip2 (extensão .tar.bz2).
A opção -xvf extrai os arquivos. Podemos utilizar também
-xvzf ou -xvjf
Para extrair os arquivos em outro diretório utilizamos a opção
-C.
Para visualizarmos o conteudo de uma arquivo tar utilizamos
a opção -tvf.
Para extrair arquivos específicos podemos utilizar o comando
-xvf especificando o arquivo desejado com seu path completo.
Podemos extrair arquivos também com a opção
--extract --file=nome_do_arquivo.tar.
Para removermos arquivos com caracteres curinga utilizamos a opção
--wildcards '*.extenção'.
Para adicionarmos arquivos a uma arquivo .tar existente
utilizamos a opção -rvf (append file). Não é possível fazer
essa operação com arquivos compactados.
gzip arquivo compacta os arquivos e substitui o
arquivo de origem. gunzip arquivo descompacta os
arquivos e exclui o arquivo .gz.
Para compactar ou descompactar os arquivos sem substituir o original
utilizamos a opção -c e direcionamos com o '>' para outro
arquivo. Podemos utilizar o '>' para encaminhar a saida do arquivo
para outro diretório.
Conhecendo a Shell
Aula 23 / Aula 24 - Conhecendo uma Shell / Variantes de uma Shell
Shell são as interfaces de usuário entre o Kernel e as aplicações,
sendo o bash o mais comum.
Podemos criar variáveis na Shell simplesmente declarando o nome da
variável, o sinal de '='(atribuição) e o valor.
Para recuperarmos o valor da variável chamamos o nome da variável
precedido por $.
Podemos ter variáveis locais quando criamos a variável
diretamente e globais quando declaramos a variável prececdida
por export.
O comando set mostra todos os comandos do shell.
O comanddo env mostra as variáveis globais (inclusive as
criadas com export). Já as variáveis locais podem ser
localizadas com o set.
Para limparmos as variáveis locais podemos executar o comando
bash.
As propriedades do shell estão no arquivo
/etc/profile, e os caminhos de PATH estão em
/etc/environment.
As configurações do bash ficam no arquivo
.profile no diretório do usuário. Podemos criar arquivos
.bash_profile ou .bash_login para especificar
outra configurações.
Podemos adicionar variáveis como o editor padrão com o comando
export EDITOR=vim ou export EDITOR=nano.
Podemos verificar nossa variável de PATH com echo $PATH.
O comando alias cria apelidos para sequencias de comandos.
Podemos ver as configurações de alias digitando
alias no prompt.
Para editar os alias para que eles fiquem salvos no perfil
do usuário devemos editar o arquivo .bashrc.
Podemos ainda criar uma arquivo para alias em
.bash_aliases.
Podemos editar o banner de login no arquivo /etc/issue (não
funcionou) ou no /etc/motd (esse deu certo e apresentou o
banner no final da mensagem inicial).
Podemos verificar os processos em execução com o comando
ps aux mas de uma forma mais detalhada com o comando
top.
jobs mostra os trabalhos em excecução. Podemos selecionar
as tarefas pelo número.
Podemos parar os jobs com o comando fg.
Podemos encerrar processos com o comando kill PID.
Essa aula não ficou muito clara.