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.
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:
[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 =)
[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.
[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!
[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.
[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.
[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?
[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...
[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.