Escolar Documentos
Profissional Documentos
Cultura Documentos
Início 1.1
Sumário 1.2
Introdução 1.3
Capítulo 1 - Linux: introdução teórica 1.4
Um pouco da história 1.4.1
Software livre 1.4.2
Open source (código aberto) 1.4.3
Código-fonte 1.4.4
Qual a diferença entre Linux e GNU... 1.4.5
Sistema Operacional (SO) 1.4.6
Licença de software 1.4.7
GPL 1.4.7.1
Copyleft 1.4.7.2
Outras licenças 1.4.7.3
Distribuições Linux 1.4.8
Onde o Linux é usado 1.4.9
Qual é a melhor distribuição Linux? 1.4.10
Os benefícios de uma distribuição Linux 1.4.11
Por trás da interface gráfica 1.4.12
Resumo 1.4.13
Capítulo 2 - Estrutura e funcionamento do Linux 1.5
Estrutura sistêmica do GNU/Linux 1.5.1
Terminal Virtual (ttyN) 1.5.2
Introdução ao shell 1.5.3
Logon e logout 1.5.3.1
Superusuário (root), usuário... 1.5.3.2
Primeiro contato com o shell 1.5.4
Árvore de diretórios ("pastas") 1.5.5
Case-sensitive 1.5.6
Referências absoluta e relativa 1.5.7
Entrada e saída padrão de dados 1.5.8
Resumo 1.5.9
Capítulo 3 - Comandos Programas essenciais 1.6
Comandos Programas básicos 1.6.1
help 1.6.1.1
man 1.6.1.2
logout 1.6.1.3
shutdown, poweroff e halt 1.6.1.4
reboot 1.6.1.5
pwd 1.6.1.6
history 1.6.1.7
Manipulação de arquivos e diretórios 1.6.2
ls (list) 1.6.2.1
Listando o conteúdo do... 1.6.2.1.1
Opções (atributos de...) 1.6.2.1.2
Listar arquivos ocultos 1.6.2.1.3
cd (change directory) 1.6.2.2
cp (copy) 1.6.2.3
rm (remove) 1.6.2.4
mkdir 1.6.2.5
rmdir 1.6.2.6
cat 1.6.2.7
more 1.6.2.8
cut 1.6.2.9
find 1.6.2.10
grep 1.6.2.11
head 1.6.2.12
tail 1.6.2.13
wc 1.6.2.14
tar 1.6.2.15
gzip e bzip2 (compactar e...) 1.6.2.16
Outros comandos 1.6.2.17
Curingas 1.6.3
Utilizando | (pipe) para direcionar... 1.6.4
Encadeando execuções com : (ponto... 1.6.5
Exemplos 1.6.5.1
Redirecionar saída com > ou >> 1.6.5.2
Atalhos essenciais 1.6.6
Resumo 1.6.7
Capítulo 4 - Usuários, grupos e permissões 1.7
O que é um usuário 1.7.1
O que é um grupo de usuários 1.7.2
O que são permissões 1.7.3
Gerenciamento de usuários e grupos 1.7.4
Criar usuário 1.7.4.1
Editar usuário e senha 1.7.4.2
Excluir usuário 1.7.4.3
Criar um grupo 1.7.4.4
Adicionar e remover usuário... 1.7.4.5
Excluir grupo 1.7.4.6
Diretório home do usuário 1.7.4.7
Gerenciamento de permissões 1.7.5
Adicionar, remover e definir... 1.7.5.1
Usando chmod com método... 1.7.5.2
Umask 1.7.5.3
Calcular umask 1.7.5.3.1
Umask para permissão 1.7.5.3.2
Alterando umask 1.7.5.3.3
Permissões especiais 1.7.5.4
SUID (set user id) 1.7.5.4.1
SGID (set group id) 1.7.5.4.2
Sticky (sticky bit) 1.7.5.4.3
Vantagens (SUID, SGID...) 1.7.5.4.4
sudo 1.7.5.5
Resumo 1.7.6
Capítulo 5 - Editores de texto (Nano e VIM) 1.8
Nano 1.8.1
Vim (VI iMproved) 1.8.2
Nano ou Vim 1.8.3
Resumo 1.8.4
Capítulo 6 - Instalar, atualizar e remover... 1.9
Pacotes 1.9.1
Gerenciador de pacotes 1.9.2
Repositório 1.9.3
Apt-get ou Aptitude? 1.9.4
Apt-get / apt-cache (básico) 1.9.4.1
Aptitude (básico) 1.9.4.2
yum 1.9.5
Capítulo 7 - Gerenciamento de rede 1.10
Testando a conectividade 1.10.1
ping 1.10.1.1
telnet 1.10.1.2
traceroute 1.10.1.3
Visualizando e configurando end... 1.10.2
ifconfig 1.10.2.1
dhclient 1.10.2.2
Arquivo de configuração das... 1.10.2.3
Resumo 1.10.3
Lista de exercícios 1.11
Sugestões de leitura 1.12
Conclusão 1.13
Contatos 1.14
Linux Essencial - Por trás da interface gráfica
Autor: Fábio J L Ferreira
Contato:
E-mail: contato@fabiojanio.com
Nas redes:
Facebook: http://www.facebook.com/blogfabiojanio
Twitter: https://twitter.com/_SDinfo
Linkedin: http://br.linkedin.com/in/fabiojanio
Blog: http://www.fabiojanio.com/
Introdução
A sociedade moderna está totalmente dependente da tecnologia - esse é um
fato consumado. Porém, em muitos aspectos somos meros usuários, ou seja,
não compreendemos seu funcionamento e, por conta disso, nos tornamos
reféns daqueles que detêm o poder sobre as tecnologias que utilizamos no
dia a dia. Em alguns casos, somos considerados consumidores de
tecnologias sem voz ativa nem poder de escolha.
Não seja um mero usuário; tome as rédeas do jogo. Não sabe como? Neste
momento, estou lhe convidando a estudar, pesquisar e se aventurar no
universo do software livre, um universo de possibilidades infinitas,
limitadas tão somente pela sua imaginação e capacidade de inovar.
- Autor desconhecido
Alguns dos termos discutidos neste capítulo serão utilizados até o fim desta
obra; sendo assim, seu entendimento se torna no mínimo obrigatório!
1.1 Um pouco da história
A busca incansável por mudar, aprimorar-se e, principalmente, evoluir
levou o estudante de ciência da computação da Universidade de Helsinki,
na Finlândia, Linus Torvalds a iniciar um processo de aprimoramento do
núcleo do Minix, um sistema operacional Unix-like escrito por Andrew
Tannenbaum. Deste aprimoramento surgiu o Linux, um kernel Unix-like,
que teve sua primeira versão oficial publicada no final de 1991.
A Open Source Initiative (OSI) tenta ser mais flexível do que a Free
Software Foundation na classificação de software. Para tanto, dita dez
regras utilizadas para classificar um software como open source; são elas:
Você pode nem imaginar, mas grandes estúdios de animação, tais como
Pixar Estúdios, Lucas Arts e DreamWorks já utilizaram ou ainda
utilizam o Linux na renderização de suas obras. Alguns bons exemplos de
obras renderizadas utilizando o Linux são: O Senhor dos Anéis, Vida de
Inseto e Shrek.
1.10 Qual é a melhor distribuição Linux?
Vixi, calma lá! Não existe a melhor distribuição; existe aquela que é mais
adequada às suas necessidades. Listarei abaixo as minhas preferências:
Então, Debian é a melhor opção para montar servidor e Linux Mint para
uso pessoal? Não; essas foram as melhores opções para mim, mas cada um
de nós vê o mundo de uma forma diferente e possui necessidades distintas.
Sugiro que faça como eu: teste outras distribuições Linux até encontrar sua
cara-metade.
- Leonardo da Vinci
Para prosseguirmos com este capítulo, é necessário que você tenha uma
distribuição Debian devidamente instalada. Caso não conheça o processo de
instalação ou necessite de algum auxílio, consulte o material de apoio
"Linux - Instalando a distribuição Debian".
Figura 2 - Logon
Caso não tenha errado o nome do usuário nem a senha, teremos um logon
efetuado com sucesso:
Figura 3 - Tela após o logon
/bin
/Bin
/biN
/BIN
pwd
Pwd
pWD
PWD
Devemos ter muita atenção ao utilizar referência relativa, pois este tipo de
apontamento é variável. Para fixar o entendimento, veja os exemplos
abaixo, baseados na estrutura da Figura 4:
- Fiódor Dostoiévski
$ [comando] --help
A seta em vermelho (primeira linha) mostra que foi solicitada ajuda para o
comando ls (apresentado adiante). Na segunda linha temos uma
demonstração de como o comando deve ser usado; já nas linhas seguintes
temos o restante dos parâmetros aceitos pelo programa, neste caso o ls.
3.1.2 man
q: sai do manual;
PageDown ou f: rola 25 linhas para baixo;
PageUp ou w: rola 25 linhas para cima;
Seta para cima ou k: rola 1 linha para cima;
Seta para baixo ou e: rola 1 linha para baixo;
p ou g: volta para o início;
h: mostra a página de ajuda do manual.
Opções:
$ exit
$ logout
$ <CTRL> + d
3.1.4 shutdown, poweroff e halt
# shutdown -h now
# poweroff
# halt
# reboot
3.1.6 pwd (print working directory)
$ pwd
Resultado:
$ history
Resultado:
Caso seu shell seja o bash, utilize as setas para cima e para baixo para
percorrer o histórico.
Para descobrir o shell atualmente em uso, basta imprimir o valor da variável
de sistema $0:
$ echo $0
Resultado:
O retorno acima confirma que estamos usando o bash. Caso queira mudar
para outro shell, por exemplo, sh, basta digitar sh e pressionar ENTER; já
para sair de um shell basta digitar exit e pressionar ENTER.
3.2 Manipulação de arquivos e diretórios
O conjunto de comandos a seguir nos permite identificar o diretório
corrente, listar, copiar, mover e excluir arquivos e diretórios.
3.2.1 ls (list)
$ ls [opções] [caminho_do_arquivo_ou_diretório]
3.2.1.1 Listando o conteúdo do diretório corrente
ls
Resultado:
$ ls -lt /home
Resultado:
Iremos analisar a Figura 10 linha por linha. Sendo assim, vamos à 1ª linha:
Figura 11 - Atributos
Respectivamente:
Para listar um arquivo oculto é muito simples: basta utilizar o atributo -a.
Veja:
$ ls -a
.exemplo1
.arquivo_oculto
$ cd [diretório]
3.2.3 cp (copy)
Opções:
rm [opções] [caminho_do_arquivo_ou_diretório]
Opções:
Opções:
Este comando pode ser utilizado para concatenar arquivos ou ler seu
conteúdo. Nesta obra iremos focar na característica que permite
ler/apresentar conteúdo. Sintaxe:
Opções:
Opções:
Opções internas:
Uma outra boa alternativa para paginação é o comando less, que é muito
semelhante ao more, porém permite a navegação linha a linha, além da
navegação por página igual à do comando more
3.2.9 cut (cortar)
Opções:
Opções:
Exemplos:
Expressão:
Opções:
Exemplo:
Opções:
Opções:
Opções:
wc [opções] [arquivo]
Opções:
Opções:
Exemplo:
Opções:
Essa obra não tem como objetivo ser um guia de comandos, logo, deixarei
abaixo uma lista de comandos igualmente importantes, porém, caberá a
você buscar mais informações sobre eles:
A lista vai muito além dos comandos listados acima, porém, como já foi
dito, esta obra não é um manual de comandos.
$ rm arq*.txt
$ rm arquivo[2,4].txt
ls /etc | sort
cd /ettc ; ls /
cd /ettc && ls /
ls -l /etc | more
ls -l /etc | wc
Essa forma de uso não se limita aos programas apresentados até aqui.
3.5.2 Redirecionar saída com > ou >>
Exemplo:
cat /tmp/output.txt
Viu só? O conteúdo gerado pelo comando ls -l está no arquivo, logo o
redirecionamento ocorreu com sucesso. Este recurso é muito valioso; pode
ter certeza de que em algum momento irá precisar dele para gerar relatórios,
salvar lista de arquivos ou até mesmo output de algum shell script (tema
para outro momento).
3.6 Atalhos essenciais
Os atalhos abaixo têm como objetivo facilitar nossa vida. Neste caso em
especial, os caracteres digitados não são case-sensitive, ou seja, tanto faz
digitá-los em minúsculo ou maiúsculo, seu efeito será o mesmo:
Mãos à obra!
Capítulo 4 - Usuários, grupos e permissões
"Pensa como pensam os sábios, mas fala como falam as pessoas
simples."
- Aristóteles
# useradd zezinho
# adduser zezinha
useradd: cria um usuário simples, que não possui senha nem diretório
/home;
adduser: cria um usuário completo, com senha e diretório /home.
Estes nomes de usuários são interessantes para nós, meros mortais, porém,
o sistema não os compreende. Quando um usuário é criado, a ele é atribuído
um ID, pelo qual o sistema interpreta e identifica os usuários. Para consultar
um ID, utilize a instrução:
$ id nome_do_usuário
uid: id do usuário;
gid: id do grupo do usuário;
grupos: id dos grupos dos quais o usuário faz parte.
# usermod --help
$ passwd
Caso o comando seja executado conforme acima, este irá alterar a senha do
usuário que o executou. Se for informado um login, será alterada a senha do
usuário informado, porém, para isso, você necessita ter privilégio de root.
chfn
4.4.3 Excluir usuário
# userdel -r login
# groupadd nome_do_grupo
# groupdel nome_do_grupo
4.4.7 Diretório home do usuário
$ ls -a /etc/skel
$ cd /tmp
$ touch arquivo
$ ls -l arquivo
r = leitura / read
w = escrita / write
x = execução / execution
- (sinal de hífen) = permissão desativada
u = dono
g = grupo
o = outros
a = todos
Figura 13 - Permissões
$ cat arquivo
retorno:
Não foi possível ler o arquivo; isso se deve ao fato de que o dono não
possui permissão de leitura, apenas de escrita. Para adicionar a permissão
de leitura, execute a instrução:
r (leitura / read) = 4
w (escrita / write) = 2
x (execução / execution) = 1
- (sinal de hífen / permissão desativada) = 0
$ umask
Será retornado o valor 0022 (valor padrão), que não faz muito sentido, não
é mesmo? Experimente utilizar o próprio umask para traduzir esse número
para algo mais compreensivo:
$ umask -S
777
- 755
022
777
- 022
755
$ umask 0077
Com essa instrução vamos impor a máscara 700 (o dono pode tudo e os
demais não podem nada). Porém, essa alteração é temporária e será
esquecida quando o usuário encerrar sua sessão.
Já vimos como o chmod funciona, então vamos nos atentar somente ao que
desrespeita a propriedade SUID. O primeiro número "4" da sequência
"4744" e a letra "s" da expressão "u+s" representam uma propriedade
SUID, que pode ser atribuída ou removida como qualquer outra permissão.
Por fim, é interessante saber que podemos pesquisar arquivos que
contenham essa propriedade por meio de qualquer uma das instruções
abaixo:
Caso não tenha ficado claro, é importante salientar que a propriedade SUID
faz parte do conjunto de permissões aplicadas ao dono do arquivo.
4.5.4.2 SGID (set group id)
Quando se trata de arquivos executáveis, SUID e SGID possuem um
comportamento equivalente, ou seja, se comportam da mesma forma. A
diferença fica por conta de que, quando SGID é aplicada a um diretório, os
novos arquivos e subdiretórios criados dentro dele irão automaticamente
assumir o mesmo ID de grupo do diretório que recebeu a propriedade
SGID.
Já vimos como o chmod funciona, então vamos nos atentar somente ao que
desrespeita a propriedade SGID. O primeiro número "2" da sequência
"2754" e a letra "s" da expressão "g+s" representam uma propriedade
SGID, que pode ser atribuída ou removida como qualquer outra permissão.
Por fim, é interessante saber que podemos pesquisar arquivos que
contenham essa propriedade por meio de qualquer uma das instruções
abaixo:
Caso não tenha ficado claro, é importante salientar que a propriedade SGID
faz parte do conjunto de permissões aplicadas ao grupo.
4.5.4.3 Sticky (sticky bit)
Quando aplicado a arquivos executáveis, faz com que o sistema mantenha
uma imagem deles na memória; isso irá melhorar o desempenho na próxima
execução, mas utilize essa capacidade com sabedoria: lembre-se que a
memória RAM é um recurso limitado. Já em diretórios, essa propriedade
impede que outros usuários possam deletar ou renomear arquivos dos quais
não são donos independentemente das permissões que possuam; somente o
dono e o root serão capazes de executar tais ações.
Já vimos como o chmod funciona, então vamos nos atentar somente ao que
desrespeita a propriedade Sticky bit. O primeiro número "1" da sequência
"1757" e a letra "t" da expressão "o+t" representam uma propriedade Sticky
bit, que pode ser atribuída ou removida como qualquer outra permissão.
Por fim, é interessante saber que podemos pesquisar arquivos que
contenham essa propriedade por meio de qualquer uma das instruções
abaixo:
Caso não tenha ficado claro, é importante salientar que a propriedade Sticky
bit faz parte do conjunto de permissões aplicadas ao grupo.
4.5.4.4 Vantagens (SUID, SGID e Sticky bit)
Pode ser que você esteja pensando: "mas qual a real vantagem destas
permissões especiais?". Simples: promover uma camada ainda mais
sofisticada de segurança. Calma, não fique estressado; irei explicar.
$ sudo ip
Neste capítulo, vimos como criar usuários e grupos, e como limitar o acesso
destes a diretórios, arquivos e recursos do sistema, utilizando-se do
mecanismo de permissões.
- R. Buckminster Fuller
Para nosso estudo, separei dois ótimos software para edição de texto; o
Nano, considerado simples e objetivo, e o VIM, uma opção mais
sofisticada e cheia de recursos.
5.1 Nano
O GNU Nano (publicado em 2001) foi projetado para ser um substituto
livre para o editor de texto Pico, parte da suíte de e-mail Pine da
Universidade de Washington. Ele tem como objetivo ser tão simples quanto
ou até mais simples que o Pico e incorporar recursos extras.
$ nano
Observe que no canto inferior do editor existe uma barra de opções; para
acessá-las, pressione a tecla CTRL + a letra da opção a ser executada.
$ vi
$ vi nome_do_arquivo
5.2.1.4 Editar
dl = apaga uma letra;
dw = apaga uma palavra a partir da posição do cursor;
dd = apaga a linha atual;
dˆ ou d0 = apaga da posição atual até o início da linha;
d$ ou D= apaga da posição atual até o fim da linha;
dgg = apaga da posição atual até o início do arquivo;
dG = apaga da posição atual até o fim do arquivo.
A lista acima nos permite apagar parte do texto, porém, o conteúdo apagado
na verdade é copiado para a memória (buffer = área de transferência), o que
nos permite deslocar o cursor para outra posição e utilizar a tecla p para
colar o texto na posição desejada, caso seja essa a intenção. Outra
informação igualmente importante é que um valor numérico pode anteceder
os comandos dl, dw e dd, respectivamente para apagar um número x de
letras, palavras ou linhas.
Considere utilizar ambos os editores e com o tempo você verá qual atende
melhor cada caso; recomendo que saiba trabalhar com ambos.
Dica: Além dos links acima, considere utilizar o help e o man para
consultar os manuais de ajuda do Nano e do Vim.
5.4 Resumo
O Nano e o Vim são dois ótimos editores, tradicionais em qualquer
distribuição GNU/Linux. Mas não tome estas indicações como sendo as
únicas opções que você tem; pesquise e teste outros editores para então
determinar qual será sua escolha final.
Só digo uma coisa: você não conseguirá ir muito longe se não souber
utilizar nenhum editor de linha de comando. Mesmo que o Nano ou o Vim
não sejam sua escolha preferida, recomendo que saiba ao menos fazer o uso
básico destes. Pode ser que um dia você tenha que lidar com uma máquina
onde só existem estas duas opções!
Capítulo 6 - Instalar, atualizar e remover software
"Quem pensa pouco erra muito."
- Leonardo da Vinci
A utilização dos repositórios remotos garante que você terá sempre a versão
mais recente do pacote desejado. Novos repositórios podem ser adicionados
à lista conforme for necessário.
6.4 Apt-get ou Aptitude?
Tradicionalmente falando, o apt-get é padrão em qualquer distribuição
baseada em Debian, porém o aptitude vem ganhando cada vez mais espaço.
Isso se deve ao fato de que este possui vantagens técnicas consideráveis, e
quem sabe futuramente ele venha a ser o sucessor do apt-get.
Além dos gerenciadores citados aqui, existem outras opções tão boas ou
quem sabe até melhores; vai depender do seu "paladar". Consulte a
documentação da sua distribuição para saber qual gerenciador de arquivos
ela utiliza.
6.4.1 Apt-get / apt-cache (básico)
# apt-get update
Opções:
-y: assume sim para todas as perguntas, ou seja, você não será
questionado se deve ser instalada a dependência "X" ou realizada a
configuração "Y";
install: indica que o processo em questão se trata de uma instalação;
aptitude: nome do pacote a ser instalado; neste caso é o "aptitude".
Figura 19 - apt-get install aptitude
:bulb: A tecla TAB pode ser utilizada para completar o nome do pacote;
existindo mais de uma possibilidade, seus respectivos nomes serão
apresentados em uma lista.
Opções:
# apt-get upgrade
# apt-get dist-upgrade
A primeira opção faz uma atualização dos pacotes que não possuem
dependências, e a segunda realiza uma atualização completa, baixando
dependências conforme forem necessárias.
# aptitude update
# aptitude install tree
# aptitude search tree
# aptitude show tree
# aptitude upgrade
# aptitude dist-upgrade
# aptitude remove --purge tree
# aptitude
- Aristóteles
Figura 21 - Aptitude
Figura 22 - Telnet
Figura 23 - Traceroute
No teste realizado na Figura 23, somos capazes de observar que existe rota
até o destino google.com.br, tanto é que na segunda linha somos informados
que o ip desse destino é 189.6.75.245.
Por padrão, ele realiza 30 saltos e ao fim devolve o cursor para a linha de
comandos.
7.2 Visualizando e configurando endereço de rede
Utilizaremos dois programas para lidar com as configurações de rede: o
ifconfig e o dhclient.
7.2.1 Ifconfig
# ifconfig
Figura 24 - Ifconfig
dhclient -r eth0
dhclient eth0
Figura 25 - /etc/network/interfaces
Mas e se eth0 fosse estática, ou seja, não tivesse atribuição via DHCP?
Como ficaria esse arquivo de configuração após a edição? Seria algo mais
ou menos assim:
Figura 26 - Configuração estática da interface de rede
Foi necessário tão somente informar que a interface eth0 não receberia mais
atribuição via DHCL, mas sim de forma estática (static); logo na sequência
passamos às configurações de rede a serem atribuídas.
Essa configuração será aplicada somente na próxima vez que o sistema for
reiniciado. Caso não possa ou não queira reiniciar a máquina após a
configuração, mas deseje ter seu efeito aplicado imediatamente, basta
executar esta instrução:
# /etc/init.d/networking restart
Obviamente, a obra "Linux essencial - Por trás da interface gráfica" não foi
desenvolvida pensando exclusivamente na certificação LPI, porém, seu
conteúdo tornou propício o lançamento desta lista de exercícios voltada
principalmente para a prova supracitada. Não seria coerente deixar essa
oportunidade "de ouro" passar despercebida!
Exercícios
1) Em que arquivo de configuração fica armazenado o shell padrão do
usuário?
a. /etc/shells
b. /etc/passwd
c. /etc/profiles
d. /home/shell
a. /kernel
b. /proc
c. /system
d. /process
a. /boot
b. /conf
c. /etc
d. /system
a. /tmp
b. /mnt
c. /temporary
d. /trash
a. /home/root
b. /user/root
c. /root
d. /users/root
7) É correto afirmar que "cd /etc" e "cd /Etc" levam o usuário para o mesmo
destino, ou seja, para o diretório de arquivos de configuração do sistema?
a. Sim
b. Não
a. cd ../tmp
b. cd ../.. && cp tmp
c. cd /tmp
d. Todas as anteriores estão corretas
a. Teclado e impressora
b. Teclado e tela
c. Tela e teclado
d. Monitor e mouse
11) Caso o shell padrão do usuário não seja o bash, qual das instruções
abaixo o usuário pode executar para alterar o shell?
a. set bash
b. Bash
c. bash
d. define bash
12) Como faríamos para remover todos os arquivos que começam com a
sequência "arq", têm uma quantidade indefinida de caracteres e finalizam
com ".txt"?
a. rm arq?.txt
b. rm arq[a-z].txt
c. rm arq[0-9].txt
d. rm arq*.txt
14) Qual dos comandos abaixo cria um usuário completo, com senha e
diretório home?
a. adduser
b. useradd
c. user -create
d. useradd -full
a. r-xrw-r-x
b. rw-rw-r-x
c. rwxrwxr-x
d. rwxrw-r-x
a. 764
b. 754
c. 765
d. 755
18) A permissão 710 representa qual umask?
a. 67
b. 270
c. 755
d. 167
a. ls -d
b. ls -directory
c. list -dir
d. dir
22) No Vim, além das teclas direcionais (setas), quais são as teclas que nos
permitem deslocar o cursor respectivamente para a esquerda, para baixo,
para cima e para a direita?
a. h, j, k, l
b. j, k, l, h
c. a, s, w, d
d. a, x, w, d
23) Qual instrução posso utilizar para sair do Vim e salvar o arquivo caso
tenha ocorrido alguma alteração?
a. ESC: s
b. ESC: x
c. ESC: m
d. ESC: salve
a. /etc/vim/vimrc
b. /opt/vim/conf
c. /var/vim/vim_conf
d. /vim/conf
a. apt-get check
b. apt-get upgrade
c. apt-get update
d. apt-get release
a. /etc/apt-get/list.conf
b. /etc/apt/sources.list
c. /etc/apt/source.list
d. /etc/apt/repo.list
a. /etc/network/conf
b. /etc/network/net.conf
c. /etc/net/network.conf
d. /etc/network/interfaces
a. rmd
b. uniq
c. remove -d
d. wc
31) No Vim, que combinação irá apagar a linha atual e as próximas 9 (total
10)?
a. 10dd
b. 10d
c. 10x
d. d10d
32) O arquivo lista.txt contém nome de usuários. Como efetuar a
apresentação do conteúdo de forma ordenada?
33) Qual das instruções abaixo faria o mesmo que cat arq1 > arq2?
34) Qual das instruções abaixo ignora linhas que começam com #?
a. grep -v ˆ# arquivo.txt
b. grep -ignore ˆ# arquivo.txt
c. grep -i # arquivo.txt
d. ignore # arquivo.txt
a. ESC: q!
b. ESC: quit
c. ESC: exit
d. ESC q
a. Sim
b. Não
38) É correto afirmar que arquivos e diretórios com sinal de ponto final à
esquerda de seu nome são arquivos ocultos?
a. Sim
b. Não
a. rwxr--r--
b. rwx---r--
c. rwxr---w-
d. rw-r--r--
a. rwxr--r--
b. rw----r--
c. rwxr-xr-x
d. rw-x--x--
41) É correto afirmar que GNU/Linux e Linux são a mesma coisa?
a. Sim
b. Não
a. Sim
b. Não
43) O atalho CTRL + C pode ser utilizado para abrir uma nova linha de
comando descartando a atual. Essa afirmação está correta?
a. Sim
b. Não
a. Sim
b. Não
a. Sim
b. Não
48) A propriedade Sticky bit é representada pela letra y. Essa afirmação está
correta?
a. Sim
b. Não
a. Sim
b. Não
a. /bin
b. /r oot
c. /sbin
d. /system/root
Respostas
1- b) /etc/passwd
3- b) /proc
4- c) /etc
5- a) /tmp
Explicação: O padrão FHS (Filesystem Hierarchy Standard) diz que o
diretório /tmp é utilizado para armazenar arquivos temporários de sistema,
programas e de usuários. Este é esvaziado quando o sistema é reiniciado.
6- c) /root
7- b) Não
11- c) bash
12- d) rm arq*.txt
14- a) adduser
16- d) rwxrw-r-x
17- c) 765
18- a) 67
19- a) ls -d
20- 10
21- history
22- a) h, j, k, l
23- b) ESC: x
24- a) /etc/vim/vimrc
27- b) /etc/apt/sources.list
28- d) /etc/network/interfaces
30- b) uniq
31- a) 10dd
35- a) ESC: q!
37- a) Sim
38- a) Sim
39- d) rw-r--r--
40- a) rwxr--r--
41- b) Não
42- a) Sim
43- a) Sim
44- a) Sim
45- a) * (asterisco), ? (interrogação) e [ ] (colchetes)
47- a) Sim
48- b) Não
49- b) Não
50- c) /sbin
Sugestões de estudo
Copiar, mover e renomear diretórios individualmente ou em "lote";
Remover arquivos e diretórios;
Usar curingas;
Buscar arquivos por tamanho, tipo e tempo (data de criação,
modificação etc.);
Usar o histórico de comandos;
Editar arquivo com Vi (Vim);
Comandos essenciais do Vi (Vim);
Encadear comandos;
Redirecionar output;
Estudar a hierarquia FHS;
Pesquisar comandos no manual do Linux;
Gerenciar permissões;
Permissões especiais SUID, SGID e Sticky bit;
Criar e gerenciar usuários e grupos;
Gerenciar pacotes (foco em apt-get e yum).
Obviamente seu estudo deve ir além da lista sugerida acima; pense nesta
como um ponto de partida.
Assim como esse assunto me conquistou, espero que conquiste seu coração
e que você possa viver uma linda história de amor com a distribuição
GNU/Linux que mais lhe agradar. O que importa é ser feliz, não é mesmo?
Esta obra chegou ao fim, mas deixo como orientação a seguinte mensagem:
não encerre por aqui os estudos iniciados por meio deste material. Procure
outras obras, artigos e demais materiais para aprofundar o conhecimento já
adquirido e se destacar perante os demais profissionais da área.
Ficarei agradecido caso o leitor possa me enviar o seu feedback quanto a
esta obra. Para isso deixo, à disposição meus dados para contato na
página seguinte.
Contatos
Em caso de dúvidas, sugestões, elogios, críticas ou demais assuntos, por
favor entre em contato por meio de uma das opções abaixo:
Contato:
E-mail: contato@fabiojanio.com
Nas redes:
Facebook: http://www.facebook.com/blogfabiojanio
Twitter: https://twitter.com/_SDinfo
Linkedin: http://br.linkedin.com/in/fabiojanio
Blog: http://www.fabiojanio.com/