<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>marcuscavalcanti.net &#187; Comandos</title>
	<atom:link href="http://www.marcuscavalcanti.net/blog/tag/comandos/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.marcuscavalcanti.net/blog</link>
	<description>Software, tecnologia e etc.</description>
	<lastBuildDate>Wed, 21 Jul 2010 03:52:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Comandos úteis para Linux</title>
		<link>http://www.marcuscavalcanti.net/blog/2009/03/05/comandos-uteis-para-linux/</link>
		<comments>http://www.marcuscavalcanti.net/blog/2009/03/05/comandos-uteis-para-linux/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 21:12:51 +0000</pubDate>
		<dc:creator>Marcus Cavalcanti</dc:creator>
				<category><![CDATA[Ubuntu & Linux]]></category>
		<category><![CDATA[Comandos]]></category>
		<category><![CDATA[Command Line]]></category>
		<category><![CDATA[Linha de Comando]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.marcuscavalcanti.net/blog/?p=527</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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 <a href="http://www.awm.com.br" target="_blank" style="text-decoration: underline">amigo</a> 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.</p>
<p>Há cerca de 1 ano e meio, talvez um pouco mais, resolvi ceder a pressão e dar uma chance ao <a href="http://www.infowester.com/tux.php" target="_blank" style="text-decoration: underline">Pinguim</a>, mas fiz isso usando <em><a href="http://en.wikipedia.org/wiki/Dual_boot"  target="_blank" style="text-decoration: underline">dual boot</a></em>. 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 <a href="http://en.wikipedia.org/wiki/Virtual_machine"  target="_blank" style="text-decoration: underline">máquinas virtuais</a>, se você tiver como SO base o Windows e instalar em uma VM uma distribuição Linux, fatalmente você cairá no mesmo problema.</p>
<p>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 <a href="http://en.wikipedia.org/wiki/Unix" target="_blank" style="text-decoration: underline">Unix</a>, como o Linux e o Mac OS X, com o Windows. Sem contar que hoje em dia, algumas distribuições como o <a href="http://www.ubuntu.com/" target="_blank" style="text-decoration: underline">Ubuntu</a>, por exemplo, estão quase tão fáceis de usar como o Windows.</p>
<p>Uma das coisas mais fantásticas dos sistemas operacionais baseados em Unix são sua <a href="http://en.wikipedia.org/wiki/Command_line_interface" target="_blank" style="text-decoration: underline">linha de comando</a> 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 (<a href="http://en.wikipedia.org/wiki/MS-DOS"  target="_blank" style="text-decoration: underline">MS-DOS</a>), que sinceramente é muito fraca.</p>
<p>Se você é usuário Windows, não quer instalar o Linux em uma VM e não quer deixar o seu computador <em>dual boot</em>, então ainda existe uma alternativa derradeira: é o <a href="http://aurelio.net/cygwin/" target="_blank" style="text-decoration: underline">Cygwin</a>. 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 &#8220;windows->linux&#8221;.</p>
<p>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 :)</p>
<p>Vamos lá:</p>
<p>Permissão (de tudo) a partir de um diretório recursivamente (forçada)<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ chmod -Rf 7777 /diretorio</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Mostra/controla as <em>network interfaces</em> (conexões <em>wireless</em> e com fio, por exemplo)<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ ifconfig</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Alterar o <em>owner</em> e o grupo de usuário de um arquivo<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ chown user:group arquivo.txt</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Criação de Link Simbólico (se você não sabe o que é, <a href="http://www.vivaolinux.com.br/dica/Link-simbolico-e-hardlink/" target="_blank" style="text-decoration: underline">clique aqui</a>, é muito útil!)<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ ln -s /diretorio/que/sera/criado/o/link /diretorio/de/destino</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Remover todos os arquivos com determinada extensão a partir do diretório atual recursivamente<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ find ./ -name &quot;.svn&quot; | xargs rm -Rf</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Alterar <em>encoding</em> de arquivo de ISO-8859-1 para UTF-8<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ iconv -f ISO-8859-1 -t UTF-8 nome_arquivo_original.php &gt; nome_arquivo_alterado.php</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Listar periféricos (<em>hardware</em>)<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ lspci</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Listar periféricos USB<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ lsusb</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Verificar se determinada porta (8685) está aberta<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ netstat -an | grep &quot;8685&quot;</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Redirecionar porta. Nesse caso redireciona da 80 para 7001, se a porta não estiver aberta, o comando abre<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ redir --lport=80 --cport=7001 &amp;</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Procurar por nome de arquivo a partir do diretório atual recursivamente<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ find ./ -name nome_do_arquivo</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Procurar por diretório recursivamente a partir do atual<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ find . -type d -name diretorio</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>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 (<em>case-insensitive</em>)<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ find /diretorio -exec grep -il &quot;TEXTO&quot; {} ;</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Procurar por conteúdo (texto) dentro de arquivos apenas com a extensão &#8220;.log&#8221; (<em>case-insensitive</em>), recursivamente, a partir do diretório especificado, mostrando o nome dos arquivos que foram encontrados o texto buscado<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ find /directory -iname &quot;*.log&quot; -exec grep -il &quot;TEXTO&quot; {} ;</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Informar onde estão os arquivos binários de um programa<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ whereis php</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Incluir um caminho (<em>path</em>) no <em>path</em> do SO<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ export PATH=$PATH:/opt/lampp/bin</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Listar os processos correntes do SO<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ ps aux</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Listar os processos correntes do SO filtrando por determinada <em>string</em><br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ ps aux | grep &quot;apache&quot;</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Encerrar (cancela) um processo ou grupo de processo a partir do seu ID (pid), nesse caso &#8220;78452&#8243;<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ kill -9 78452</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Copiar por SSH um arquivo de uma máquina remota para a máquina local<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ scp user@192.168.1.100:/home/usuario_remoto/Desktop/file.txt /home/meu_usuario/Desktop/file.txt</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Mostrar as últimas linhas de um arquivo (atualizado dinamicamente conforme um novo conteúdo é inserido)<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Text"><div class="devcodeoverflow"><ol><li>$ tail -f nome_do_arquivo.log</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Lembrando que alguns dos comandos acima, para serem executados, necessitam de privilégios de um super-usuário, como o usuário <em>root</em> por exemplo.</p>
<p>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.</p>
<p><em>Hope this helps!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcuscavalcanti.net/blog/2009/03/05/comandos-uteis-para-linux/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
