SóProvas


ID
2699386
Banca
FGV
Órgão
Banestes
Ano
2018
Provas
Disciplina
Sistemas Operacionais
Assuntos

Ao executar o comando ls em um determinado diretório, o seguinte resultado é mostrado no console do sistema operacional Linux:

[user@localhost arquivos]# ls
text1 text2 text3 text4

Se neste mesmo diretório for executado o comando:

[user@localhost arquivos]# ls ?[!1-2]*

O console mostrará:

Alternativas
Comentários
  • Gag.D

  • Não entendi nada!!!!
  •  

    O comandoLS (List), no Linux, faz realmente o que seu nome dá a entender. Ele lista o conteúdo de diretórios. Para quem adora usar o terminal, ou até mesmo para quem precisa, ele é imprescindível. Trata-se de um dos comandos mais utilizados em sistemas Unix-like, além disso, um comando valiosíssimo para administradores de servidores Linux.

    Trata-se de um comando também capaz de listar arquivos de diferentes maneiras. O usuário é capaz, com o comando LS, de listar arquivos em ordem alfabética, em forma de listas simples, em colunas, e de diversos outros modos (em blocos, também).

    Com o LS, podemos visualizar informações de uma maneira mais amigável, mais confortável, até mesmo porque, dependendo da situação e do usuário, o shell pode assustar um pouco, principalmente quando um grande número de informações é exibido ao mesmo tempo.

    Fonte: https://www.codigofonte.com.br/dicas/listagem-de-diretorios-no-linux-15-exemplos-de-utilizacao-do-comando-ls

  • Adeilson Aragão, muito obrigado pelo seu comentário!

  • Pessoal vamos ao comentário da questão, muito difícil pelo visto, antes aviso que nenhum comentário anterior respondeu a questão, não é querendo dar uma de superior até porque tive também que pesquisar sobre esse comando, mesmo sendo da área de TI.

    O conceito abordado na questão trata do tema de wildcards, que é o uso de caracteres especiais na busca via terminal no linux (*, !. ?).

    - O primeiro comando ls  é conhecido da maioria e serve para listar arquivos ou diretórios.

     

    - O asterisco (*) substitui qualquer quantidade de caracteres. Por exemplo, para listar todos os arquivos TXT que começam com a letra a, o comando fica “ls a*.txt”.

     

    - A interrogação (?) tem a finalidade de substituir um ou mais caracteres, porém os mesmos devem existir, senão a busca retornará um valor nulo – comparando com o exemplo anterior, se existir o arquivo “a.txt”, ele não seria listado ao usar interrogação, mas seria se utilizasse asterisco.

     

    -Para listar todos os arquivos de um INTERVALO, por exemplo iniciados por a até c ou 1 até 3, pode-se utilizar colchetes com a seguinte sintaxe: [inicio-fim].

     

    - o comando “ls *[!x]txt” (usando exclamação para negar) lista todos os arquivos que terminam com txt , mas exclui os que terminam em xtxt.

     

    Agora vamos a questão depois de entender com exemplos cada um das parte do comando:

    Ele diz que existe os 4 arquivos text1 text2 text3 text4

    ls ?[!1-2]*

    ls lista os arquivos, ? lista se tiver 1 ou mais caracteres, [!1-2] não lista os que começam com 1 ou 2, agora aqui vem o que deixou a questão complicada, mesmo depois de todas as condições anteriores (o enrolation) o que ele diz no final com o asterisco(*)  liste todos os arquivos. Uma bela de uma sacanagem diga-se de passagem, executei no terminal esse comando e realmente é a letra D.

     

    Usei como base esse site, não tirei da minha cabeça isso tudo, mas a maioria já conhecia, então deixei mais em uma sequência lógica para os demais entenderem.

     

    bhttps://www.monolitonimbus.com.br/comandos-uteis-do-linux/

     

     

     

  • PESSOAL, é para cargo de TI 》 quem não é de TI pode ficar calmo 

  • No sistema operacional Linux, o console de comandos pode receber comandos simples (como man, para acesso ao manual de comandos) ou opções para comandos mais complexos (além da possibilidade de encadeamento em linha para vários comandos combinados).
    O comando ls é para listar.
    O primeiro comando exibiu quatro arquivos (text1 text2 text3 text4)
    O comando ls com as opções ?[1-2]* é usado para especificar uma máscara, onde só serão exibidos os itens que atenderem ao formato informado.
    O caractere ? é usado para especificar que será 1 caractere qualquer na posição inicial.
    [1-2] especifica que no 'meio' do nome poderemos ter 1 e 2 também.
    E o * (asterisco) no final indica que poderá ter qualquer outro caractere.
    Na prática temos uma máscara que:
    - qualquer caractere na primeira posição
    - contendo 1 e 2 em alguma parte do nome
    - com quaisquer outros caracteres do segundo em diante.
    Exibirá os mesmos quatro arquivos inicialmente mostrados.

    Gabarito: Letra D.
  • Coloquei D de Deus e num é que deu certo rs
    Que questão fdp :p

  • Que pegadinha fdp hahahahahahaha

    Muito boa a questão.

  • Roney Silvério, bastava pedir ao QC, não precisava ser desrespeitoso. a proposito, eles colocaram o comentário do professor, não há necessidade de ser em vídeo.

  • Quem não for de TI, descanse o coração.

    Assim como eu fiz. Srse

  • CARRARA, Agostinho

    "Eu não vou mais submeter a minha pessoa a está humilhação que o estado faz com o cidadão, de fazer uma prova com questões que a pessoa NÃO TEM COMO SABER AS RESPOSTAS!!!"

    #pas

  • questão que envolver metacaracteres gabarito D

  • Para que isso?

  • O segredo da questão está no asterisco, assim como o colega Adeilson já mencionou, mas acho que vale a pena o reforço por meio deste outro comentário do prof Thiago Rodrigues que achei sobre a questão contido no PDF "PASSO ESTRATÉGICO" do Estratégia Concursos:

    O comando ls lista arquivos e diretórios dentro de uma pasta. Ele pode ser associado a alguns parâmetros para que o retorno seja de acordo com a necessidade do usuário.

    A interrogação (?) tem como finalidade substituir um ou mais caracteres, levando em consideração que eles devem existir.

    A exclamação (!) é usada como negativa. Ou seja, para negar os valores em uma lista.

    Os valores entre colchetes [ ] indicam o intervalo de busca. Sintaxe: [início-fim].

    O asterisco (*) substitui qualquer quantidade de caractere.

    Dessa forma, temos: ls ?[!1-2]* →onde ls lista os arquivos, ? lista se tiver 1 ou mais caracteres, [!1-2] não lista os que começam com 1 ou 2. A partir daqui temos o ponto “complicado” que determina a resposta da questão: mesmo depois de todas as condições anteriores o que ele diz no final com o asterisco (*) é: liste todos os arquivos

    Fonte: Estratégia Concursos (Prof. Thiago Rodrigues Cavalcanti)

    BONS ESTUDOS!!!

  • Não é porque tem o * que vai ser listado todos. Na lista da questão sim. Mas, o asterisco vai deixar o fim do parâmetro livre. No entanto, temos ? e [!1-2].

    Veja bem. No caso da questão, os arquivos são text1, text2 etc.

    O ? substitui o primeiro caractere qualquer, nesse caso temos o "t". Logo, não muda.

    O [!1-2] vai rejeitar os arquivos que, depois do primeiro caractere, contenham os número de 1 a 2. Note que é apenas um dígito, logo, a posição será onde está o "e" do "text", segundo caractere. Obviamente, "e" não é nem 1 nem 2, logo, o "e" passa.

    A partir do intervalo, vem o *, que vai englobar tudo após os dois caracteres anterior.

    Como nenhuma restrição foi feita, todos os números serão mostrados.

    Caso o comando fosse: ls ????[!1-2]*. Seria listado apenas text3 e text4, pois mostraria qualquer caractere com o ?, até o quarto caractere. No quinto, onde estão os números, eu pedi para rejeitar os que são 1 e 2.

  • ls ?[!1-2]*

    ? = um caractere nesta posição

    [!1-2] = qualquer caractere que não seja 1 ou 2, nesta posição

    * = qualquer caractere, uma ou mais vezes

    Percebam que a restrição quanto aos caracteres serem somente 1 ou 2 é somente para a 2a posição, dessa forma, o ls lista todos os arquivos do diretório.

    text1 text2 text3 text4

    Poder-se-ia ter o resultado desejado da seguinte maneira:

    ls *[!1-2].txt

    text3 text4