20 out

Como encontrar um arquivo no Unix

Revivendo uma postagem de 05/10/2010, que vira e mexe eu preciso relembrar pois esqueço fácil rs. Tinha postado neste mesmo blog, mas tive problemas com o BD e perdi ela, mas felizmente consigo recuperar através do Internet Archive. Vamos a ela:

Eu, como bom usuário de Windows antes de 95, convivi muito com o DOS e seus comandos que lembro até hoje. Um deles era o dir/s, muito usado para saber quantos MB eram usados por meus jogos ou para procurar algum arquivo no disco.

Pois bem, o tempo passou e novamente me vejo querendo saber onde está um arquivo no disco, ou querendo saber quanto meu diretório home está usando de espaço do disco. Até aí tudo bem, o problema é que agora estou num ambiente Unix. E agora?

Depois de algumas pesquisas, vi que não é tão difícil assim também não.

ESPAÇO UTILIZADO

Para saber quanto de espaço foi utilizado no diretório home (~), basta usar o comando du:

Este comando mostra o espaço em disco utilizado, os parâmetros h e s são para mostrar os resultados de maneira fácil de ler e apenas do arquivo/diretório em questão, respectivamente. Sem o s ele mostra o espaço usado por cada arquivo no diretório.

PROCURANDO UM ARQUIVO

Para procurar um arquivo, o comando utilizado é o find. Este comando é muito poderoso, consegue encontrar arquivos e diretórios por nome, por data e hora de modificação, e muitas outras maneiras. Por exemplo, se eu quero encontrar o .jar do oracle, que eu sei o nome (ojdbc14.jar), a linha de comando é a seguinte:

Porém, no meu caso, as mensagens de erro ficam poluindo muito a tela (muitos diretórios sem permissão para leitura), e também como demora demais o processo para encontrar arquivos na máquina inteira, eu direciono a saída padrão para um arquivo, a saída de erro para /dev/null e faço rodar em segundo plano, tudo isso com esta linha de comando aqui:

Bacana né? O > redireciona a saída padrão, o 2> a saída de erro e o & faz o processo rodar em 2º plano.

Fonte: http://linuxgazette.net/issue54/tag/15.html

 

27 abr

Logoff um usuário pela linha de comando

Aqui em casa, uso um computador para trabalhar e jogar, que fica no meu escritório, mas é comum minha esposa ou meu filho usar o PC uma hora ou outra.

Porém, normalmente eles não fazem logoff, e fica portanto com possíveis janelas de browser e jogos abertos.

Pesquisando uma solução para fazer logoff deles sem ter de ir em “Trocar usuário”, me deparei com uma postagem no site Superuser: Log off a disconnected user remotely, do usuário thePurpleMonkey.

Não é exatamente o que eu preciso, porém a resposta do usuário Luiz Angelo me deu o caminho das pedras.

Para verificar quais sessões estão rodando na máquina, no prompt de comando basta digitar o comando qwinsta:

Como pode ser observado, temos uma coluna “ID” ali, e é o valor dessa coluna que passamos para o comando logoff. Numa janela de comando com privilégios de admin, basta executar o comando:

E pronto, assim que o comando retorna, a sessão do usuário que você passou já não existe mais.