Comandos úteis para Linux

Confesso que desde que mudei meu SO de Windows para Linux, desenvolver ficou muito mais prazeroso e prático. Há muito tempo atrás, tinha um amigo que insistia nisso comigo, mas eu sempre acabava relutando e ficando com Windows. Os motivos eram muitos, mas o principal de todos era a comodidade.

Há cerca de 1 ano e meio, talvez um pouco mais, resolvi ceder a pressão e dar uma chance ao Pinguim, mas fiz isso usando dual boot. Por experiência própria, afirmo com convicção, que quem acaba optando por essa tática de transição, quase sempre acaba ficando com Windows, o negócio tem que ser na marra mesmo hehehe. O mesmo serve para máquinas virtuais, se você tiver como SO base o Windows e instalar em uma VM uma distribuição Linux, fatalmente você cairá no mesmo problema.

Não sou daqueles que ficam malhando o Windows/Microsoft a torto e a direito, acho que a dupla tem os seus méritos, que por sinal são muitos, mas tratando-se de liberdade, flexibilidade e segurança, fica muito difícil comparar um SO baseado em Unix, como o Linux e o Mac OS X, com o Windows. Sem contar que hoje em dia, algumas distribuições como o Ubuntu, por exemplo, estão quase tão fáceis de usar como o Windows.

Uma das coisas mais fantásticas dos sistemas operacionais baseados em Unix são sua linha de comando poderosíssima, pois através dela é possível fazer N operações com velocidade, flexibilidade, alcançe e combinando-as. A linha de comando de um SO baseado em Unix é, por exemplo, muito mais avançada que a linha de comando do Windows (MS-DOS), que sinceramente é muito fraca.

Se você é usuário Windows, não quer instalar o Linux em uma VM e não quer deixar o seu computador dual boot, então ainda existe uma alternativa derradeira: é o Cygwin. Cygwin é um programinha que você instala como outro qualquer no Windows e que te proporciona todo o poder da linha de comando, inclusive já o usei em uma das minhas várias tentativas de transição “windows->linux”.

Separei uma coleção de comandos úteis, que me ajudam bastante nas tarefas do meu dia-a-dia, seja como desenvolvedor ou também como usuário, se alguém quiser contribuir com essa listinha, está convidado :)

Vamos lá:

Permissão (de tudo) a partir de um diretório recursivamente (forçada)

 Text |  copiar código |? 
1
$ chmod -Rf 7777 /diretorio

Mostra/controla as network interfaces (conexões wireless e com fio, por exemplo)

 Text |  copiar código |? 
1
$ ifconfig

Alterar o owner e o grupo de usuário de um arquivo

 Text |  copiar código |? 
1
$ chown user:group arquivo.txt

Criação de Link Simbólico (se você não sabe o que é, clique aqui, é muito útil!)

 Text |  copiar código |? 
1
$ ln -s /diretorio/que/sera/criado/o/link /diretorio/de/destino

Remover todos os arquivos com determinada extensão a partir do diretório atual recursivamente

 Text |  copiar código |? 
1
$ find ./ -name ".svn" | xargs rm -Rf

Alterar encoding de arquivo de ISO-8859-1 para UTF-8

 Text |  copiar código |? 
1
$ iconv -f ISO-8859-1 -t UTF-8 nome_arquivo_original.php > nome_arquivo_alterado.php

Listar periféricos (hardware)

 Text |  copiar código |? 
1
$ lspci

Listar periféricos USB

 Text |  copiar código |? 
1
$ lsusb

Verificar se determinada porta (8685) está aberta

 Text |  copiar código |? 
1
$ netstat -an | grep "8685"

Redirecionar porta. Nesse caso redireciona da 80 para 7001, se a porta não estiver aberta, o comando abre

 Text |  copiar código |? 
1
$ redir --lport=80 --cport=7001 &

Procurar por nome de arquivo a partir do diretório atual recursivamente

 Text |  copiar código |? 
1
$ find ./ -name nome_do_arquivo

Procurar por diretório recursivamente a partir do atual

 Text |  copiar código |? 
1
$ find . -type d -name diretorio

Procurar por conteúdo (texto) dentro do arquivo, recursivamente, a partir do diretorio especificado mostrando apenas o nome dos arquivos onde foram encontrados o texto buscado (case-insensitive)

 Text |  copiar código |? 
1
$ find /diretorio -exec grep -il "TEXTO" {} ;

Procurar por conteúdo (texto) dentro de arquivos apenas com a extensão “.log” (case-insensitive), recursivamente, a partir do diretório especificado, mostrando o nome dos arquivos que foram encontrados o texto buscado

 Text |  copiar código |? 
1
$ find /directory -iname "*.log" -exec grep -il "TEXTO" {} ;

Informar onde estão os arquivos binários de um programa

 Text |  copiar código |? 
1
$ whereis php

Incluir um caminho (path) no path do SO

 Text |  copiar código |? 
1
$ export PATH=$PATH:/opt/lampp/bin

Listar os processos correntes do SO

 Text |  copiar código |? 
1
$ ps aux

Listar os processos correntes do SO filtrando por determinada string

 Text |  copiar código |? 
1
$ ps aux | grep "apache"

Encerrar (cancela) um processo ou grupo de processo a partir do seu ID (pid), nesse caso “78452″

 Text |  copiar código |? 
1
$ kill -9 78452

Copiar por SSH um arquivo de uma máquina remota para a máquina local

 Text |  copiar código |? 
1
$ scp user@192.168.1.100:/home/usuario_remoto/Desktop/file.txt /home/meu_usuario/Desktop/file.txt

Mostrar as últimas linhas de um arquivo (atualizado dinamicamente conforme um novo conteúdo é inserido)

 Text |  copiar código |? 
1
$ tail -f nome_do_arquivo.log

Lembrando que alguns dos comandos acima, para serem executados, necessitam de privilégios de um super-usuário, como o usuário root por exemplo.

Existem ainda uma infinidade de outros comandos úteis, mas que eu tenha lembrado, os que mais uso são esses. Os comandos mais básicos e simples, como: man, wget, ls, cd, cp, cat, rm, mv, etc.. não vou mostrar, pois não tem muito mistério, mas no Google é possível encontrar milhares de boas referências.

Hope this helps!

Ubuntu & Linux

Se você gostou desse tópico, por favor considere deixar um comentário ou se inscreva no feed e tenha no futuro todos os tópicos entregues diretamente no seu agregador.

Comentários

6 Respostas para “Comandos úteis para Linux”

Deixe seu Comentário

(obrigatório)

(obrigatório)