Linux Flashcards
O que é o sistema operacional Linux?
O sistema operacional Linux, conforme ilustrado na imagem, é um componente chave que atua como intermediário entre o hardware e o software de um computador. Ele pertence à categoria de sistemas operacionais, que são fundamentais para gerenciar o hardware do sistema e fornecer uma plataforma sobre a qual o software pode rodar. Aqui estão algumas características principais do Linux:
- Base: O Linux serve como a base fundamental para a operação de programas, gerenciando todos os recursos do sistema de forma eficiente.
- Plataforma: Proporciona uma plataforma onde as aplicações podem ser executadas, oferecendo suporte a uma ampla gama de software.
- Controle: Oferece controle sobre o hardware, garantindo que diferentes componentes de hardware cooperem de maneira eficiente para a execução de tarefas.
- Gerenciamento: Administra a alocação de recursos como memória, poder de processamento e dispositivos de entrada/saída.
O Linux é conhecido por ser um sistema operacional de código aberto, permitindo que usuários e desenvolvedores modifiquem e distribuam seu código livremente, adaptando o sistema às suas necessidades específicas.
O sistema operacional, além de controlar o armazenamento dos dados, é visível ao usuário por meio das interfaces de gerenciamento de recursos do computador, como memória, periféricos e CPU.
Verdadeiro ou falso?
Verdadeiro.O sistema operacional Linux é uma plataforma de código aberto que atua como intermediário entre o hardware e o software do computador, gerenciando recursos e permitindo a execução de programas. É amplamente conhecido por sua adaptabilidade e segurança, sendo usado tanto em servidores como em desktops.
O que quer dizer que o sistema Linux é monolítico?
Dizer que o sistema Linux é monolítico significa que ele possui um kernel monolítico, o que implica que o núcleo do sistema operacional (kernel) é um grande bloco de software onde todos os serviços fundamentais, como gerenciamento de memória, tarefas de I/O, e drivers de dispositivos, estão integrados em uma única peça de software que roda em modo privilegiado (modo kernel). Isso contrasta com arquiteturas como microkernels, onde o kernel é dividido em partes menores que executam funções básicas e os serviços adicionais são executados em espaços de usuário separados. A abordagem monolítica tende a oferecer melhor desempenho devido à maior interação direta entre os componentes do sistema.
É o coração do Sistema Operacional. Ele
representa a camada mais baixa de interface com o hardware, pois faz a
comunicação mais básica entre ele e o software:
Kernel
Principais características do Linux?
As principais características do Linux, com destaque para as diferenças em relação ao Windows, incluem:
-
Criação: Desenvolvido em 1991 por Linus Torvalds.
- Diferença: O Windows foi desenvolvido pela Microsoft.
-
Natureza: É um software livre e de código aberto.
- Diferença: Windows é predominantemente proprietário e fechado.
-
Licença: Utiliza a GPL (Licença Pública Geral), que permite executar, estudar, distribuir e modificar o software.
- Diferença: Windows utiliza uma licença proprietária que restringe modificações e distribuição.
-
Suporte a plataformas: Disponível para sistemas 32 e 64 bits.
- Diferença: Ambos suportam 32 e 64 bits, mas o Linux tem mais variações distribuídas.
-
Gerenciamento de boot: Suporta gerenciadores de boot como LILO e GRUB para gerenciar múltiplos sistemas operacionais.
- Diferença: Windows usa seu próprio bootloader.
-
Sistemas de arquivos: Suporta uma variedade de sistemas de arquivos como EXT, RFS, UFS, XFS.
- Diferença: Windows utiliza principalmente NTFS.
-
Acesso de usuário: Diferencia usuários com superusuário (root) e usuário comum.
- Diferença: Windows utiliza contas de administrador e contas de usuário padrão.
Estas características destacam a flexibilidade e a abertura do Linux em comparação ao mais restritivo e proprietário sistema operacional Windows.
O Linux é um software de código aberto, gratuito e de ampla distribuição entre usuários, os quais colaboram no desenvolvimento de novas funcionalidades para melhor desempenhar tarefas.
Verdadeiro ou falso?
Verdadeiro.
A licença de código aberto mais tradicional é a GPL: GNU General Public License. Essa licença está diretamente relacionada ao projeto GNU, mas pode ser utilizada por qualquer projeto de código aberto. A GPL gira em torno de quatro liberdades principais:
A liberdade de utilizar o programa para qualquer fim.
A liberdade de modificar o programa para atender suas necessidades.
A liberdade de compartilhar o programa com amigos e vizinhos.
A liberdade de compartilhar as modificações realizadas.
Cuidado .Note que ser gratuito não está nessa liberdade .Por isso ,algumas distribuições do Linux são pagas .Ser livre não necessariamente significa ser gratuito e o contrário também é válido .
Por padrão, o sistema de arquivos utilizado na
instalação do Windows é o ext3.
Verdadeiro ou falso?
Falso. O sistema de arquivos padrão utilizado na instalação do Windows é o NTFS (New Technology File System). O ext3 é um sistema de arquivos utilizado em sistemas baseados em Linux.
A GNU GPL estabelece que é permitido redistribuir cópias de um programa de maneira gratuita, de modo que isso venha a auxiliar outras pessoas.
Verdadeiro ou falso?
Verdadeiro. A GNU General Public License (GPL) permite que qualquer pessoa redistribua cópias de um programa licenciado sob GPL, seja de forma gratuita ou cobrando por elas, com o objetivo de ajudar outras pessoas. A licença também exige que as cópias redistribuídas mantenham os mesmos termos de liberdade, garantindo que os beneficiários finais também possam modificar e redistribuir o software.
Ao contrário de um software proprietário, o software livre, ou de código aberto, permite que o usuário tenha acesso ao código-fonte do programa, o que torna possível estudar sua estrutura e modificá-lo. O GNU/Linux é exemplo de sistema operacional livre usado em servidores.
Verdadeiro ou falso?
Verdadeiro. O software livre ou de código aberto, como o GNU/Linux, de fato permite que os usuários tenham acesso ao código-fonte, possibilitando estudar, modificar e até redistribuir o software sob os mesmos termos da licença original. O GNU/Linux é amplamente utilizado em servidores devido a essas características, além de sua robustez e segurança.
Em relação ao Linux, sua licença é do tipo Shareware.
Verdadeiro ou falso?
Falso. O Linux não é licenciado como Shareware. Ele é licenciado sob a GNU General Public License (GPL), que é uma licença de software livre. Isso permite que os usuários usem, estudem, modifiquem e distribuam o software livremente, de acordo com os termos da licença.
Uma diferença marcante entre os software Windows e Linux é o fato de este ser um sistema de código aberto, desenvolvido por
programadores voluntários espalhados por toda a Internet e distribuído sob licença pública.
Verdadeiro ou falso?
Verdadeiro. Uma das diferenças marcantes entre o Linux e o Windows é que o Linux é um sistema operacional de código aberto, desenvolvido por uma comunidade global de programadores voluntários e distribuído sob a licença pública GNU GPL, que permite a livre distribuição, modificação e uso do software.
Na utilização do terminal de qualquer sistema
operacional Linux, como o Ubuntu, o aparecimento do caractere $ no prompt de
comando significa que o usuário que esteja conectado é o superusuário root.
Verdadeiro ou falso?
Falso. O aparecimento do caractere $
no prompt de comando em sistemas operacionais Linux, como o Ubuntu, indica que o usuário conectado é um usuário comum, não o superusuário. O superusuário, ou root, é geralmente indicado pelo caractere #
no prompt.
Explicação sobre o superusuário (root):
O superusuário, conhecido como “root”, é o usuário que tem permissões máximas em um sistema operacional baseado em Unix ou Linux. Este usuário pode acessar todos os arquivos, executar todos os comandos e realizar tarefas administrativas sem restrições. Essencialmente, o root tem o controle total sobre o sistema, o que facilita a administração e a manutenção, mas também exige cuidado para evitar alterações acidentais ou maliciosas que poderiam ser prejudiciais ao sistema.
No Linux, quando há mais de um administrador na rede, eles devem, sempre que possível, utilizar a conta root diretamente. Esse procedimento permite que os administradores tenham os privilégios mais elevados, sem restrição, para acessar o sistema e para executar aplicativos.
Verdadeiro ou falso?
Falso. Não é recomendado que administradores utilizem a conta root diretamente para realizar tarefas administrativas no Linux, especialmente em um ambiente com múltiplos administradores. A melhor prática é que cada administrador utilize sua própria conta de usuário e recorra ao comando sudo
para executar tarefas que requerem privilégios elevados.
Explicação sobre o comando sudo
:
O comando sudo
permite que um usuário autorizado execute comandos com os privilégios de outro usuário, geralmente o superusuário root, de acordo com especificações no arquivo sudoers
. Isso oferece segurança adicional ao sistema, pois os administradores podem executar operações sensíveis sem estar sempre logados como root. Além disso, todas as ações realizadas com sudo
são logadas, fornecendo um registro auditável de quem fez o quê, o que é crucial para manter a integridade e a segurança em sistemas multiusuário.
O carregamento (boot) do sistema operacional Linux pode ser gerenciado pelo programa LILO.
Verdadeiro ou falso?
Verdadeiro. O LILO (Linux Loader) é um dos gerenciadores de boot que pode ser utilizado para carregar o sistema operacional Linux. Ele é um dos mais antigos e foi amplamente usado antes de ser em grande parte substituído pelo GRUB (GRand Unified Bootloader), que oferece mais recursos e flexibilidade. No entanto, LILO ainda é suportado e pode ser usado em sistemas que preferem um gerenciador de boot mais simples ou em configurações específicas.
Principais distribuições do Linux:
Baseado em dados de popularidade e adoção geral, as distribuições Linux podem ser ordenadas aproximadamente do mais distribuído para o menos distribuído como segue:
- Ubuntu - Uma das distribuições Linux mais populares e amplamente adotadas, especialmente para desktops.
- Debian - Base para muitas outras distribuições, incluindo Ubuntu e Mint, conhecida por sua estabilidade.
- Red Hat - Popular em ambientes corporativos, especialmente em servidores.
- Fedora - Conhecida por inovações e como uma distribuição que introduz novas tecnologias, frequentemente serve de base para o Red Hat Enterprise Linux.
- Mint - Popular entre os usuários de desktop que procuram uma alternativa fácil de usar ao Windows.
- OpenSUSE - Conhecida por sua robustez e ferramentas de configuração YAST; popular entre os desenvolvedores e profissionais de TI.
- CentOS - Era uma distribuição muito popular para servidores devido à sua compatibilidade com Red Hat Enterprise Linux, até ser descontinuada em 2021.
- Arch Linux - Favorecida por usuários avançados devido ao seu sistema de pacotes rolling release e personalização.
- Gentoo - Outra distribuição voltada para usuários avançados que desejam otimizar cada aspecto do sistema.
- Kali - Especializada em testes de penetração e segurança, amplamente usada por profissionais de segurança cibernética.
- Android - Embora baseado no kernel Linux, é predominantemente usado em dispositivos móveis e tablets, não em desktops ou servidores tradicionais.
- Mageia - Um fork da Mandriva, conhecida em círculos mais limitados.
- Slackware - Uma das distribuições mais antigas, ainda mantida, mas com uma base de usuários menor comparada às mais modernas.
- Manjaro - Baseado em Arch, mas com foco em facilidade de uso e acessibilidade.
- Chrome OS - Baseado no Linux, mas fortemente modificado pela Google para rodar em Chromebooks.
- BackTrack - Predecessor do Kali Linux, agora obsoleto.
- Turbo Linux - Popular em mercados asiáticos, mas menos conhecido globalmente.
- Kurumin, Kalango, Fenix - Distribuições brasileiras que foram populares regionalmente, mas menos conhecidas globalmente.
- Conectiva - Uma das primeiras distribuições em português, que mais tarde se fundiu com a Mandriva.
Principais pacotes de instalação do Linux :
-
Pacotes .deb
- Utilizados por distribuições baseadas no Debian.
- Inclui distribuições populares como Ubuntu, Kubuntu e outras que derivam do Debian.
- O formato .deb facilita a instalação, atualização e remoção de software nestas distribuições.
-
Pacotes .rpm
- Usados por distribuições derivadas do Red Hat.
- Isso inclui Fedora, Mandriva (anteriormente conhecida como Mandrake), e outras distribuições que seguem a família Red Hat.
- O formato .rpm também é projetado para fácil administração de pacotes em sistemas operacionais.
-
Pacotes .tgz
- Adotados pelo Slackware e seus derivados.
- Slackware é uma das distribuições Linux mais antigas e prefere manter uma abordagem tradicional e simples no gerenciamento de pacotes.
- O formato .tgz é essencialmente um arquivo tar compactado com gzip, que é básico mas eficaz para instalações de software.
Esses formatos refletem diferentes abordagens de gestão de pacotes nos diversos ecossistemas do Linux, com cada formato de pacote oferecendo ferramentas e utilitários específicos para instalação e gestão de softwares no sistema.
Fedora, OS X, Red Hat, Solaris e Ubuntu são sistemas operacionais que utilizam kernel Linux.
Verdadeiro ou falso?
Falso. Fedora, Red Hat e Ubuntu são sistemas operacionais que utilizam o kernel Linux. No entanto, OS X (agora chamado macOS) usa o kernel XNU, que é uma combinação de Mach e BSD, e Solaris utiliza o kernel SunOS, que é baseado no UNIX. Portanto, nem todos os sistemas operacionais listados usam o kernel Linux.
O que significa dizer que o PROMPT de comando do Linux é Case sensitive ?Qual a diferença em relação ao Windows ?
Dizer que o prompt de comando do Linux é “case sensitive” significa que ele diferencia letras maiúsculas de minúsculas. Portanto, os comandos, nomes de arquivos e outras instruções precisam ser digitados exatamente como definidos, com a combinação correta de maiúsculas e minúsculas. Por exemplo, se um arquivo se chama “Documento.txt”, tentar acessá-lo como “documento.txt” resultaria em erro, pois “D” maiúsculo e “d” minúsculo são tratados como caracteres distintos.
Diferença com o Windows: Em contraste, o prompt de comando do Windows não é case sensitive. Isso significa que no Windows, você pode digitar “documento.txt”, “Documento.txt”, ou qualquer outra variação de maiúsculas e minúsculas, e o sistema tratará todos esses comandos como referindo-se ao mesmo arquivo ou comando. Esse comportamento facilita a digitação e o gerenciamento de arquivos para usuários que podem não lembrar a capitalização exata de cada nome de arquivo ou comando.
Principais comandos do PROMPT do Linux:
-
cat: Mostra o conteúdo de um arquivo ou concatena arquivos. Por exemplo,
cat arquivo.txt
exibirá o conteúdo do arquivo. -
cal: Exibe um calendário no terminal. Digitar apenas
cal
mostra o calendário do mês atual. -
cd: Muda o diretório atual.
cd /home/user
troca para o diretório especificado. -
chmod: Altera as permissões de arquivos ou diretórios. Por exemplo,
chmod 755 arquivo.txt
define permissões específicas. -
cp: Copia um arquivo de um diretório para outro. Uso típico:
cp origem.txt destino.txt
. -
grep: Procura por texto dentro de um arquivo.
grep "texto" arquivo.txt
busca por “texto” no arquivo especificado. -
ls: Lista os arquivos e diretórios na pasta atual.
ls -l
lista com detalhes adicionais. -
ln: Cria links (atalhos), incluindo hardlink e symlink (link simbólico).
ln -s arquivo.txt link.txt
cria um symlink. -
mkdir: Cria um novo diretório. Exemplo:
mkdir novo_diretorio
. -
passwd: Altera a senha do usuário atual. Simplesmente digitando
passwd
, o sistema solicitará a nova senha. -
ps: Mostra uma lista dos processos em execução.
ps aux
mostra todos os processos com detalhes. - pwd: Mostra o diretório atual em que você está. Útil para confirmar sua localização no sistema de arquivos.
-
rm: Remove arquivos especificados.
rm arquivo.txt
apaga o arquivo.txt. -
sudo: Permite executar comandos com privilégios de superusuário.
sudo apt update
atualiza a lista de pacotes como root. - sort : Organiza as linhas de um arquivo de texto em ordem alfabética ou numérica.
- head: Exibe as primeiras linhas de um arquivo de texto.
- tail: Exibe as últimas linhas de um arquivo de texto.
Esses comandos são fundamentais para a navegação, gestão de arquivos, e administração de sistemas em ambientes Linux.
Qual comando do Linux é usado para exibir o conteúdo de um arquivo?
Resposta:
O comando cat
é usado para mostrar o conteúdo de um arquivo. Por exemplo, cat arquivo.txt
exibirá o conteúdo desse arquivo.
O que faz o comando cal no Linux ?
Resposta:
O comando cal
exibe um calendário no terminal. Se executado sem opções adicionais, mostra o calendário do mês atual.
Se você quiser mudar para o diretório chamado “Documentos” que está no seu diretório pessoal, qual comando você usaria no Linux?
Usaria o comando cd ~/Documentos
para mudar para o diretório chamado “Documentos” no seu diretório pessoal.
Explique o propósito do comando chmod 755 arquivo.txt
no Linux.
O comando chmod 755 arquivo.txt
é usado para alterar as permissões do arquivo “arquivo.txt”, permitindo que o proprietário tenha permissões completas de leitura, escrita e execução, enquanto os grupos e outros usuários têm permissão apenas de leitura e execução.
Como você copiaria o arquivo “foto.jpg” do diretório atual para um diretório chamado “Backup”?
Usaria o comando cp foto.jpg Backup/
para copiar o arquivo “foto.jpg” do diretório atual para o diretório chamado “Backup”.
Qual comando você usaria para procurar a palavra “erro” dentro de um arquivo chamado “log.txt”?
Usaria o comando grep "erro" log.txt
para procurar a palavra “erro” dentro do arquivo chamado “log.txt”.
Descreva o que o comando ls -l
faz no terminal Linux.
O comando ls -l
lista todos os arquivos e diretórios na pasta atual em formato longo, fornecendo detalhes como permissões, número de links, proprietário, grupo, tamanho e data de modificação de cada arquivo ou diretório.
Explique a diferença entre criar um link simbólico e um hard link para o arquivo “dados.txt” usando o comando ln
.
-
Hard Link:
- Um hard link cria uma nova entrada para o mesmo arquivo no sistema de arquivos.
- Ele aponta diretamente para os dados do arquivo no disco.
- Se você exclui o arquivo original, o hard link ainda pode acessar os dados, porque o link e o arquivo original são basicamente o mesmo arquivo, apenas com diferentes nomes/entradas no sistema de arquivos.
- Comando:
ln dados.txt novo_link
-
Link Simbólico (ou soft link):
- Um link simbólico é como um atalho para o arquivo original.
- Ele aponta para o nome do arquivo, não para os dados em si no disco.
- Se o arquivo original for deletado, o link simbólico não funcionará mais, porque seu “destino” não existe mais.
- Comando:
ln -s dados.txt novo_link_simbolico
Em resumo, o hard link é como ter outro acesso direto ao mesmo arquivo, enquanto o link simbólico é mais um atalho que aponta para onde o arquivo deveria estar.
Como você criaria um novo diretório chamado “Projetos” no seu diretório atual usando o terminal Linux?
Usaria o comando mkdir Projetos
para criar um novo diretório chamado “Projetos” no seu diretório atual.
Se você precisar alterar a senha do usuário atual no Linux, qual comando você utilizaria?
O comando passwd
para alterar a senha do usuário atual. Ao executar este comando, o sistema solicitará que você insira a nova senha.
Como você pode listar todos os processos em execução no sistema Linux, incluindo detalhes como usuário, uso de CPU e memória?
Usaria o comando ps aux
para listar todos os processos em execução no sistema, incluindo detalhes sobre o usuário, o uso de CPU, memória, ID do processo, estado do processo, e muito mais.
Qual comando você usaria para verificar em qual diretório você está atualmente no Linux?
Usaria o comando pwd
(print working directory) para verificar em qual diretório você está atualmente no Linux. Este comando exibe o caminho completo do diretório onde você se encontra.
Qual comando no Linux é utilizado para remover um arquivo chamado “antigo.txt”?
O comando rm antigo.txt
para remover o arquivo chamado “antigo.txt”. Este comando exclui o arquivo especificado do sistema de arquivos.
ls é utilizado para exibir o conteúdo de um ——————.
Diretório.
pwd exibe o nome diretório corrente.
Verdadeiro ou falso?
Verdadeiro .