Apesar das interfaces gráficas com o usuário oferecerem mais...

Próximas questões
Com base no mesmo assunto
Q307944 Noções de Informática
Apesar das interfaces gráficas com o usuário oferecerem mais interatividade, em determinadas situações o uso de comandos de console possibilita agilidade para usuários acostumados com essa modalidade de comandos.
Considerando os comandos de console no Linux, juntamente com o uso de metacaracteres, e supondo que em um determinado diretório existam apenas os arquivos (file1, file2, file3 e file04), atribua V (verdadeiro) ou F (falso) às afirmativas a seguir.

( ) Os comandos #ls -l file1 file2 file3 file04 e #ls -l file* exibirão omesmo resultado.

( ) O comando #ls -l file? exibirá como resultado os quatro arquivos contidos no diretório.

( ) O comando #ls -l file[2-3] exibirá como resultado apenas os arquivos file2 e file3.

( ) O comando #ls -l file0* file[1-3] exibirá como resultado os quatro arquivos contidos no diretório.

( ) O comando #ls ~ exibirá como resultado uma lista de todos os arquivos que foram excluídos do diretório.

Assinale a alternativa que contém, de cima para baixo, a sequência correta.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Comentários sobre os comandos de console no Linux:

1) A interrogação ? em um comando como ls -l file? substitui exatamente um caractere. Portanto, file? pode corresponder a file1, fileA, file9, entre outros nomes de arquivos com cinco caracteres, onde o último é variável. Usar apenas ? se referiria a arquivos com um único caractere no nome.

2) O símbolo * representa qualquer sequência de caracteres, incluindo uma sequência vazia. Assim, file0* pode corresponder a file0, file00, file0chuchu, e assim por diante. Já a expressão [1-3] significa um caractere que seja 1, 2 ou 3. Portanto, file[1-3] retorna file1, file2 e file3. O comando ls -l file0* file[1-3] exibirá os arquivos file1, file2, file3, e file04.

3) O til ~ é uma referência ao diretório pessoal do usuário, e o comando ls ~ lista os arquivos dentro desse diretório. O caractere # indica que o usuário que executa o comando é o root (administrador do sistema), enquanto que $ seria utilizado para um usuário comum. Não existe um comando padrão no Linux que liste arquivos excluídos de um diretório; tal operação dependeria do sistema de arquivos e de recursos específicos de recuperação de dados.

Gabarito da questão: Letra C

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Letra C.
Os comandos do Linux dificilmente são cobrados em provas e, a rigor, assim como um usuário comum do Windows pode viver perfeitamente sem que jamais precise digitar uma única linha no "Prompt de comando", um usuário comum do Linux também pode viver perfeitamente sem saber um único comando do "Terminal". De qualquer forma, é bom ressaltar que os recursos do Linux em termos de linha de comando são tremendamente mais poderosos que os do Windows. Dito isso, vamos à questão.
Em primeiro lugar... o que é # ls -l? Bom, o comando em si é apenas o ls (list directory) que exibe o conteúdo de um diretório. Só que a gente pode colocar alguns parâmetros pra modificar a forma de exibição dos dados ou, ainda, filtrá-los. É sobre isso que trata a questão. Num exemplo real... vou usar o comando ls em um diretório chamado sed de minha máquina. O resultado será:
[jayme@bach sed]$ ls
DominandoSed.pdf  sed-HOWTO.html

Agora, se eu  usar o ls -l. O resultado será:
[jayme@bach sed]$ ls -l
total 392
-rw-rw-r--. 1 jayme jayme 343912 Abr 27  2011 DominandoSed.pdf
-rw-rw-r--. 1 jayme jayme  56498 Abr 27  2011 sed-HOWTO.html

Reparem que os arquivos foram listados de forma mais completa. O -l, portanto, indica um formato de exibição mais longo, mais detalhado.
E o Sinal # exibido na frente do comando? Esse aí não tem absolutamente nada a ver com o comando em si. É apenas um caracter indicativo a respeito do "nível" do usuário que está operando a máquina. No caso, o # significa que o usuário administrador (root) está operando a máquina. Nos exemplos que eu postei, o sinal exibido antes do comando é um $, já que meu perfil é comum e não administrador. Sobre as alternativas propriamente ditas, acho que o V e F falam por si:

(V) Os comandos #ls -l file1 file2 file3 file04 e #ls -l file* exibirão omesmo resultado.
(F) O comando #ls -l file? exibirá como resultado os quatro arquivos contidos no diretório.
(V) O comando #ls -l file[2-3] exibirá como resultado apenas os arquivos file2 e file3.
(V) O comando #ls -l file0* file[1-3] exibirá como resultado os quatro arquivos contidos no diretório.
(F) O comando #ls ~ exibirá como resultado uma lista de todos os arquivos que foram excluídos do diretório.
Ainda sou leiga no Linux, pessoal, se puderem me ajudar:

1) O comando #ls -l file? estaria correto se fosse "comando #ls -l ?"    ? 

2)O que significa o "file0*" no comando  "#ls -l file0* file[1-3]"? E para exibir o resultado de todos os quatro arquivos, não seria ""#ls -l file0* file[1-4]"?

3) Qual o erro do comando "#ls ~"? Qual seria o comando correto para listar arquivos excluídos do diretório? 



Mais uma vez, peço perdão, acredito que esteja sendo repetitiva e até que o colega tenha explicado acima. Mas estou com dificuldades em Linux, é a primeira vez que tenho contato com a matéria e está complicado assimilar sozinha...

Obrigada!
1) O comando #ls -l file? estaria correto se fosse "comando #ls -l ?"    ?
Não. A questão aqui é o significado da interrogação. Qual o seu papel nos comandos. É simples: no lugar de uma interrogação você pode colocar qualquer caracter, mas um só! Exemplo:
file? = file1, fileA, file9, filex, e por aí vai. Já se você usar a interrogação sozinha, estará se referindo a arquivos cujos nomes sejam compostos por um único caracter. Tipo, a, X, W, z, etc. Sendo assim, os comandos ls -l file? e ls -l ? ? retornam resultados bem diferentes.

2)O que significa o "file0*" no comando  "#ls -l file0* file[1-3]"? E para exibir o resultado de todos os quatro arquivos, não seria ""#ls -l file0* file[1-4]"?
O Linux é cheio de alternativas interessantes em relação aos comandos. Só que essas alternativas confundem um pouco quem não está acostumado a elas. Mas é simples entender. Veja só, o asterisco signica qualquer coisa. Literalmente. Assim, file0* pode ser, por exemplo, file0chuchu, file00, file0abobrinha, file0qualquercoisa, file0blablabla, etc, ou até mesmo file0 apenas. O asterisco a gente troca por qualquer coisa que quisermos, mas o file0 terá que estar lá, já que digitamos file0*. Já o [1-3] significa um caracter que faça parte do conjunto 1, 2 ou 3. E só. Assim, file[1-3] só retornará file1, file2 ou file3. A propósito, poderiamos escrever coisas como arquivo[1-9], diretório[0-5], documento[a-z], etc.
Considerando isso tudo, se no diretório em questão há os arquivos file1, file2, file3 e file04 (se ligue no 0!), é suficiente usar ls -l file0* file[1-3] já que,
file0* => file04
file[1-3] => file1, file2, file3
Mas o comando que você propôs também funcionaria, ok? Só que não está nas alternativas.

3) Qual o erro do comando "#ls ~"? Qual seria o comando correto para listar arquivos excluídos do diretório?
O til (~) significa diretório do usuário. Assim, ls ~ listará os arquivos do diretório principal do usuário root. A propósito, o caracter # antes dos comandos indica justamente isso: o comando (qualquer que seja) está sendo executado pelo usuário root, que é o administrador no Linux. Se fosse um usuário comum, ao invés do # apareceria $. Mas atenção: esses caracteres não fazem parte dos comandos! No caso em questão, portanto, o comando é ls e não #ls.
Comando pra listar arquivos excluídos? Esqueça isso. Não que seja impossível, mas vai depender de coisas como o sistema de arquivos utilizado e seus recursos para recuperação. Em alguns casos nem daria. Trata-se, no caso dessa questão, de uma espécie de pegadinha.

Espero ter ajudado a clarear um pouco mais as coisas...! :)

Se os arquivos são file1 file2 file3 e file4 alguém pode me explicar como o comando #ls -l file0* file[1-3] exibirá como resultado os quatro arquivos contidos no diretório? Gosh!

Na moral, já não vejo muita lógica em informatica para concurso nível médio,na minha opinião deveria ser somente exigida matéria para o pessoal da área e ainda colocam uma questão dessa como noções de informatica?

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo