Posts com a Tag ‘bash’

Onde fica a lixeira no openSUSE?

segunda-feira, 27 de abril de 2009

As vezes, depois de muito tempo utilizando a interface gráfica (eu uso o Gnome), a lixeira em seu desktop fica lotada de arquivos e outras coisas que você apagou. Para limpar a lixeira basta clicar com o botão direito do mouse e escolher a opção apropriada, nada mais fácil.

Entretanto, em algumas situações onde a lixeira está muito cheia, digamos 600 MB ou mais com um número muito grande de arquivos pequenos, o processo de esvaziá-la via desktop pode ser um pouco demorado. Nesses casos eu prefiro apagar a lixeira via linha de comando. Mas onde exatamente fica a lixeira?

Em ~/.local/share/Trash ! Lá você encontrará dois diretórios: files e info. Basta apagar o conteúdo desses dois diretórios (via rm, por exemplo) que sua lixeira será esvaziada.

Ordenar output do comando ls

quarta-feira, 18 de março de 2009

É impressionante como volta e meia gastamos horas procurando resolver um problema e a solução sempre esteve ali, ao nosso lado, a uma man page de distância.

Há algum tempo eu estava programando um script que precisava listar determinados arquivos de um diretório, em ordem crescente. O problema: como os arquivos eram nomeados de “arq1.txt”, “arq2.txt”, até “arq30.txt”, quando meu script executava o comando ls -l o output não era exatamente ordenado em ordem crescente:

arq10.txt
arq11.txt
arq12.txt
arq13.txt
arq14.txt
arq15.txt
arq16.txt
arq17.txt
arq18.txt
arq19.txt
arq1.txt
arq20.txt
arq21.txt
arq22.txt
arq23.txt
arq24.txt
arq25.txt
arq26.txt
arq27.txt
arq28.txt
arq29.txt
arq2.txt
arq30.txt
arq3.txt
arq4.txt
arq5.txt
arq6.txt
arq7.txt
arq8.txt
arq9.txt

Após horas tentando descobrir como ordenar corretamente os arquivos, utilizando os mais diferentes meios, como por exemplo o ls -l | sort e suas variações, resolvi tentar o óbvio: ler a man page do comando ls. E, para minha surpresa, o comando ls tem uma opção pouco conhecida que faz justamente o tipo de ordenação que estava precisando: a opção “-v”, de “sort by version“. Após um simples ls -lv o resultado foi o correto:

arq1.txt
arq2.txt
arq3.txt
arq4.txt
arq5.txt
arq6.txt
arq7.txt
arq8.txt
arq9.txt
arq10.txt
arq11.txt
arq12.txt
arq13.txt
arq14.txt
arq15.txt
arq16.txt
arq17.txt
arq18.txt
arq19.txt
arq20.txt
arq21.txt
arq22.txt
arq23.txt
arq24.txt
arq25.txt
arq26.txt
arq27.txt
arq28.txt
arq29.txt
arq30.txt

Mais um exemplo de que antes de reinventar a roda, devemos ver se alguém já não passou com ela rodando do nosso lado.