As questões abaixo são apenas exemplos ilustrativos. O simulado completo pode conter outras perguntas.
Questão 1:
Considere que o diretório de trabalho atual seja `/home/ana/projetos/api/tests` e que todos os diretórios necessários à execução dos comandos existam. Após a execução sequencial dos comandos abaixo, qual caminho será exibido por `pwd`?
`cd ../..`
`cd ./../docs/../relatorios`
`pwd`
- (C) /home/ana/projetos/docs/relatorios
- (A) /home/ana/projetos/relatorios
- (D) /home/ana/docs/relatorios
- (B) /home/ana/relatorios
- (E) /home/ana/projetos/api/relatorios
Questão 2:
O diretório atual é `/srv/portal/releases/v3/bin`, e os diretórios `/srv/portal/config`, `/srv/portal/releases/config` e `/srv/config` existem. Qual alternativa apresenta uma sequência de comandos que termina exatamente em `/srv/portal/config`?
- (D) `cd ../../..` e depois `cd ../config`
- (C) `cd ../..` e depois `cd ../config`
- (A) `cd ../..` e depois `cd ./config`
- (B) `cd ..` e depois `cd ../config`
- (E) `cd ..`, depois `cd ../../../` e depois `cd ./config`
Questão 3:
Em um shell Bash, o diretório de trabalho inicial é `/home/aluno/projetos/backend`. Considere que todos os diretórios envolvidos existem, que cada comando é executado após o anterior, que `cd -` alterna para o diretório armazenado em `OLDPWD` e que caminhos relativos são resolvidos a partir do diretório atual. Desconsiderando as linhas que o próprio `cd -` pode imprimir, qual caminho será exibido pelo último comando `pwd`?
```bash
cd ../frontend
cd /var/log
cd ../..\tmp
cd -
cd ../lib
cd -
pwd
```
- (A) /var/log
- (B) /var/lib
- (E) /home/aluno/projetos/backend
- (D) /home/aluno/projetos/frontend
- (C) /tmp
Questão 4:
Em um script de preparação de um ambiente de desenvolvimento, `/srv/projetos` e `/srv/projetos/2025` já existem. É necessário criar, em uma única operação e de forma idempotente, os diretórios `/srv/projetos/2025/brutos`, `/srv/projetos/2025/processados` e `/srv/projetos/relatorios`, sem criar diretórios adicionais nem um diretório cujo nome contenha chaves ou vírgula. Qual comando atende exatamente a esses requisitos?
- (B) mkdir -p /srv/projetos/2025/{brutos,processados} /srv/projetos/relatorios
- (C) mkdir -p /srv/projetos/{2025/{brutos,processados},relatorios}
- (A) mkdir -p /srv/projetos/2025/{brutos,processados,relatorios}
- (D) mkdir /srv/projetos/2025/{brutos,processados,relatorios} /srv/projetos/relatorios
- (E) mkdir -p /srv/projetos/2025/{brutos,processados/relatorios} /srv/projetos/relatorios
Questão 5:
O diretório `modelos` contém arquivos regulares, arquivos ocultos, subdiretórios e links simbólicos. O diretório `backup/modelos` já existe e está vazio. Deseja-se copiar apenas o conteúdo de `modelos` para `backup/modelos`, sem criar `backup/modelos/modelos`, preservando permissões, proprietários e timestamps, e mantendo links simbólicos como links. Qual comando satisfaz simultaneamente esses requisitos?
- (C) cp -a modelos/* backup/modelos/
- (A) cp -a modelos backup/modelos/
- (B) cp -a modelos/. backup/modelos/
- (D) cp -aL modelos/. backup/modelos/
- (E) cp -r modelos/. backup/modelos/
Questão 6:
Durante uma rotina de consolidação, os arquivos `relatorio.csv` e `rascunho.txt` estão em `/srv/incoming/` e devem ser movidos para `/srv/archive/`. Em `/srv/archive/`, `relatorio.csv` já existe e é mais antigo que o arquivo de origem, enquanto `rascunho.txt` já existe e é mais recente que o arquivo de origem. O administrador precisa que o comando substitua destinos ausentes ou mais antigos, preserve destinos mais recentes e não solicite confirmação interativa. Considerando o `mv` do GNU Coreutils, qual comando implementa exatamente esse comportamento?
- (A) `mv -n /srv/incoming/relatorio.csv /srv/incoming/rascunho.txt /srv/archive/`
- (D) `mv -i /srv/incoming/relatorio.csv /srv/incoming/rascunho.txt /srv/archive/`
- (B) `mv -u /srv/incoming/relatorio.csv /srv/incoming/rascunho.txt /srv/archive/`
- (C) `mv -f /srv/incoming/relatorio.csv /srv/incoming/rascunho.txt /srv/archive/`
- (E) `mv -b /srv/incoming/relatorio.csv /srv/incoming/rascunho.txt /srv/archive/`
Questão 7:
Considere a seguinte estrutura: `/opt/app/current` é um link simbólico para `/opt/app/releases/v2`, e `/opt/app/releases/v2/logs` é um diretório real. O shell inicia em `/home/admin` e executa `cd -L /opt/app/current/logs/..`. Em seguida, deseja-se exibir primeiro o caminho lógico preservado pelo shell e depois o caminho físico efetivamente alcançado no sistema de arquivos. Qual alternativa apresenta os comandos e os resultados esperados, respectivamente?
- (B) `pwd -L` → `/opt/app/current`; `pwd -P` → `/opt/app/releases/v2`
- (E) `pwd -L` → `/opt/app/current/logs`; `pwd -P` → `/opt/app/releases/v2/logs`
- (C) `pwd -P` → `/opt/app/current`; `pwd -L` → `/opt/app/releases/v2`
- (D) `pwd -L` → `/opt/app/releases/v2`; `pwd -P` → `/opt/app/current`
- (A) `pwd -L` → `/opt/app/current/logs/..`; `pwd -P` → `/opt/app/releases/v2`
Questão 8:
Em `/var/log` existem arquivos ocultos e visíveis, além de subdiretórios que também contêm arquivos ocultos. É necessário produzir uma listagem detalhada e recursiva de todo esse conteúdo, incluindo as entradas ocultas em cada nível, mas sem fazer com que links simbólicos para diretórios sejam percorridos como se fossem diretórios reais. Qual comando atende simultaneamente a esses requisitos?
- (B) `ls -lR /var/log/*`
- (E) `find /var/log -maxdepth 1 -ls`
- (D) `ls -lRaL /var/log`
- (A) `ls -laR /var/log`
- (C) `ls -la /var/log/*`
Questão 9:
Em uma sessão Bash, o diretório inicial é `/var/tmp` e a variável `HOME` possui o valor `/home/ana`. Todos os diretórios necessários aos comandos existem. Considere a sequência: `cd /opt/app/releases`; `cd ../shared`; `cd -`; `cd "$HOME/projetos/../scripts"`; `cd .././docs/../bin`. Desconsiderando mensagens exibidas pelo shell, qual será o resultado de `pwd` ao final da sequência?
- (D) /home/ana/bin
- (E) /home/ana/projetos
- (A) /opt/app/shared
- (C) /home/ana/scripts
- (B) /opt/app/releases
Questão 10:
Em uma sessão Bash, o diretório de trabalho inicial é `/home/ana/work` e `CDPATH` está definido como `/opt:/usr/local`. O diretório `/home/ana/work/logs` não existe, enquanto `/opt/logs`, `/opt/reports` e `/usr/local/archive` existem. Após executar, em sequência, `cd logs`, `cd ../reports` e `cd ../../usr/local/archive`, qual será o diretório informado por `pwd`? Considere que o primeiro comando pode utilizar `CDPATH`, mas caminhos relativos que contenham `/` devem ser resolvidos a partir do diretório atual.
- (C) /usr/local/archive
- (E) /usr/local/reports
- (A) /opt/logs
- (D) /home/ana/work/usr/local/archive
- (B) /opt/reports
Questão 11:
Após a execução dos comandos `mkdir -p projetos/2025/rascunhos` e `touch projetos/2025/nota.txt`, o diretório `rascunhos` permanece vazio, enquanto `2025` contém `nota.txt`. Em seguida, é executado `rmdir -p projetos/2025/rascunhos`. Considerando que `rmdir -p` remove diretórios vazios em sequência e interrompe a operação ao encontrar um diretório-pai que não pode ser removido, qual será o estado final da hierarquia?
- (B) A operação não removerá nenhum diretório, pois `rmdir -p` verifica previamente se toda a cadeia de diretórios está vazia.
- (A) `rascunhos` será removido; a tentativa de remover `2025` falhará por causa de `nota.txt`, e `projetos` permanecerá.
- (C) `rascunhos` permanecerá, enquanto `2025` será avaliado para remoção e `projetos` continuará existente.
- (E) `2025` será removido primeiro e a operação será interrompida ao encontrar `nota.txt`; `rascunhos` e `projetos` permanecerão.
- (D) `rascunhos` e `2025` serão removidos; `nota.txt` será mantido automaticamente no diretório `projetos`.
Questão 12:
Considere a seguinte estrutura relativa a `dados`:
- `dados/a.tmp` é um arquivo regular;
- `dados/sub/b.tmp` é um arquivo regular;
- `dados/sub/old.tmp` é um diretório vazio;
- `dados/sub/link.tmp` é um link simbólico para `b.tmp`;
- `dados/sub/profundo/c.tmp` é um arquivo regular.
A partir do diretório que contém `dados`, é executado:
`find ./dados -mindepth 1 -maxdepth 2 -type f -name '*.tmp' -delete`
Ao final da execução, quais itens permanecerão?
- (C) Permanecerão `dados/sub/old.tmp`, `dados/sub/profundo` e `dados/sub/profundo/c.tmp`; `dados/a.tmp`, `dados/sub/b.tmp` e o link simbólico serão removidos por corresponderem a arquivos `.tmp`.
- (E) Permanecerá somente `dados/sub/old.tmp`; os arquivos regulares, o link simbólico e `dados/sub/profundo/c.tmp` serão removidos, inclusive o arquivo que está sob o terceiro nível de profundidade.
- (A) Permanecerão `dados/a.tmp`, `dados/sub/old.tmp`, `dados/sub/link.tmp`, `dados/sub/profundo` e `dados/sub/profundo/c.tmp`; somente `dados/sub/b.tmp` será removido.
- (B) Permanecerão `dados/sub/old.tmp`, `dados/sub/link.tmp`, `dados/sub/profundo` e `dados/sub/profundo/c.tmp`; `dados/a.tmp` e `dados/sub/b.tmp` serão removidos.
- (D) Permanecerão `dados/a.tmp`, `dados/sub/old.tmp`, `dados/sub/link.tmp`, `dados/sub/profundo` e `dados/sub/profundo/c.tmp`; `dados/sub/b.tmp` não será removido porque `-mindepth 1` exclui arquivos diretamente contidos em `sub`.
Questão 13:
Durante uma auditoria, um arquivo recém-criado em `/srv/relatorios/` é encontrado por `find /srv/relatorios -type f`, mas não aparece quando o administrador executa `locate relatorio-final.pdf`. A política do sistema atualiza a base do `locate` apenas uma vez por dia. Qual procedimento explica corretamente a divergência e permite repetir a pesquisa baseada em índice?
- (A) O `locate` restringe a pesquisa a diretórios acessíveis ao usuário que executa o comando; portanto, o administrador deve usar `sudo`, sem necessidade de reconstruir a base.
- (B) O `find` pode consultar a mesma base usada pelo `locate` em algumas distribuições; portanto, é necessário reiniciar o serviço de indexação antes de repetir os dois comandos.
- (E) O `locate` atualiza a base quando é consultado, mas pode manter resultados em cache; portanto, a divergência indica que é necessário limpar o cache do comando antes de repetir a pesquisa.
- (C) O `locate` consulta uma base previamente construída, que pode estar desatualizada; após garantir as permissões necessárias, a base pode ser reconstruída com `updatedb` e a pesquisa repetida.
- (D) O `locate` pode ignorar nomes que contenham hífen ou ponto por causa do padrão de busca; portanto, deve-se pesquisar somente por uma parte alfanumérica do nome ou usar curingas.
Questão 14:
Em um sistema GNU/Linux, é necessário gerar uma lista de arquivos regulares sob `/home` que tenham mais de 10 MiB e tenham sido modificados há menos de sete períodos completos de 24 horas, ignorando integralmente qualquer diretório chamado `.cache` e todo o seu conteúdo. Qual comando atende simultaneamente a todos os requisitos?
- (D) `find /home -type f \( -size +10M -mtime -7 -o -path '*/.cache' \) -prune -print`
- (C) `find /home -path '*/.cache' -prune -o -type f -size -10M -mtime +7 -print`
- (B) `find /home -path '*/.cache' -prune -o -type f -size +10M -mtime -7 -print`
- (E) `find /home -type f -size 10M -mtime -7 ! -path '*/.cache/*' -print`
- (A) `find /home -type f -size +10M -mtime -7 -print`
Questão 15:
Durante a análise de uma estação GNU/Linux, um administrador precisa distinguir as responsabilidades do kernel e dos componentes instalados pela distribuição. Qual afirmação descreve corretamente essa separação?
- (A) O kernel coordena processos, memória e dispositivos, enquanto o shell, as bibliotecas, os utilitários e o gerenciador de pacotes são executados no espaço de usuário e normalmente integrados pela distribuição.
- (C) O kernel oferece os mecanismos fundamentais de processos, memória e dispositivos, e shells, bibliotecas, utilitários e gerenciadores de pacotes são componentes internos do próprio kernel.
- (B) O kernel fornece os comandos administrativos e as bibliotecas básicas, enquanto a distribuição acrescenta apenas o mecanismo gráfico e os repositórios de aplicativos.
- (D) A distribuição reúne principalmente bibliotecas e utilitários de espaço de usuário; o gerenciamento de processos, memória e dispositivos é realizado pelo gerenciador de pacotes em conjunto com o kernel.
- (E) O kernel e os utilitários GNU compartilham o gerenciamento de memória e de dispositivos, enquanto a distribuição define apenas a interface de comandos e o formato dos pacotes.