Oculte arquivos em unix sem alterar seu nome (adicionando o ponto) para que os scripts que os usam ainda funcionem [duplicados]

0

Versão curta : Eu quero impedir que certos arquivos apareçam na saída de ls , sem adicionar o ponto e, assim, alterar seus nomes.

Versão longa : Recentemente, mudei um monte de scripts e arquivos de dados para outro diretório para manter as coisas organizadas. Muitos dos meus scripts mais antigos requerem acesso a esses arquivos e, portanto, criei links simbólicos para compatibilidade com versões anteriores. No entanto, o objetivo de mover os arquivos é manter a pasta original limpa, por isso não quero ver os links simbólicos. Mas como posso escondê-los, sem alterar seus nomes (adicionando o ponto) e, assim, quebrando meus scripts mais antigos?

    
por antass 11.09.2013 / 13:58

2 respostas

1

Infelizmente, isso não é possível (sem programar sua própria versão personalizada de ls ). A melhor coisa a fazer é apenas editar seus scripts.

É possível impedir que nomes de arquivos específicos sejam correspondidos por globs com a variável global $GLOBIGNORE .

$ printf '%s\n' *
foo.txt
bar.txt
baz.txt
$ GLOBIGNORE=foo.txt:baz.txt
$ printf '%s\n' *
bar.txt

Se você realmente quiser, pode definir um alias em .bashrc , onde também pode definir a variável $GLOBIGNORE acima.

alias myls='ls -d *'

No entanto, isso provavelmente causará problemas em algum lugar ao longo da linha. Seria realmente uma boa ideia apenas editar seus scripts (talvez usando o sed para executá-los em lotes, como sugerido pelo @terdon).

    
por 11.09.2013 / 14:19
1

Se você tem o gerenciador de arquivos nautilus instalado em seu sistema linux, você pode escondê-los do gerenciador de arquivos (nautilus) sem torná-lo invisível para CLI e sem usar o ponto.

Create .hidden file containing list of hidden files/folders.

Para usar este recurso, basta criar um arquivo com o nome ".hidden" (ponto oculto) localizado em uma pasta contendo os arquivos / pastas que você deseja ocultar. Em seguida, abra-o no editor de texto e crie uma lista de nomes dos arquivos / pastas ocultos que você deve ocultar na pasta que contém o arquivo ".hidden".

você não pode ocultar arquivos de ls sem usar o "ponto", mas você pode alterar as permissões do diretório que contém os arquivos para determinados usuários com chmod e torná-los inacessíveis a eles.

    
por 11.09.2013 / 14:24