<?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; Linha de Comando</title>
	<atom:link href="http://www.marcuscavalcanti.net/blog/tag/linha-de-comando/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.marcuscavalcanti.net/blog</link>
	<description>Software, tecnologia e etc.</description>
	<lastBuildDate>Sun, 22 Jan 2012 21:18:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<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 [...]]]></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)</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span><span class="kw2">chmod</span> <span class="re5">-Rf</span> <span class="nu0">7777</span> <span class="sy0">/</span>diretorio</pre></div></div></div></div></div></div></div>


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


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span><span class="kw2">ifconfig</span></pre></div></div></div></div></div></div></div>


<p>Alterar o <em>owner</em> e o grupo de usuário de um arquivo</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span><span class="kw2">chown</span> user:group arquivo.txt</pre></div></div></div></div></div></div></div>


<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!)</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span><span class="kw2">ln</span> <span class="re5">-s</span> <span class="sy0">/</span>diretorio<span class="sy0">/</span>que<span class="sy0">/</span>sera<span class="sy0">/</span>criado<span class="sy0">/</span>o<span class="sy0">/</span><span class="kw2">link</span> <span class="sy0">/</span>diretorio<span class="sy0">/</span>de<span class="sy0">/</span>destino</pre></div></div></div></div></div></div></div>


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


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span><span class="kw2">find</span> .<span class="sy0">/</span> <span class="re5">-name</span> <span class="st0">&quot;.svn&quot;</span> <span class="sy0">|</span> <span class="kw2">xargs</span> <span class="kw2">rm</span> <span class="re5">-Rf</span></pre></div></div></div></div></div></div></div>


<p>Alterar <em>encoding</em> de arquivo de ISO-8859-1 para UTF-8</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span>iconv <span class="re5">-f</span> ISO-<span class="nu0">8859</span>-<span class="nu0">1</span> <span class="re5">-t</span> UTF-<span class="nu0">8</span> nome_arquivo_original.php <span class="sy0">&gt;</span> nome_arquivo_alterado.php</pre></div></div></div></div></div></div></div>


<p>Listar periféricos (<em>hardware</em>)</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span><span class="kw2">lspci</span></pre></div></div></div></div></div></div></div>


<p>Listar periféricos USB</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span>lsusb</pre></div></div></div></div></div></div></div>


<p>Verificar se determinada porta (8685) está aberta</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span><span class="kw2">netstat</span> <span class="re5">-an</span> <span class="sy0">|</span> <span class="kw2">grep</span> <span class="st0">&quot;8685&quot;</span></pre></div></div></div></div></div></div></div>


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


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span>redir <span class="re5">--lport</span>=<span class="nu0">80</span> <span class="re5">--cport</span>=<span class="nu0">7001</span> <span class="sy0">&amp;</span></pre></div></div></div></div></div></div></div>


<p>Procurar por nome de arquivo a partir do diretório atual recursivamente</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span><span class="kw2">find</span> .<span class="sy0">/</span> <span class="re5">-name</span> nome_do_arquivo</pre></div></div></div></div></div></div></div>


<p>Procurar por diretório recursivamente a partir do atual</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span><span class="kw2">find</span> . <span class="re5">-type</span> d <span class="re5">-name</span> diretorio</pre></div></div></div></div></div></div></div>


<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>)</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span><span class="kw2">find</span> <span class="sy0">/</span>diretorio <span class="re5">-exec</span> <span class="kw2">grep</span> <span class="re5">-il</span> <span class="st0">&quot;TEXTO&quot;</span> <span class="br0">&#123;</span><span class="br0">&#125;</span> ;</pre></div></div></div></div></div></div></div>


<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</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span><span class="kw2">find</span> <span class="sy0">/</span>directory <span class="re5">-iname</span> <span class="st0">&quot;*.log&quot;</span> <span class="re5">-exec</span> <span class="kw2">grep</span> <span class="re5">-il</span> <span class="st0">&quot;TEXTO&quot;</span> <span class="br0">&#123;</span><span class="br0">&#125;</span> ;</pre></div></div></div></div></div></div></div>


<p>Informar onde estão os arquivos binários de um programa</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span><span class="kw2">whereis</span> php</pre></div></div></div></div></div></div></div>


<p>Incluir um caminho (<em>path</em>) no <em>path</em> do SO</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span><span class="kw3">export</span> <span class="re2">PATH</span>=<span class="re1">$PATH</span>:<span class="sy0">/</span>opt<span class="sy0">/</span>lampp<span class="sy0">/</span>bin</pre></div></div></div></div></div></div></div>


<p>Listar os processos correntes do SO</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span><span class="kw2">ps</span> aux</pre></div></div></div></div></div></div></div>


<p>Listar os processos correntes do SO filtrando por determinada <em>string</em></p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span><span class="kw2">ps</span> aux <span class="sy0">|</span> <span class="kw2">grep</span> <span class="st0">&quot;apache&quot;</span></pre></div></div></div></div></div></div></div>


<p>Encerrar (cancela) um processo ou grupo de processo a partir do seu ID (pid), nesse caso &#8220;78452&#8243;</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span><span class="kw2">kill</span> <span class="re5">-9</span> <span class="nu0">78452</span></pre></div></div></div></div></div></div></div>


<p>Copiar por SSH um arquivo de uma máquina remota para a máquina local</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span><span class="kw2">scp</span> user<span class="sy0">@</span>192.168.1.100:<span class="sy0">/</span>home<span class="sy0">/</span>usuario_remoto<span class="sy0">/</span>Desktop<span class="sy0">/</span>file.txt <span class="sy0">/</span>home<span class="sy0">/</span>meu_usuario<span class="sy0">/</span>Desktop<span class="sy0">/</span>file.txt</pre></div></div></div></div></div></div></div>


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


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><pre class="de1"><span class="co4">$ </span><span class="kw2">tail</span> <span class="re5">-f</span> nome_do_arquivo.log</pre></div></div></div></div></div></div></div>


<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>

