ls comando lista arquivos ocultos

0

Quando executo o comando ls , recebo arquivos como opencv.sh~ na minha saída, o que não é visível se eu verificar o diretório inicial.

Basicamente, ele também lista arquivos ocultos sem fornecer nenhum outro parâmetro. Como posso evitar isso?

Minha dist é o Ubuntu 14.04

    
por SpiderRico 28.07.2015 / 01:10

2 respostas

3

opencv.sh~ não é um arquivo oculto. POSIX define um arquivo oculto como um começando com um ponto, mas opencv.sh~ não inicia com um ponto.

Se você não quiser ver esses arquivos, poderá explicitamente evitá-los usando um glob que não os inclua (por exemplo, shopt -s extglob seguido por ls !(*\~) ) ou (como eu presumo que sejam do vim), você pode configurar o vim para não colocar arquivos de backup no mesmo diretório .

    
por 28.07.2015 / 01:15
3

Não há propriedade em um arquivo que indique que ele está oculto. As primeiras versões do Unix tinham um comando ls que ocultava arquivos cujo nome começa com . (“arquivos de ponto”) e essa tradição ficou. O comando ls , por padrão, oculta arquivos cujo nome começa com . e mostra todos os outros arquivos.

Alguns gerenciadores de arquivos gráficos ocultam arquivos cujo nome começa com . , como ls , porque é o que muitos usuários esperam. O Gnome lançou uma nova convenção, que é a de que os diretórios podem conter um arquivo chamado .hidden , que contém uma lista de arquivos a serem ocultados (um nome de arquivo por linha, nenhum padrão permitido).

Você não mencionou qual gerenciador de arquivos usou, é possível que ele tenha regras diferentes para ocultar arquivos. Se opencv.sh~ estiver oculto, isso segue regras decididamente não padronizadas, portanto você não pode reclamar legitimamente que ls não está seguindo essas regras fora do padrão.

Adicionar ~ no final de um nome de arquivo é a convenção para um arquivo de backup. Ou seja, opencv.sh~ é uma versão anterior de opencv.sh , criada pelo seu editor quando você salvou opencv.sh .

A versão GNU de ls suporta uma opção -I para ignorar padrões extras (além de arquivos de ponto). Se você quiser ocultar os arquivos de backup de ls , poderá criar um alias que adicione -I "*~" às opções ls :

alias ls='ls -I "*~"'

(mais qualquer outra opção desejada, por exemplo, alias ls='ls -I "*~"' --color para usar cores para indicar tipos de arquivo). Coloque essa linha no seu .bashrc , .zshrc ou qualquer outro arquivo de inicialização usado pelo seu shell.

    
por 28.07.2015 / 02:09

Tags