Você está na página 1de 7

Introduo

O software ls fundamental para os amantes do uso de terminal. Sem ele, esquea! No possvel verificar os arquivos existentes nos diretrios. Sua eficincia est no poder de listar arquivos de diversas formas, bem como listar arquivos em ordem alfabtica, arquivos ocultos, apresentar resultados na sada padro de forma colorida distinguindo subdiretrios de arquivos, entre outras opes. Embora o ls aparente ser um simples comando, suas funcionalidades so de extrema importncia e de alta complexidade na manipulao de visualizao de arquivos em diretrios, esse software por sua vez possibilita a listagem de arquivos em diretrios por meio do comando ls. No GNU/Linux h um pacote chamado coreutils que disponibiliza uma srie de utilitrios importantes para os sistema, como o comando cd para desbravar diretrios, cp para copiar arquivos, mv para mover arquivos e o prprio ls para listar arquivos em diretrios. Sua licena est vinculada a GNU GPLv3 (General Public License verso 3), o que o caracteriza como um software livre e de cdigo aberto, que dispe-se das quatro liberdades: usar, estudar, modificar e distribuir. Atualmente seu desenvolvimento mantido por Michael Stone (mstone@debian.org). Houve-se casos em que esses comandos no funcionaram ou apresentavam problemas devido a ausncia desse pacote. Em seguida iremos conhecer as formas e opes de para a manipulao de listagem de arquivos.

Manipulando o ls

A sintaxe do comando ls consiste em iniciar com o prprio comando seguido de opes ou parmetros que por sua vez podem representar diversas situaes e requisitos. Haver diversas necessidades de se obter conhecimento de determinado arquivo em diretrio, portanto a tabela abaixo apresenta uma srie de argumentos e situaes que podem ser encontradas no dia-a-dia de administradores de sistemas. Tabela de parmetros: Opo -a, --all -A, --almost-all --author -b, --escape --blocksize=TAMANHO -B, --ignore-backups Especificao No ignora entradas comeando com . No lista as entradas implcitas . e .. Com -l, emite o autor de cada arquivo Emite escapes em octal para caracteres no-grficos Usa blocos de TAMANHO bytes

No lista as entradas implcitas terminadas com ~ Com -lt: ordena por, e mostra, ctime. Com -l: mostra o ctime e -c ordena por nome -C Lista as entradas em colunas Controla se usa cores para distinguir os tipos de arquivo. QUANDO pode ser "never" (nunca), "always" (sempre) ou --color[=QUANDO] "auto" (automaticamente) Lista os diretrio em vez de seu contedo e no interpreta -d , --directory ligaes simblicas -D, --dired Gera a sada projetada para modo "dired" do Emacs -f No ordena, habilita -aU, desabilita -ls --color -F, --classify Anexa indicador (um dos */=>@|) s entradas --file-type Similar, exceto que no anexa "*" "across" (-x), "commas" (-m), "horizontal" (-x), "long" (-l), --format=PALAVRA "single-column" (-1), "verbose" (-l), "vertical" (-C) --full-time O mesmo que -l --time-style=full-iso Lista os diretrios antes de listar os arquivos. Permite usar a --group-directories-first opo --sort, mas o uso de --sort=none (-U) desabilita o agrupamento de diretrios. -G, --no-group Em lista longa (-l), no emite os nomes de grupo -h, --human-readable Com -l, emite os tamanhos em formato inteligvel --si Similar, mas usa potncias de 1000, e no de 1024 -H, --dereferenceSegue as ligaes simblicas listadas na linha de comando command-line --dereferenceSegue toda ligao simblica da linha de comando que apontar command-linepara um diretrio symlink-to-dir No lista entradas implcitas que coincidam com o PADRO --hide=PADRO em sintaxe shell (ignorado quando se usa -a ou -A) --indicatorAnexa o indicador de tipo no estilo PALAVRA para os nomes

style=PALAVRA

das entradas: "none" (nenhum, padro), "slash" (-p), "file-type" (--file-type), "classify" (-F) "file-type" (--file-type), "classify" (F) -i, --inode Emite o nmero de ndice de cada arquivo No lista as entradas implcitas que coincidam com o PADRO -I, --ignore=PADRO (em sintaxe shell) -k O mesmo que block-size=1K -l Usa o formato de lista longa Quando mostrar informaes de uma ligao simblica, mostra as do arquivo a quem ela referencia, e no do arquivo tipo -L, --dereference ligao em si Preenche toda a largura com uma lista de entradas separadas -m por vrgula -n, --numeric-uid-gid Como -l, mas lista usurio e grupo em nmeros ID Emite nomes de entradas de forma crua (no trata, por exemplo, -N, --literal caracteres de controle de forma especial) -o Como -l, mas no lista informaes sobre o grupo -p, --indicatorAnexa o indicador / aos diretrios style=slash -q, --hide-control-chars Emite ? ao invs de caracteres no grficos Emite caracteres no grficos como so (padro seja um --show-control-chars terminal) -Q, --quote-name Coloca os nomes das entradas entre aspas --quotingUsa estilo de citao PALAVRA para os nomes das entradas: style=PALAVRA Palavra = literal, locale, shell, shell-always, c, escape -r, --reverse Inverte a ordem de ordenao -R, --recursive Lista subdiretrios recursivamente -s, --size Mostra o tamanho alocado para cada arquivo, em blocos Ordena por PALAVRA em vez de pelo nome: none -U, --sort=PALAVRA extension -X, size -S, time -t, version -v (nenhum, extenso, tamanho, hora, verso) Com -l, mostra a hora como PALAVRA em vez do horrio de modificao: Palavra: atime -u, access -u, use -u: ltimo acesso, --time=PALAVRA ctime -c, status -c: ltima modificao; usa o horrio especificado como chave de ordenao se --sort=time Com -l, emite os horrios usando o estilo ESTILO: FORMATO interpretado como em "date"; se for FORMATO1, --time-style=ESTILO FORMATO2, FORMATO1 se aplica a arquivos no recentes, e FORMATO2 aos recentes; se ESTILO tem como prefixo "posix-", ESTILO s faz efeito fora da localidade POSIX -t Ordena pelo horrio de modificao -T --tabsize=COL Assume paradas de tabulao a cada COLS em vez de 8 com -lt: ordena e exibe por data de acesso com -l: exibe o -u tempo de acesso e ordena por nome sem nenhum parmetro, ordena por data de acesso

-U -v -w, --width=COLS -x -X -Z, --context -1 --help --version

No ordenar; exibe as entradas na ordem do diretrio Ordena pela ordem natural dos nmeros de verso dentro do texto Assume a largura da tela como COLS Lista as entradas por linha em vez de por coluna Ordena por ordem alfabtica das extenses das entradas Emite qualquer contexto de segurana SELinux de cada arquivo Lista arquivos por linha Exibe a ajuda Informa a verso

Pode-se encontrar algumas situaes em que o uso avanado do comando ls poder ajudar na resoluo de diversas tarefas que aparecem no nosso cotidiano, portanto ser necessrio conhecer de forma completa ou parcial para que as mesmas possam ser executadas resultando em minimizar esforos ou at mesmo solucionar problemas complexos que se baseavam em detalhes pouco observados. H momentos que precisaremos de modificar ou configurar arquivos no sistema que esto ocultos ou at mesmo listar arquivos em diretrios que esto ocultos, vale lembrar que arquivos ocultos e diretrios ocultos comeam com um . (ponto) no incio. Mas como eu posso encontrar arquivos ocultos em meus sistema? Simples! O seu diretrio /home/usurio possui diversos arquivos que so responsveis por manter as configuraes de softwares e perfil do usurio, portanto ser necessrio usar um parmetro especial para lista-los, o -a. D o seguinte comando no terminal para listar os arquivos e diretrios ocultos. $ ls -a . .adobe .aMule .fontconfig .profile ... Como podem ver esse exemplo, os arquivos (o resultado est resumido) e diretrio com . (ponto) esto ocultos, que naturalmente no esto visveis na HOME do usurio. A opo -b apresenta na sada padro todos os arquivos que contm escapes. Escapes so caracteres no grficos que separam as palavras no nome de arquivos. Por exemplo: quando vemos arquivos em modo grfico naturalmente no vemos os caracteres de escapes, se vssemos o nome do arquivo em modo grfico seria visto da seguinte maneira: Visto em modo grfico: Implementando Servidor de Aplicaes PHP com Zend Framework.odt Em modo texto com a opo -b:

Implementando\ Servidor\ de\ Aplicaes\ PHP\ com\ Zend\ Framework.odt Portanto essa opo valida para situaes em que necessrio verificar quais arquivos possuem caracteres de escapes. Em algumas distribuies GNU/Linux o comando ls no faz distino de cores em arquivos e diretrios, porm o parmetro --color pode ter trs argumentos: nunca colorir (none), sempre colorir (always), colorir automaticamente, que exige o parmetro auto e surtir efeito desde que a sada padro esteja associada a um terminal (tty). Sendo assim o comando "ls --color=none" no far a distino de cores, para que isso acontea preciso usar o argumento always da seguinte forma: "ls --color=always" ou usar a opo auto. Similar e mais complexo que o parmetro none, podemos usar a "ls -f", que desabilitar o suporte a cores e exibir arquivos ocultos, nada mais do que a juno de "ls -aU" e "ls --color=none". Tambm com a opo -F pode-se anexar indicadores nos arquivos classificando-os com smbolos que pode caracterizar arquivos e diretrios, os caracteres usados so:
y y y y y

* - Arquivos executveis / - Para diretrios > - Aponta de onde est vindo link simblico @ - Para link simblico = - Soquete

Utilizando o comando "ls --classify" ele informar no final do arquivo em qual classe se em enquadra o arquivo, por isso importante saber os caracteres acima. A opo --filetype possui o mesmo papel, porm no exibe os arquivos executveis. Usar o -format=Palavra exigir o uso de argumentos que podem corresponder a opes de separao por vrgula (commas), ordenar em uma nica (1), como mostra a tabela abaixo: Argumento Exemplo "across" (-x) ls --format= across "commas" (-m) ls --format= commas "horizontal" (-x) ls --format= horizontal "long" (-l) ls --format=long "single-column" (-1) ls --format=single-column "verbose" (-l)" ls --format= verbose "vertical" ls --format= vertical

A opo --full-time semelhante opo -l, mas no lista o dono do arquivo. Na maioria das situaes nos deparamos com a necessidade de saber qual o tamanho

dos arquivos, seja para fazer uma transferncia via rede, ou mov-lo para um outro diretrio qualquer, neste caso a opo -h ir acrescentar uma coluna na sada padro do comando contendo o tamanho do arquivo, porm necessrio usar o parmetro -l para que a coluna aparea. Abaixo se as opes de uso e os respectivos argumentos: O argumento -i refere-se ao nmero de ndice de cada arquivo no sistema que so chamados de inodes, ou seja, cada arquivo identificado por um nmero. Eles esto em um local reservado em seu disco rgido. Na figura abaixo a primeira coluna mostra o nmero identificador do arquivo.

Podemos usar argumentos para verificar o tamanho de arquivos desejados. Especificando o tamanho do arquivo podemos encontrar dentre vrios arquivos um arquivo com o tamanho especificado. Por exemplo: entre vrios arquivos em um diretrio possvel listar somente os que possuem tamanho de 10k com o seguinte argumento --block-size=10K. Descrever o uso do tradicional parmetro -l bem simples, embora seu resultado na sada padro mostra-nos uma srie de informaes avanadas a respeito do arquivo. Possui o parmetro -l, por caracterizar uma lista longa com formatos colunares. Em casos de necessidade de obter-se o resultado na sada padro em formato de separao por vrgula (;) usa-se o parmetro -m, como de costume o uso do formato colunar na sada padro, essa opo obtida de forma linear na sada padro. Pode-se usar vrias formas na sada padro e portanto podemos colocar na sada padro o caractere entre aspas duplas usando o parmetro -Q, esse tipo de procedimento pode ser usado em scripts que envolvam a possibilidade de usar os caracteres para algum fim especfico. A ordem de listagem pode ser apresentada de forma recursiva usando a opo de -r e -R. Tambm h a possibilidade de verificar o tamanho do espao em disco reservado para o arquivo, a sada padro ordenada pelo tamanho do arquivo caso utilize a opo -s. Se houver a necessidade de ordenar a coluna por horrio de modificao pode-se usar o parmetro -t. Tambm h um interessante parmetro, o -Z, que referencia qualquer contexto de segurana SELinux de cada arquivo. Finalizando, geralmente a exibio na sada padro feita em colunas que possuem informaes importantes, bem como data e hora de alterao, usurio e grupo em que

pertence o arquivo ou diretrio, entre outras informaes, dependendo da opo que subsequente ao comando. Usualmente escrever comandos extensos podem nos custar tempo e esforo, portando pode-se customizar essas tarefas colocando comandos complexos em comandos curtos chamados alias. Um modelo pr-definido pode ser encontrado dentro do arquivo de configurao global para o alias no final do arquivo /root/.bashrc, como mostra o exemplo abaixo. # some more ls aliases #alias ll='ls -l' #alias la='ls -A' #alias l='ls -CF' # enable programmable completion features (you don't need to enable # this, if it's already enabled in /etc/bash.bashrc and /etc/profile # sources /etc/bash.bashrc). #if [ -f /etc/bash_completion ]; then # . /etc/bash_completion #fi Existem vrias formas de se obter resultados de listagem de diretrios com o ls, bastando que os parmetros sejam anexados um ao outro para obter um relatrio contextualizado a sua necessidade. Em caso de necessidades de se obter algum tipo de informao pode-se usar o parmetros de ajuda do prprio programa: $ ls --help

Você também pode gostar