Fundamentos do sistema Linux - comandos do Linux

A linha de comando é o método mais usado por administradores de sistemas, pois é o que oferece o maior número de possibilidades, além de ser o método mais rápido de fazer as coisas. Nesse artigo, você terá uma lista detalhada dos principais comandos do GNU/Linux, divididos em categorias, com exemplos práticos de aplicação, incluindo associações com outros aplicativos.

[ Hits: 471.316 ]

Por: Davidson Rodrigues Paulo em 28/05/2006 | Blog: http://davidsonpaulo.com/


Pesquisa e informações



find


O find (procurar, em inglês) é uma ferramenta que utilizamos para localizar arquivos ou diretórios no sistema de arquivos.

Sintaxe:

$ find [opções] [caminho] [expressão] [ações]

Opções:
  • -amin [n]: Procura arquivos que foram acessados há [n] minutos atrás;
  • -anewer [arquivo]: Procura arquivos que foram acessados depois do [arquivo];
  • -atime [n]: Procura arquivos que foram acessados há [n] dias atrás;
  • -cmin [n]: Procura arquivos que tiveram seu status alterado há [n] minutos atrás;
  • -cnewer [arquivo]: Procura arquivos que tiveram seu status alterado depois do [arquivo];
  • -empty: Procura arquivos vazios e que sejam como arquivos regulares ou diretórios;
  • -fstype [tipo]: Procura apenas arquivos que estejam gravados em sistemas de arquivos do tipo especificado;
  • -gid [n]: Procura por arquivos cujo GID seja [n];
  • -group [grupo]: Procura por arquivos que pertençam ao grupo informado;
  • -inum [n]: Procura o arquivo cujo I-node seja [n];
  • -mmin [n]: Procura arquivos que foram modificados a [n] minutos atrás;
  • -mtime [n]: Procura arquivos que foram modificados a [n] dias atrás;
  • -name [expressão]: Procura arquivos cujo nome coincida com a expressão digitada;
  • -newer [arquivo]: Procura arquivos que foram modificados depois do [arquivo];
  • -nouser: Procura arquivos cuja UID não esteja registrada no sistema;
  • -nogroup: Procura arquivos cuja GID não esteja resgistrada no sistema;
  • -path [expressão]: Realiza a busca nos diretórios que coincidam com a expressão informada;
  • -perm [permissões]: Procura arquivos que contenham as permissões informadas, no modo octal ou literal;
  • -perm [-/+][permissões]: Aplica as permissões informadas para os arquivos encontrados;
  • -regex [expressão]: Localiza os arquivos que coincidirem com a expressão regular informada. Lembre-se que expressões simples são diferentes de expressões regulares;
  • -size [n][b/c/k/w]: Localiza os arquivos cujo tamanho seja [n] múltiplos de:
    • b: 512 bytes;
    • c: 1 byte;
    • k: 1 kilobyte;
    • w: 2 bytes.

  • -type [tipo]: Procura por arquivos que sejam de um tipo específico:
    • b: dispositivo de bloco;
    • c: dispositivo de caracter;
    • d: diretório;
    • p: duto nomeado (FIFO);
    • f: arquivo regular;
    • l: link simbólico;
    • s: soquete.

  • -uid [número]: Procura por arquivos cuja UID seja igual ao [número];
  • -used [n]: Procura por arquivos que tenham sido acessados [n] dias após seu status ter sido modificado;
  • -user [usuário]: Procura por arquivos cujo dono seja o [usuário].

O caminho é o diretório dentro do qual se vai realizar a busca. Para buscar em todo o sistema de arquivos, deve-se colocar /. Se a busca for feita no diretório atual, pode-se ignorar esse parâmetro.

A expressão deve ser o nome do arquivo que se está procurando, com ou sem curingas. Essa expressão pode ser omitida dependendo da opção de pesquisa que se esteja utilizando.

Ações:

É possível realizar ações com os arquivos encontrados. Isso é muito útil quando é necessário realizar uma determinada operação com todos os arquivos do sistema que tenham determinadas características.

As principais ações que podem ser executados são:
  • -exec [comando] [prefixo]{}[sufixo] \;: Executa o comando nos arquivos encontrados. O comando pode ser qualquer programa do sistema. Os caracteres {} são substituídos pelo nome do arquivo encontrado. [prefixo] e [sufixo] são opcionais;
  • -ok [comando] [prefixo]{}[sufixo] \;: O mesmo que -exec, mas pergunta para o usuário antes de executar o comando em cada arquivo.

whereis


Localiza o executável, arquivo/diretório de configuração, diretórios de bibliotecas, arquivos compartilhados, código-fonte e caminho da página de manual do programa especificado.

Sintaxe:

$ whereis [opções] [programa]

Opções:
  • -b: Procura apenas pelo executável do programa;
  • -m: Procura apenas pela páginas de manual;
  • -s: Procura apenas pelo diretório do código-fonte;
  • -u: Procura no diretório atual por arquivos que não possuam alguma das entradas informadas.

Exemplos de uso:

Para ver a localização dos arquivos e diretórios do GIMP, utilizamos o whereis da seguinte forma:

$ whereis gimp
gimp: /usr/bin/gimp /etc/gimp /usr/lib/gimp /usr/share/gimp /usr/share/man/man1/gimp.1.gz

Onde:
  • /usr/bin/gimp: Executável;
  • /etc/gimp: Diretório contendo os arquivos de configuração;
  • /usr/lib/gimp: Diretório contendo as bibliotecas;
  • /usr/share/gimp: Diretório contendo os arquivos compartilhados;
  • /usr/share/man/man1/gimp.1.gz: Localização da página de manual.

Para saber apenas a localização da página de manual, utilizamos a opção -m:

$ whereis -m gimp
gimp: /usr/share/man/man1/gimp.1.gz

which


Exibe o caminho completo para o comando selecionado.

Sintaxe:

$ which [comando]

Exemplos de uso:

Para sabermos o caminho completo para comando grep, usamos:

$ which grep
/bin/grep

uname


Mostra o nome e a versão do kernel em uso.

Sintaxe:

$ uname [opções]

Opções:
  • -a: Exibe todas as informações;
  • -s: Exibe apenas o nome do kernel;
  • -n: Exibe apenas o nome da máquina na rede;
  • -r: Exibe apenas a série do kernel;
  • -v: Exibe apenas a versão do kernel;
  • -m: Exibe apenas a arquitetura de hardware;
  • -o: Exibe apenas o nome do sistema operacional.

Exemplos de uso:

$ uname -a
Linux bozo-athlon 2.6.8-2-k7 #1 Mon Jan 24 03:29:52 EST 2005 i686 GNU/Linux

Página anterior     Próxima página

Páginas do artigo
   1. Manipulação de arquivos e diretórios
   2. Manipulação e filtragem de texto
   3. Pesquisa e informações
   4. Administração do sistema
   5. Utilitários de terminal
Outros artigos deste autor

Compilando o Squid e criando o pacote para Slackware

Fundamentos do sistema Linux: discos e partições

Resolvendo dependências no Slackware com slackpkg

Fundamentos do sistema Linux - hardware

Instalação e utilização do Qemu no Fedora Core

Leitura recomendada

Partições - Montagem na marra!

GoblinX: Mais um filho do Slackware

O que é o Linux

Instalação do Archlinux por outro sistema já instalado

O útil comando "du"

  
Comentários
[1] Comentário enviado por PCMasterPB em 28/05/2006 - 20:46h

Excelente o artigo, será muito útil pra citar como referência para os novatos e mostrar-lhes como o modo texto é poderoso no linux hehehe. ;D

[2] Comentário enviado por nataliawanick em 28/05/2006 - 22:35h

Parabéns!! Mais um excelente artigo, professor!! Por artigos como esse é que me torno mais fã a cada dia...
natalia wanick

[3] Comentário enviado por tomaz.brasil em 29/05/2006 - 00:21h

Good job ;-)

[4] Comentário enviado por loammy em 29/05/2006 - 08:28h

Como assim, " ls -A" nao mostra os diretorios, se foi isto que entendi acho que vc esta equivocado, pois na minha maquina mostra os arquivos e diretorios ocultos...

[5] Comentário enviado por feraf em 29/05/2006 - 14:29h

Fala davidson!
Eu uso um comando aqui no servidor que eu uso, que é o seguinte:

last | cut -c-9 | sort | uniq -c | sort -n | tac | head -20

Ele pode parecer monstruosamente grande, mas faz algo bem simples, lista os 20 usuários em ordem de quantidade de logins realizados no último mês. Last lista todos os logins realizados num período de 1 mes. O cut retira somente o nome do usuário. O primeiro sort ordena alfabeticamente. o Uniq junta as linhas que forem iguais (no caso os logins iguais) e adiciona esse número na frente da linha. O segundo sort ordena por esse primeiro número, só que em ordem crescente. O tac inverte isso, assim temos uma lista em ordem decrescente. E o head pega os primeiros 20.

Olha só que coisa poderosa podemos fazer com esses míseros comandos =)

Felipe

[6] Comentário enviado por removido em 29/05/2006 - 14:34h

Cara deixou a desejar. Mas o conteudo desse artigo está todo ele escrito na internet em outros sites. Peguei esse bem igual ao seu na semana passada pelo google.

[7] Comentário enviado por davidsonpaulo em 29/05/2006 - 14:54h

loammy,

-A faz o mesmo que -a, a diferença é que o -A não mostra os diretórios . (ponto) e .. (ponto-ponto).

iceman,

Sim, o conteúdo desse artigo está todo disponível na Internet, no Guia Bozolinux, como escrevi na última página do artigo.

feraf,

Sim! Com direcionadores podemos fazer coisas realmente formidáveis. Inclusive, o próximo artigo da série Fundamentos do Sistema Linux tratará deles.

E você, quando é que voltará a publicar? Seus textos fazem falta. Dá uma passada na Enciclopédia de vez em quando. :-)

Abraços,

Davidson

[8] Comentário enviado por deivid.veras em 30/05/2006 - 09:24h

Ola,

Realmente isto e muito bom para os novatos pois mostra o poder e a utlidade do modo texto, e o principal a agilidade que isto proporciona!


Tec. Deivid Veras Fontenele

[9] Comentário enviado por pedrocosta em 30/05/2006 - 10:18h

Parabens!!! Vai ser muito bom pra eu que estou começando, vlw!!! =)))

[10] Comentário enviado por fboliveira em 31/05/2006 - 09:03h

É um artigo excelente, bem claro e de fácil entendimento. Muito aplicável não só para iniciantes, de um modo geral, como também para quem deseja fazer um paralelo com funções do Windows. Parabéns!

[11] Comentário enviado por claudiolima em 31/05/2006 - 09:43h

Gostei muito deste Artigo, para mim que estou iniciando no Linux foi uma excelente oportunidade para dá o pontapé inicial. Parabéns!

[12] Comentário enviado por fellkevin em 29/06/2009 - 18:59h

Muito bom esse artigo tirou muitas duvidas minhas que sou um iniciante em LINUX

[13] Comentário enviado por Lisandro em 09/07/2009 - 12:38h

Bem completinho, um pequeno guia de referência. Vai pro FAVORITOS.

[14] Comentário enviado por cesar em 23/07/2009 - 11:17h

Muito bom,

1. Nota 10
2. Favoritos ;]

Parabéns.

[]'s

[15] Comentário enviado por Teixeira em 02/08/2009 - 09:13h

Vai para os meus Favoritos.
Assim como no antigo DOS, nem sempre é possível ter todos os comandos em nossa memória humana, pois sempre escapa alguma coisa ou outra, e por vezes até nos falta o entendimento de alguns pormenores.
Além do que, o artigo é uma excelente fonte de referência, uma espécie de livro de cabeceira, e está bem claro e abrangente.
Nota-se que é voltado para o usuário comum, do dia-a-dia, e não para aqueles que tentam dar nó em pingo d'água, mas já fornece o caminho das pedras.
Parabéns!

[16] Comentário enviado por jairus em 16/08/2009 - 09:52h

Bom dia !!!

Gostei muito da idéia de colocar as funções destes comandos, apesar de trabalharmos diariamente com o GNU/LINUX, as vezes esquecemos alguns parâmetros.
Por isso fiz uma cartilha de bolso, a partir do seu artigo, assim sempre consulto quando tenho dúvida sobre algum comando.


Valeu
Abraços
Jairus Lopes
Adm System Linux

[17] Comentário enviado por santiago_br em 27/08/2009 - 09:15h

Muito Bom !!

Sou novo aki no linux, vi a muito tempo atras uma versão do red hat 7, mas muito pouko, estou recomeçando muito boa ajuda. obrigado!



Santiago
Fedora 11

[18] Comentário enviado por Karen_Cahn em 14/12/2009 - 12:16h

Quala a resposta dessa questão: "QUAL O COMANDO UTILIZADO PARA CRIAR O DIRETÓRIO teste DENTRO DO DIRETÓRIO /mnt?
Att,
Karen Cahn

[19] Comentário enviado por B. Rodrigues em 28/12/2009 - 09:01h

Otimo!!!

Estou começando a trabalhar com linux e esse artigo e perfeito pra mim.

Valeu mesmo!!!

[20] Comentário enviado por doradu em 08/02/2010 - 18:49h

bem completo

[21] Comentário enviado por msajunior em 13/04/2010 - 14:14h

Tambem estou começando, por este motivo, me ajudou bastante. Vlw!

[22] Comentário enviado por jota88 em 14/04/2010 - 15:01h

Olá!!

Qual o comando que posso usar para ordenar alfabeticamente as linhas de um ficheiro de texto?

Obrigado ;)

[23] Comentário enviado por davidsonpaulo em 14/04/2010 - 15:04h

jota88, o comando é o sort, leia sobre ele na página 2 do artigo. Abraço.

[24] Comentário enviado por jota88 em 14/04/2010 - 15:23h

Já tinha descoberto isso. xD

Mas obrigado na mesma. ;)

Já agora.. eu tenho 2 ficheiros de texto (file.txt e newfile.txt) gostaria que concatenar o conteudo desses 2 ficheiros para um novo ficheiro catfile.txt.. só que não sei como fazer.. alguém sabe?

[25] Comentário enviado por diegopontes em 30/04/2010 - 16:06h

Jota88:
Primeiro você joga o arquivo para o novo arquivo (>), depois você joga o outro arquivo para o novo, mas dessa vez concatenando (>>) para não perder a 1° informação.

cat file.txt > catfile.txt ; cat newfile.txt >> catfile.txt

[26] Comentário enviado por ksa em 30/05/2010 - 21:49h

Meu caro ! parabéns e obrigado !
Sou um iniciante do linux que já estou começando a me "divertir" com a janela de terminal
valeu !!!

[27] Comentário enviado por miguel arcanjo3 em 22/02/2011 - 10:02h

valeu pela dica.

[28] Comentário enviado por mfop06 em 01/06/2012 - 19:22h

Olá, sou novato no Linux e gostaria de saber como criar um arquivo no Linux. Estou tentando instalar o modem da claro 3g e eles pedem para criar um arquivo no undev. Mas como se faz isso?

[29] Comentário enviado por henriquejp em 10/10/2012 - 15:47h

é..o bagulho eh doido,quanto mais sendo iniciante muahahahahaaahahaah

[30] Comentário enviado por MAPOGOS em 28/04/2014 - 19:29h

muito bom este artigo, não sei se é engano meu mjas o negócio esta começando a ficar bom aqui no VOL.
Legal isto amigo é isso que buscamos e o que queremos aprender...

[31] Comentário enviado por ricardones em 01/04/2015 - 10:03h

Para complementar o atributo -y permite executar os comandos ja atribuindo sim para todas as perguntas.

[32] Comentário enviado por DanielDutra em 17/07/2016 - 14:20h

Amigos boa tarde.

Uma duvida de iniciante.
O que significa a primeira linha que aparece quando abrimos o terminal? http://i.imgur.com/vEkG2Io.png
No meu caso é essa aqui: danieldutra@linux-eto9:~> gostaria de saber principalmente o que significa após o @(arroba)

[33] Comentário enviado por Teixeira em 17/07/2016 - 19:58h

Prezado iniciantegnu, esse é o prompt de comando do Linux.
Considerando-se que a arroba (@) significa "at" (ou "em", no Português), essa linha que você nos apresenta pode ser interpretada assim:
nome-do-usuário@nome-do-computador,
ou seja,
danieldutra(em)linux-eto9
o que significa que seu computador foi identificado no sistema Linux como sendo "linux-eto9", que é como foi registrado durante a instalação.
Para maiores informações e para tirar dúvidas básicas sobre o sistema gnu/linux, recomendamos o "guia foca linux" (www.guiafoca.org), que é excelente.



Contribuir com comentário