Header Ads

Como usar o comando ls para listar arquivos e diretórios no Linux

Usamos o comando Linux ls todos os dias sem pensar nisso. Isso é uma pena. Preste atenção e você encontrará muitas opções úteis, incluindo algumas que você deve adicionar ao seu arsenal de linha de comando.

ls lista arquivos e diretórios

O comando ls é provavelmente o primeiro comando que a maioria dos usuários do Linux encontra. Aqueles de nós que ficam na linha de comando o usam dia após dia sem sequer pensar nisso. Isso pode explicar por que há mais nesse comando do que a maioria dos usuários imagina. Listamos os arquivos para ver o que há em um diretório. Listamos arquivos em formato longo quando queremos examinar as permissões em um arquivo. Além disso, ele recebe pouca consideração.

O comando ls é um desses comandos com diversas opções. Talvez isso faça parte do problema. Existem tantas opções, como você as peneira para encontrar as úteis?E depois de encontrá-los, como você se lembra deles?

Permutações úteis do comando ls com suas cadeias de opções e parâmetros são os candidatos perfeitos para aliases. De fato, na maioria das distribuições, o que você considera "nu" ”O comando ls é na verdade um apelido. Entre outras coisas, o comando type pode ser usado para mostrar a definição subjacente de aliases. Vamos analisar a definição de ls:

digite ls

Os parâmetros --color = auto são incluídos automaticamente sempre que você usaro comando ls.É isso que fornece as cores diferentes para os diferentes tipos de arquivo nas listagens.

RELACIONADO: Como criar aliases e funções de shell no Linux

Listagens simples de ls

Todo mundo que passa algum tempo usando o terminal Linux sabe que, por padrão, ls lista os arquivos e diretórios no diretório atual.

 ls 

Se você deseja que sua listagem seja produzida em uma única coluna, use a opção -1 (um arquivo por linha):

 ls -1 

Discutiremos esse nome de arquivo de aparência estranha na parte superior da lista em um minuto.

Usando ls em diretórios diferentes

ParaSe ls listar os arquivos em um diretório diferente do diretório atual, passe o caminho para o diretório para ls na linha de comando. Você também pode passar mais de um diretório para ls e listá-los um após o outro. Aqui, estamos solicitando que ls listemos os arquivos em dois diretórios, um chamado "Ajuda" ”eo outro chamado "gc_help".

 ls Ajuda gc_help 

Quando ls listou o conteúdo doprimeiro diretório, lista o conteúdo do segundo. Ele imprime o nome de cada diretório à medida que os processa:

Usando padrões de arquivos

Para listar seletivamente um conjunto de arquivos, use a correspondência de padrões.O ponto de interrogação “? ”representará qualquer caractere único e o asterisco * * ”representará qualquer sequência de caracteres. Para listar todos os arquivos ou diretórios que possuem nomes começando com "ip _ ”use este formato:

 ls ip _ * 

Para listar arquivos com “ .c ”extensões, use este formato:

 ls * .c 

Você também pode usar ls com grep e usar grep & # 8216; srecursos de correspondência de padrões. Vamos procurar por arquivos que tenham a string _pin _ ”em seu nome:

 ls |grep _pin _ 

É quase o mesmo que usar ls sozinho, com dois curingas:

 ls |grep _pin _ 

 ls * _pin _ * 

Por que quase o mesmo?Observe os diferentes layouts. grep força a saída a um único nome de arquivo por formato de linha.

Caracteres não imprimíveis

É possível encontrar um nome de arquivo com um caractere não imprimível ou de controle emseu nome de arquivo. Normalmente, isso pode acontecer quando você expande um arquivo que você baixou da Web ou recuperou um repositório git, e o autor original cometeu um erro ao criar um arquivo, mas não o encontrou.

Nosso arquivo estranho é um destes:

Se o examinarmos no navegador de arquivos e pressionar “ F2 ”para renomeá-lo, os caracteres não imprimíveis são representados por um símbolo estranho.

Você pode usar a opção -b (escape) para permitir ver o nome do arquivorealmente contém. Essa opção faz com que o ls use as seqüências de escape da linguagem de programação C para representar os caracteres de controle.

 ls -ba * 

O personagem misterioso é revelado como um caractere de nova linha, representado em C como “ \ n. ”

Ignorando arquivos

Para omitir certos arquivos de uma listagem, use a opção --hide. Suponha que você não queira ver o backup . bak ”arquivos na listagem. Você pode usar este comando:

 ls 

 ls --hide = *. Bak 

O “ . bak ”os arquivos não estão incluídos na segunda listagem.

A lista de formatos longos

A opção -l (lista longa) faz com que o ls forneça informações detalhadas sobre cada arquivo.

 ls -l 

Há muitas informações aqui, então vamos passar por elas.

A primeira coisa que ls exibe é o tamanho total de todos os arquivos na listagem. Em seguida, cada arquivo ou diretório é exibido em uma linha por si só.

O primeiro conjunto de dez letras e traços é o tipo de arquivo e o proprietário, grupo e outras permissões de arquivo.

OO primeiro caractere representa o tipo de arquivo. Será um dos seguintes:

  • & # 8211 ;: Um arquivo regular.
  • b: Um arquivo especial de bloco.
  • c: Um caracterearquivo especial.
  • d: um diretório.
  • l: um link simbólico.
  • n: um arquivo de rede.
  • p:Um pipe nomeado.
  • s: um soquete.

Os próximos nove caracteres são três grupos de três caracteres exibidos de forma contígua. Cada grupo de três representa as permissões de leitura, gravação e execução, nessa ordem. Se a permissão for concedida, haverá r, w ou x presente. Se a permissão não for concedida, um hífen será exibido.

O primeiro conjunto de três caracteres é o do proprietário do arquivo.O segundo conjunto de três permissões é para membros do grupo e o último conjunto de três permissões é para outros.

Às vezes, a permissão de execução para o proprietário é representada por um s. Este é o bit setuid. Se estiver presente, significa que o arquivo é executado com os privilégios do proprietário do arquivo, e não do usuário que está executando o arquivo.

A permissão de execução para o grupo também pode ser um s. Este é o bit setgid. Quando isso é aplicado a um arquivo, significa que o arquivo será executado com os privilégios do grupo da flor. Quando usado com um diretório, todos os arquivos criados dentro dele terão suas permissões de grupo no diretório em que estão sendo criados, e não no usuário que está criando o arquivo.

A permissão de execução para o diretóriooutros às vezes podem ser representados por um t. Esta é a parte complicada. Geralmente é aplicado a diretórios. Se isso estiver definido, independentemente dos privilégios de gravação e executável definidos nos arquivos no diretório, apenas o proprietário do arquivo, o proprietário do diretório ou o usuário raiz poderá renomear ou excluir arquivos no diretório.

Um uso comum do adesivo é em pastas como “ / tmp ”. Isso é gravável por todos os usuários no computador.A parte pegajosa do diretório garante que os usuários e os processos iniciados pelos usuários só possam renomear ou excluir seus próprios arquivos temporários.

Podemos ver a parte pegajosa na “/ tmp ”diretório. Observe o uso da opção -d (diretório). Isso faz com que o ls relate os detalhes do diretório. Sem essa opção, o ls reportará os arquivos dentro do diretório.

 ls -l -d / tmp 

RELACIONADO: ComoUse o comando chmod no Linux

O número após as permissões é o número de links físicos para o arquivo ou diretório. Para um arquivo, esse geralmente é um, mas se outros links físicos forem criados, esse número aumentará. Um diretório normalmente possui pelo menos dois links físicos. Um é um link para si mesmo e o outro é sua entrada no diretório pai.

O nome do proprietário e do grupo é exibido a seguir. Eles são seguidos pelo tamanho do arquivo e pela data da última modificação do arquivo. Por fim, o nome do arquivo é fornecido.

Tamanhos de arquivos legíveis por humanos

Ter o tamanho do arquivo em bytes nem sempre é conveniente. Para ver o tamanho dos arquivos nas unidades mais apropriadas (kilobytes, megabytes etc.), use a opção -h (legível por humanos):

 ls -l -h 

Mostrando arquivos ocultos

Para ver arquivos ocultos, use a opção -a (todos):

 ls -l -a 

As duas entradas “. ”e “ .. ”representam o diretório atual e o diretório pai, respectivamente. Um arquivo chamado “ . base_settings ”agora está visível pela primeira vez.

Omitindo.e .. das Listagens

Se você não quiser que sua listagem seja desorganizada com o “. ”e “ .. ”entradas, mas você deseja ver arquivos ocultos, use a opção -A (quase todos):

 ls -l -A 

O arquivo oculto ainda está listado, mas o “. ”e “ .. ”as entradas são suprimidas.

Listando diretórios recursivamente

Para que o ls liste os arquivos em todos os subdiretórios, use a opção -R (recursiva)

 ls -l -R 

O ls percorre toda a árvore de diretórios abaixo do diretório inicial e lista os arquivos em cada subdiretório.

Exibindo o UID e o GID

Para exibir o ID do usuário e o ID do grupo em vez do nome do usuário e do nome do grupo, use a opção -n (numid uid e gid).

 ls -n 

Classificando as listagens

Você pode classificar a listagem por extensão, tamanho do arquivo ou tempo de modificação. Essas opções não precisam ser usadas com o formato de listagem longa, mas geralmente faz sentido fazê-lo. Se você estiver classificando por tamanho de arquivo, faz sentido ver os tamanhos de arquivo na lista. Quando você classifica por tipo de extensão, o formato de listagem longa não é tão importante.

Para classificar por extensão, use a opção -X (classificar por extensão).

 ls -X -1 

Os diretórios são listados primeiro (sem extensões) e os demais seguem em ordem alfabética, de acordo com as extensões.

Para classificar por tamanho do arquivo, use a opção -S (classificar por tamanho do arquivo).

 ls -l -h -S 

A ordem de classificação é do maior para o menor.

Para classificar a listagem por horário de modificação, use a opção -t (classificar por horário de modificação).

 ls -l -t 

A listagem é classificada pela hora da modificação.

Se a hora da modificação do arquivo estiver dentro do ano atual, oAs informações exibidas são mês, dia e hora. Se a data da modificação não estiver no ano atual, as informações exibidas serão mês, dia e ano.

Uma maneira rápida de obter os arquivos mais recentes e mais antigos de um diretório é usar lscom os comandos head and tail.

Para obter o arquivo ou diretório mais recente, use este comando:

 ls -t |head -1 

Para obter o arquivo ou diretório mais antigo, use este comando:

 ls -t |tail -1 

Para reverter a ordem de classificação

Para reverter qualquer ordem de classificação, use a opção -r (reverse).>

 ls -l -h -S -r 

A listagem agora está ordenada do menor para o maior.

E há mais

Confira a página de manual para ls, existem muitas mais opções. Alguns deles satisfazem casos de uso um tanto obscuros, mas de vez em quando, você fica feliz em saber sobre eles.

Você precisa ver os registros de data e hora do arquivo com a precisão máxima que o Linux pode fornecer?Use a opção de tempo integral:

 ls --full-time 

Talvez você queira ver o número de inode dos arquivos?Use a opção inode:

 ls -i 

Você está trabalhando em uma tela monocromática e deseja remover todo o risco de arquivos confusos para diretórios e links?Use a opção classificar e o ls anexará um destes a cada entrada da lista:

  • /: Um diretório.
  • @: Um link simbólico.
  • |: Um pipe nomeado.
  • =: Um soquete.
  • *: Arquivos executáveis ​​

 ls -F 

Faça algumas escavações. Você descobrirá que ls é uma veia rica e continuará produzindo pedras preciosas.

Via: How to Geek

Nenhum comentário