45
FUNDAMENTOS DO SISTEMA LINUX - COMANDOS DO LINUX MANIPULAÇÃO DE ARQUIVOS E DIRETÓRIOS Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora... 1 de 45 02-05-2015 09:59

Linux - Comandos Básicos

Embed Size (px)

DESCRIPTION

Linux - Comandos Básicos

Citation preview

Page 1: Linux - Comandos Básicos

FUNDAMENTOS DO SISTEMA LINUX - COMANDOS DO LINUX

Autor: Davidson Rodrigues Paulo <davidsonpaulo at gmail.com>

Data: 28/05/2006

MANIPULAÇÃO DE ARQUIVOS E DIRETÓRIOS

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

1 de 45 02-05-2015 09:59

Page 2: Linux - Comandos Básicos

LS

O comando ls exibe arquivos ou o conteúdo de um ou vários diretórios.

Sintaxe:

$ ls [opções] [arquivo]

Opções:

-a: Exibe arquivos ocultos;

-A: Não exibe os diretórios . e ..;

--author: Mostra o autor (criador) de cada arquivo;

-b: Exibe caracteres de escape octais no lugar dos caracteres que não podem ser vistos, como o

espaço em branco;

--block-size=[tamanho]: Exibe o tamanho dos arquivos em múltiplos do número de bytes

especificado nesse parâmetro;

-B: Não exibe arquivos de backup (terminados com ~);

-c: Lista os arquivos por ordem da data da última modificação;

-C: Exibe a listagem em colunas;

--color=[quando]: Controla quando as cores devem ser usadas para distinguir os tipos de arquivos.

Os valores aceitos são:

never: Não usa cores pra nenhum tipo de arquivo;

always: Usar cores para todo tipo de arquivo;

auto: Seleciona quais arquivos serão exibidos em cores.

-d: Exibe o diretório especificado, e não o seu conteúdo;

-f: Ativa os parâmetros -a e -U e desabilita os parâmetros -l, -s e -t;

-F: Acrescenta um caracter gráfico ao final de cada arquivo para identificar o seu tipo;

-G: Não exibe informações dos grupos a que os arquivos pertencem;

-h: Exibe os tamanhos dos arquivos em uma forma legível (2K, 21M, 1G);

--si: Semelhante ao -h, mas usa múltiplos de 1000 bytes ao invés de 1024;

-H: Exibe os arquivos para os quais os links simbólicos apontam, ao invés de listar só o link;

-i: Exibe o número de índice (I-node) dos arquivos;

-I: Não exibe entradas que contiverem o padrão informado;

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

2 de 45 02-05-2015 09:59

Page 3: Linux - Comandos Básicos

-k: Equivalente a --block-size=1k;

-l: Listagem detalhada, com diversas informações sobre os arquivos;

-L: Quando listar links simbólicos, lista o local para onde o link aponta, e não o link propriamente

dito;

-m: Lista os arquivos em linhas, separando cada item com uma vírgula;

-n: O mesmo que o parâmetro -l, mas mostra as UID's e GID's ao invés dos nomes dos grupos;

-o: O mesmo que o parâmetro -l, mas não exibe as informações sobre o grupo;

-p: Adiciona um caracter para identificar o tipo do arquivo. O mesmo que -F, mas não utiliza o

caracter * (asterisco);

-Q: Exibe os nomes das entradas entre " (aspas duplas);

-r: Organiza a lista na ordem inversa;

-R: Lista recursivamente o conteúdo dos diretórios e subdiretórios do diretório atual;

-s: Exibe o tamanho de cada arquivo, em múltiplos de blocos (especificados com o parâmetro

--block-size=[tamanho]);

-S: Organiza a lista de acordo com o tamanho do arquivo;

-t: Lista pela data de modificação;

-u: Organiza a listagem pela data do último acesso;

-U: Não organiza a listagem, exibindo os arquivos na seqüência em que estão gravadas no diretório;

-w: Ajusta o tamanho da tela para o número de colunas especificado;

-X: Organiza a listagem em ordem alfabética;

-1: Lista apenas um arquivo por linha;

Em [arquivo], devemos informar quais arquivos (arquivos, diretórios, dispositivos, links, etc.) devem ser

listados. Se não for informado nada, será listado o conteúdo do diretório atual (.).

Pode-se também utilizar curingas para filtrar os arquivos que serão listados. Por exemplo, podemos usar ls

*.sxw para listar somente os arquivos terminados em .sxw.

CD

O comando cd, sigla de change directory (selecionar diretório), serve para acessar um determinado diretório.

Sintaxe:

$ cd [diretório]

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

3 de 45 02-05-2015 09:59

Page 4: Linux - Comandos Básicos

Lembrando a lista dos diretórios do sistema:

..: Diretório acima do atual. Se você estiver no diretório /home/aluno/ e quiser acessar o diretório

/home/, digite cd ... Se quiser acessar o diretório /home/davidson/, digite cd ../davidson/;

~: Diretório pessoal do usuário atual, ou seja, /home/[usuário]/;

-: Diretório anterior. Se você estava no diretório /etc/ e mudou para o diretório /home/, digite cd -

para voltar ao diretório /etc/.

Se for usado sem parâmetro, ou seja, apenas cd, você será redirecionado para o diretório pessoal do usuário

atual.

MKDIR

O comando mkdir, abreviatura de make directory (criar diretório), é usado para criar um novo diretório.

Sintaxe:

$ mkdir [opções] [novo diretório]

Opções:

-m: Especifica as permissões que do novo diretório terá;

-p: Cria todos os diretórios e subdiretórios necessários;

-v: Exibe uma mensagem para cada diretório criado.

Em [novo diretório] devemos colocar os diretórios que queremos criar. Não é necessário digitar o caminho

completo, caso queiramos criar um diretório dentro do diretório atual. Podemos criar vários diretórios com

um único comando, bastando separá-los com espaços. Se quiser que o nome do novo diretório tenha

espaços em branco, escreva-o entre aspas duplas, dessa forma:

$ mkdir /home/davidson/"diretório com espaços em branco"

RMDIR

Esse comando é utilizado para apagar um diretório vazio.

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

4 de 45 02-05-2015 09:59

Page 5: Linux - Comandos Básicos

Sintaxe:

$ rmdir [opções] [diretório]

Opções:

-p: Remove os diretórios-pai do diretório selecionado, se possível. Assim, o comando rmdir -p

a/b/c/ vai apagar o diretório a/b/c/, depois o diretório a/b/ e por fim o diretório a/, se possível;

-v: Mostra os detalhes da remoção dos diretórios.

Podem ser especificados mais de um diretório por vez. O rmdir só remove diretório vazios.

PWD

O pwd, sigla de print working directory (exibir diretório de trabalho), exibe o diretório atual. É equivalente a

echo $PWD.

Uso:

$ pwd

CAT

O comando cat concatena arquivos e imprime na saída padrão (exibe na tela). Em arquivos, usamos o cat

para listar seu conteúdo na tela. Com o uso de direcionadores, podemos usá-lo para unir diferentes arquivos

em um só, dentre outra funções.

Sintaxe:

$ cat [opções] [arquivo]

Opções:

-b: Numera as linhas, com exceção das linhas em branco;

-E: Mostra um "$"? (cifrão) para indicar fim de linha;

-n: Numera todas as linhas, incluindo as em branco;

-s: Não mostra mais do que uma linha em branco. Se houver duas ou mais linhas em branco

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

5 de 45 02-05-2015 09:59

Page 6: Linux - Comandos Básicos

consecutivas, elas são truncadas e apenas uma é mostrada;

-T: Substitui tabulações pelos caracteres "^I"?;

-v: Substitui os caracteres não imprimíveis por símbolos, exceto tabulações e final de linha.

Exemplos de uso:

$ cat [arquivo1 arquivo2 arquivo3 ... arquivoN] > [arquivo]

Isso pode ser usado em qualquer tipo de arquivo, inclusive arquivos binários. É prática comum utilizar isso

para juntar arquivos de vídeo grandes, como filmes, que muitas vezes são divididos em várias partes.

Veja no exemplo abaixo, como unir as 2 partes do filme Matrix em um único arquivo:

$ cat the-matrix_part-1.mpeg the-matrix_part-2.mpeg > the-matrix.mpeg

Vale lembrar que tal procedimento não é corretamente executado com arquivos AVI.

TAC

O tac faz o mesmo que o cat, mas exibe o arquivo pela ordem inversa, ou seja, começando pela última linha e

terminando com a primeira.

Uso:

$ tac [arquivo]

TOUCH

O comando touch é usado atualizar as informações sobre as datas de último acesso e última modificação de

um arquivo.

Sintaxe:

$ touch [opções] [arquivo]

Se o arquivo não existir, ele é criado, por padrão. Isso faz o touch ser muito utilizado para criar arquivos

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

6 de 45 02-05-2015 09:59

Page 7: Linux - Comandos Básicos

vazios, através do comando touch [arquivo].

Opções:

-a: Modifica apenas a data do último acesso;

-c: Não cria arquivos, caso eles não existam;

-m: Modifica apenas a data de modificação;

-t: A data e hora a ser utilizada para o último acesso ou última modificação. O formato utilizado é

MMDDhhmm (mês, dia, hora e minuto);

CP

O cp, abreviação de copy (copiar), é utilizado para copiar arquivos e diretórios de um local para outro, com o

mesmo nome ou com nome diferente.

Sintaxe:

$ cp [opções] [origem] [destino]

-b: Cria um arquivo dos arquivos de destino se eles estiverem para ser sobrescritos;

-P: Quando tratar de links simbólicos, copia o link, e não o local para onde o link aponta;

-f: Operação forçada. Se um dos arquivos de destino não puder ser aberto, apaga-o e repete a

operação;

-i: Pede confirmação antes de sobrescrever um arquivo;

-L: Quando tratar de links simbólicos, copia o local para o onde o link aponta, e não o link;

-p: Preserva as propriedades do arquivo (permissões, dono e datas);

--preserve=[propriedade]: Escolhe quais propriedades preservar, separadas por vírgula. Podem ser:

mode: Preserva as permissões;

ownership: Preserva a informação de dono do arquivo;

timestamp: Preserva as datas de acesso e modificação.

--no-preserve=[propriedade]: Escolhe quais propriedades não devem ser preservadas. As opções

são as mesmas que do parâmetro --preserve;

-R ou -r: Modo recursivo, copia todos os arquivos e subdiretórios do diretório especificado. Esse

parâmetro deve ser usado para copiar diretórios inteiros;

--target-directory=[diretório]: Especifica para qual diretório devem ser copiados os

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

7 de 45 02-05-2015 09:59

Page 8: Linux - Comandos Básicos

arquivos/diretórios especificados;

-u: Copia apenas os arquivos novos. Se um arquivo que estiver sendo copiado já existir no diretório

de destino, sua cópia será ignorada;

-v: Mostra os detalhes da cópia dos arquivos.

Exemplos de uso:

Para copiar o arquivo file.gz para o diretório /tmp/:

$ cp file.gz /tmp

Para para fazer uma cópia do arquivo file.gz com o nome file-copia.gz:

$ cp file.gz file-copia.gz

Para copiar os arquivos file1, file2 e file3 para o diretório /home/davidson/doc/:

$ cp file1 file2 file3 /home/davidson/doc

Para copiar o diretório img/ para o diretório /tmp/upload/:

$ cp -r img /tmp/upload

Para copiar os arquivos file1, file2 e file3 e o diretório img/ para o diretório /tmp/upload/:

$ cp -r file1 file2 fil3 img /tmp/upload

MV

Utilizamos o mv mover ou renomear arquivos.

Sintaxe:

$ mv [opções] [destino]

Opções:

-b: Cria um backup dos arquivos de destino, se eles forem sobrescritos;

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

8 de 45 02-05-2015 09:59

Page 9: Linux - Comandos Básicos

-f: Força as operações, sem fazer perguntas caso seja necessário sobrescrever arquivos e outros;

-i: Modo interativo, pede confirmação para sobrescrever arquivos;

--target-directory=[diretório]: especifica o diretório de destino para os arquivos;

-u: Só move os arquivos novos. Se o arquivo que está sendo movido já estiver presente no

diretório de destino, ele é ignorado;

-v: Mostra os detalhes do processo de movimentação.

Exemplos de uso:

Para mover o arquivo file1 para o diretório /home/davidson/doc/:

$ mv file1 /home/davidson/doc

Para mover o diretório /home/davidson/doc/ para /tmp/upload/:

$ mv /home/davidson/doc /tmp/upload

Para renomear o arquivo package.tar.gz para pacote.tar.gz:

$ mv package.tar.gz pacote.tar.gz

Para mover o arquivo file1 e o diretório img/ para o diretório /tmp/upload/:

$ mv file1 img /tmp/upload

RM

O rm é utilizado para excluir arquivos.

Sintaxe:

$ rm [opções] [arquivo]

Opções:

-f: Modo forçado, não pede confirmação para realizar as operações;

-i: Pede confirmação antes de remover qualquer arquivo;

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

9 de 45 02-05-2015 09:59

Page 10: Linux - Comandos Básicos

-R, -r: Exclui recursivamente todo o conteúdo do diretório e o próprio diretório. Quando quiser

excluir um diretório que não está vazio, utilize esse parâmetro;

-v: Mostra os detalhes das exclusões.

LN

Esse é o comando utilizado para criar links, simbólicos ou absolutos.

Sintaxe:

$ ln [opções] [alvo] [nome do link]

Opções:

-b: Se houver um arquivo com o mesmo nome do link que está sendo criado no diretório de destino,

cria um backup do arquivo existente;

-d: Permite ao administrador do sistema (root) criar um hardlink (link absoluto) para um diretório;

-f: Força a criação dos links;

-n: Trata um link simbólico pra um diretório como se fosse um arquivo normal;

-i: Pergunta antes de remover arquivos existentes;

-s: Cria um link simbólico;

--target-directory=[diretório]: Especifica em qual diretório o link deve ser criado;

-v: Exibe o nome de cada link antes de criá-lo.

Exemplos de uso:

Se você quiser criar um link simbólico para o arquivo /home/davidson/doc/ no diretório atual, com o mesmo

nome do diretório real (no caso, doc):

$ ln -s /home/davidson/doc

Se você quiser fazer a mesma coisa, mas preferir que o link criado tenha o nome "documentos":

$ ln -s /home/davidson/doc documentos

Se você quiser criar um link absoluto (hardlink), oculte o parâmetro -s:

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

10 de 45 02-05-2015 09:59

Page 11: Linux - Comandos Básicos

$ ln /home/davidson/doc

CMP

Esse comando é utilizado para comparar dois arquivos e mostrar a primeira diferença entre eles. Use para

certificar-se de que dois arquivos possuem ou não o mesmo conteúdo.

Sintaxe:

$ cmp [opções] [arquivo1] [arquivo2]

Opções:

-b: Imprime os bytes que são diferentes entre si;

-i [n]: Não considera os primeiros [n] bytes de cada arquivo;

-l: Mostra os número dos bytes e os valores diferentes;

-s: Não mostra nenhum detalhe, apenas sai com status 1 se alguma diferença for encontrada.

Exemplos de uso:

Vamos comparar os arquivos file1 e file2:

$ cmp file1 file2

file1 file2 differ: byte 10, line 2

DIFF

Esse comando compara dois arquivos de texto e mostra as diferenças entre eles.

Sintaxe:

$ diff [opções] [arquivo1] [arquivo2]

Opções:

-i: Ignora as diferenças de letras maiúsculas/minúsculas;

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

11 de 45 02-05-2015 09:59

Page 12: Linux - Comandos Básicos

-E: Ignora as diferenças de tabulação;

-b: Ignora diferenças na quantidade de espaço em branco;

-w: Ignora qualquer espaço em branco;

-B: Ignora linhas em branco a mais ou a menos;

-a: Compara os arquivos como arquivos de texto, ainda que não sejam;

-u [n]: Mostra [n] linhas do conteúdo final do arquivo1, adicionadas as diferenças do arquivo2;

-q: Mostra apenas se o conteúdo dos arquivos são ou não diferentes;

-y: Mostra os arquivos em duas colunas, indicando as diferenças;

-t: Expande as tabulações, convertendo-as em espaços, na saída;

-r: Compara recursivamente todo o conteúdo de um diretório;

-S [arquivo]: Quando comparar diretórios, inicia a comparação pelo arquivo especificado.

Exemplos de uso:

Vamos considerar os arquivos file1 e file2, com o seguinte conteúdo:

$ cat file1

5 f j 33

diferença

2 a c 1

1 t 4 f

6 b c _

10 i r 3

$ cat file2

5 f j 33

2 a c 1

1 t 4 f

6 b c _

10 i r 3

outra diferença

Aplicando o diff nos dois arquivos, temos o seguinte retorno:

$ diff file1 file2

2d1

< diferença

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

12 de 45 02-05-2015 09:59

Page 13: Linux - Comandos Básicos

6a6

> outra diferença

O diff exibe informações sobre o que é necessário fazer para que o conteúdo de file1 seja igual ao de file2.

Nesse caso, 2d1 quer dizer que a diferença foi encontrada na linha 2, e que é necessário apagar (d = delete)

a palavra diferença do arquivo file1. O 6a6 nos diz que a diferença foi encontrada na linha 6, e que é

necessário adicionar (a = add) a linha outra diferença no arquivo file1.

O parâmetro -y exibe esses parâmetros de forma mais clara:

$ diff -y file1 file2

5 f j 33 5 f j 33

diferença <

2 a c 1 2 a c 1

1 t 4 f 1 t 4 f

6 b c _ 6 b c _

10 i r 3 10 i r 3

> outradiferença

Veja que os sinais de maior e menor (>, <) sempre apontam para a linha que é diferente. Se a diferença

estiver no primeiro arquivo, listado à esquerda, ela deve ser apagada. Se a diferença estiver no segundo

arquivo, listado à direita, ela deve ser adicionada.

O diff, quando usado em conjunto com o utilitário patch, fornece uma grande funcionalidade para

atualizações. Um grande exemplo é o código-fonte do kernel Linux (http://www.vivaolinux.com.br/linux/).

Ao invés de gravar a nova versão do kernel inteira, é possível gravar a penas as diferenças entre eles, algo

como:

$ diff [kernel-antigo] [kernel-novo] > diferenças.diff

E depois utilizar o utilitário patch para gravar as diferenças no kernel-antigo, fazendo-o ficar com o mesmo

conteúdo de kernel-novo. A grande vantagem é que não é necessário o usuário baixar todo o kernel, que é

muito grande, mas apenas o arquivo com as diferenças, bem pequeno.

PATCH

Utilizamos esse comando para atualizar as diferenças geradas através do comando diff. Suponhamos os

arquivos file1 e file2, que são diferentes. Podemos criar as diferenças entre os dois arquivos com o

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

13 de 45 02-05-2015 09:59

Page 14: Linux - Comandos Básicos

comando diff:

$ diff file1 file2 > file.diff

Esse comando gera um arquivo file.diff com as diferenças entre os arquivos file1 e file2. Podemos agora

usar o comando patch para aplicar as diferenças no arquivo file1, fazendo seu conteúdo ficar igual ao de

file2:

$ patch file1 file.diff

Sintaxe:

$ patch [opções] [arquivo] [arquivo de patch] (para arquivos)

$ patch [opções] < [arquivo de patch] (para diretórios)

Opções:

-p [n]: Nível do diretório onde será aplicado o patch. Se [n] for 0, o patch será aplicado no diretório

atual. Se for 1, será aplicado no diretório acima (..), se 2, 2 diretórios acima (../..) e assim por

diante;

-b: Cria cópias dos arquivos originais antes de aplicar o patch;

-binary: Lê e grava usando o modo binário;

-d [diretório]: Muda para o diretório especificado antes de aplicar o patch;

-E: Remove arquivos vazios após a aplicação do patch;

-n: Interpreta o arquivo de patch como um .diff normal;

-N: Não desfaz patches já aplicados;

-s: Modo silencioso, não exibe mensagens de erro;

-u: Interpreta o patch em formato unificado. Use isso se o arquivo de patch foi gerado com diff -u.

MANIPULAÇÃO E FILTRAGEM DE TEXTO

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

14 de 45 02-05-2015 09:59

Page 15: Linux - Comandos Básicos

GREP

O grep é utilizado para encontrar padrões em arquivos de texto, ou, em outras palavras, procura num

arquivo todas as linhas que possuem a palavra ou expressão informada e as exibe na tela.

Sintaxe:

$ grep [expressão] [arquivo]

Assim, se você quiser varrer o arquivo /etc/fstab procurando pelas linhas que contém o texto "/dev/fd0",

digite:

$ grep /dev/fd0 /etc/fstab

/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0

Se o padrão informado não for encontrado no arquivo especificado, não é exibida nenhuma mensagem.

CUT

O cut é utilizado para selecionar colunas de texto em um arquivo. Suponhamos que você tenha um arquivo

da seguinte forma:

A1 B1 C1

A2 B2 C2

A3 B3 C3

E precise, por algum motivo, que somente a terceira coluna seja exibida na tela, dessa forma:

C1

C2

C3

É exatamente isso que o cut fará para nós.

Sintaxe:

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

15 de 45 02-05-2015 09:59

Page 16: Linux - Comandos Básicos

$ cut [opções] [arquivo]

Opções:

-c: Especifica quais caracteres serão exibidos;

-d: Especifica qual o caracter será usado como delimitador de campo;

-f: Lista dos campos que serão exibidos;

-s: Não exibe as linhas que não contém os delimitadores especificados em -d;

--output-delimiter=[string]: Utiliza a string (seqüência de caracteres) especificada como o delimitador

dos campos na saída.

Exemplos de uso:

Considerando o arquivo lista.txt com o conteúdo mostrado acima, se quisermos exibir somente o quinto

caracter de cada linha, usamos:

$ cut -c 5 lista.txt

1

2

3

Se quisermos exibir os primeiros 5 caracteres, utilizamos -5 ao invés de 5:

$ cut -c -5 lista.txt

A1 B1

A2 B2

A3 B3

Se quisermos exibir do quinto caracter em diante, usamos 5-, assim:

$ cut -c 5- lista.txt

1 C1

2 C3

3 C3

Por fim, para exibir do segundo até o sexto caracter:

$ cut -c 2-6 lista.txt

1 B1

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

16 de 45 02-05-2015 09:59

Page 17: Linux - Comandos Básicos

2 B2

3 B3

Repare agora que o delimitador de cada coluna é o espaço em branco. Assim, se quisermos exibir apenas o

primeiro campo, usamos:

$ cut -f1 -d' ' lista.txt

A1

A2

A3

O parâmetro -f1 informa que queremos que seja exibido o primeiro campo, enquanto -d' ' (dois acentos

agudos separados por espaço) informa que o separador de campos é o espaço em branco. O parâmetro -d

não precisa ser utilizado no caso de o arquivo utilizar TAB (tabulação) como separador de campos.

Seguindo esse raciocínio, se quisermos exibir os campos 1 e 3, usamos:

$ cut -f1,3 -d' ' lista.txt

A1 C1

A2 C3

A3 C3

Com o uso do direcionador | (pipe) podemos processar o mesmo arquivo várias vezes com o cut, de modo a

podermos fazer um processamento poderoso do arquivo de texto. Além disso, ele aceita a saída de outros

programas como entrada, através do mesmo direcionador |.

HEAD

Usamos esse comando para exibir as linhas iniciais de um arquivo.

Sintaxe:

$ head [opções] [arquivo]

Opções:

-c [-][n]: Sem o - (hífen), mostra os primeiros [n] bytes do arquivo. Com o -, mostra todos os bytes

com exceção dos [n] últimos;

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

17 de 45 02-05-2015 09:59

Page 18: Linux - Comandos Básicos

-n [-][n]: Sem o -, mostra as primeiras [n] linhas do arquivo. Com o -, mostra todas as linhas com

exceção das [n] últimas;

-v: Imprime um cabeçalho com o nome do arquivo.

Exemplos de uso:

Para ver as primeiras 5 linhas do arquivo file, faça:

$ head -n 5 file

1

2

3

4

5

Se quiser exibir todas as linhas menos as 3 últimas:

$ head -n -3 file

1

2

3

4

5

6

7

MORE

Usamos esse comando para realizar a paginação de arquivos de texto cujo conteúdo não cabe na tela.

Sintaxe:

$ more [opções] [arquivo]

Opções:

-d: Exibe as mensagens [Press space to continue, 'q' to quit] (pressione espaço para continuar, 'q'

para sair). Ao se pressionar espaço, a tela rola uma página inteira. Se for pressionada alguma tecla

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

18 de 45 02-05-2015 09:59

Page 19: Linux - Comandos Básicos

inválida, é exibida a mensagem [Press 'h' for instructions.] (pressione 'h' para instruções.);

-l: Evita que ocorram pausas toda vez que seja encontrado o caracter "^L" (alimentação de

formulário) no texto;

-s: Se houver múltiplas linhas em branco num arquivo, trunca elas em apenas uma;

+/[padrão]: Começa a mostrar o texto a partir da primeira linha que contém o padrão informado;

+[número]: Especifica qual linha deve ser a primeira a ser mostrada;

-[número]: Especifica o tamanho da tela, em linhas.

Assim, quando quiser ler um texto muito extenso sem precisar abrir um editor de textos para isso, use o

more. O texto será exibido até ocupar a tela inteira, e então aparecerá um prompt escrito "--More--(xx%)".

Presssione Enter para rolar o texto linha por linha. Se quiser cancelar a exibição e voltar para o prompt de

comando, pressione "q".

É possível usar o more para exibir vários arquivos seqüencialmente. Basta informar todos os arquivos

separados por espaço.

LESS

O less tem a mesma utilidade do more, com a vantagem de poder rolar o texto exibido para cima e para

baixo através do uso dos direcionais, além de contar com um localizador de texto. Para digitar o padrão que

você deseja procurar precedido de / (barra).

Sintaxe:

$ less [arquivo]

SORT

Usamos esse comando para classificar as linhas de um arquivo de texto.

Sintaxe:

$ sort [opções] [arquivo]

Opções:

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

19 de 45 02-05-2015 09:59

Page 20: Linux - Comandos Básicos

-b: Ignora linhas em branco;

-d: Descarta quaisquer linhas iniciadas com caracteres que não sejam espaço em branco ou

alfanuméricos;

-f: Ignora a diferença entre caracteres maiúsculos e minúsculos;

-r: Exibe a lista na ordem inversa;

-n: Organiza os números na ordem aritmética. Sem essa opção, a seqüência de caracteres 100, 10,

50 seria exibida na ordem 10, 100, 50. Com a opção -n, eles são exibidos na ordem 10, 50, 100;

-c: Verifica se o arquivo já está organizado. Se não estiver, retorna a mensagem disorder on

[arquivo] (desordem em [arquivo]);

-o [arquivo]: Grava a saída do comando sort no arquivo especificado;

-m [arquivo1] [arquivo2]: Combina o conteúdo dos dois arquivos gerando um único arquivo. Esse

comando só funciona se ambos os arquivos já estiverem ordenados;

-i: ignora os caracteres fora da faixa octal ASCII 040-0176;

-t [caracter]: Usa o caracter especificado ao invés de espaço em branco como delimitador durante a

organização das linhas;

+[número 1] +[número 2]: Especifica qual campo (coluna) será usado como referência na

organização. Os campos começam a ser contados de 0, e o separador de campos padrão é o

espaço. Para selecionar outro delimitador, use o parâmetro -t. Os campos serão organizados de

[número 1] até [número 2]. Se [número 2] não for especificado, os campos serão organizados de

[número 1] até o final da linha;

-k [número 1] [número 2]: Idêntico ao parâmetro anterior, mas os campos começam a ser contados

de 1.

Exemplos de uso:

Suponha que você tenha um arquivo file.list com o seguinte contéudo:

$ cat file.list

5 f j 33

2 a c 1

1 t 4 f

6 b c _

10 i r 3

Ao usarmos o comando sort, as linhas serão organizadas de acordo com a primeira coluna:

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

20 de 45 02-05-2015 09:59

Page 21: Linux - Comandos Básicos

$ sort file.list

10 i r 3

1 t 4 f

2 a c 1

5 f j 33

6 b c _

Veja, entretanto, que temos um problema aqui: o 10 foi posto antes do 1, seguindo a ordem alfabética e não

aritmética. Para corrigir isso, acrescentamos o parâmetro -n:

$ sort -n file.list

1 t 4 f

2 a c 1

5 f j 33

6 b c _

10 i r 3

Agora, se quisermos organizar as linhas tomando como referência a segunda coluna ao invés da primeira,

fazemos o seguinte:

$ sort +1 file.list

2 a c 1

6 b c _

5 f j 33

10 i r 3

1 t 4 f

Podemos obter o mesmo resultado de outra forma:

$ sort -k 2 file.list

2 a c 1

6 b c _

5 f j 33

10 i r 3

1 t 4 f

Por fim, para gravar o resultado no arquivo fileorder.list, basta acrescetar o parâmetro -o fileorder.list.

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

21 de 45 02-05-2015 09:59

Page 22: Linux - Comandos Básicos

TAIL

Esse comando é utilizando para mostrar as últimas linhas de um arquivo de texto.

Sintaxe:

$ tail [opções] [arquivo]

Opções:

-c [n]: Exibe apenas os últimos [n] bytes do arquivo;

-n [n]: Exibe as últimas [n] linhas do arquivo;

-f: Fica monitorando o arquivo, e exibe todas as novas linhas adicionadas a ele, em tempo real. Isso

é muito utilizado para monitorar arquivos de log.

WC

Conta o número de linhas, palavras, caracteres e bytes nos arquivos.

Sintaxe:

$ wc [opção] [arquivo]

Opções:

-c: Exibe apenas o número de bytes;

-m: Exibe o número de caracteres;

-l: Exibe o número de linhas;

-L: Exibe o comprimento, em caracteres, da maior linha do arquivo;

-w: Exibe o número de palavras encontradas.

Se for usado sem argumentos, o wc exibe o número de linhas, palavras e caracteres do arquivo,

respectivamente:

$ wc file.list

20 42 file.list

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

22 de 45 02-05-2015 09:59

Page 23: Linux - Comandos Básicos

PESQUISA E INFORMAÇÕES

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

23 de 45 02-05-2015 09:59

Page 24: Linux - Comandos Básicos

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:

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

24 de 45 02-05-2015 09:59

Page 25: Linux - Comandos Básicos

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

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

25 de 45 02-05-2015 09:59

Page 26: Linux - Comandos Básicos

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

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

26 de 45 02-05-2015 09:59

Page 27: Linux - Comandos Básicos

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:

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

27 de 45 02-05-2015 09:59

Page 28: Linux - Comandos Básicos

$ uname -a

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

(http://www.vivaolinux.com.br/linux/)

ADMINISTRAÇÃO DO SISTEMA

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

28 de 45 02-05-2015 09:59

Page 29: Linux - Comandos Básicos

FUSER

Esse programa é utilizado para descobrir quais processos estão utilizando determinados arquivos ou

soquetes.

Sintaxe:

$ fuser [-a/-s/-c] [-4/-6] [-n [espaço]] [-k [-i] [-[sinal]] ] [-muvf]

Parâmetros:

-a: Mostra todos os arquivos especificados na linha de comando. Por padrão, somente os arquivos

que estão sendo usados por pelo menos um processo são mostrados;

-s: Modo silencioso;

-c: O mesmo que -m, usado para compatilidade com o padrão POSIX;

-4: Procura apenas por sockets de IPv4;

-6: Procura apenas por sockets de IPv6;

-n [espaço]: Especifica o espaço de nomes a usar. Pode ser:

file: o modo padrão, procura por arquivos;

udp: procura por portas UDP;

tcp: Procura por portas TCP:

-k: Matar os processos que estão acessando o arquivo;

-i: Pergunta antes de matar o processo;

-[sinal]: Informa qual o sinal deve ser usado para matar os processos. Só pode ser usado junto com

o parâmetro -k;

-m: Utilize quando estiver se referindo ao um sistema de arquivos montado ou a um dispositivo de

blocos montado;

-u: Exibe o nome do usuário que iniciou o processo que está utilizando o arquivo;

-v: Modo detalhado, com diversas informações sobre os processos.

Exemplos de uso:

Uma utilidade grande desse programa é a seguinte: suponhamos que você queria desmontar o disquete, e

seja surpreendido por uma mensagem de erro, dizendo que o dispositivo de disquete está ocupado:

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

29 de 45 02-05-2015 09:59

Page 30: Linux - Comandos Básicos

$ umount /dev/fd0

umount: /media/floppy0: device is busy

umount: /media/floppy0: device is busy

Se você não conseguir descobrir qual o processo que está "travando" o disquete, você pode fazer isso

utilizando o fuser. Você precisará ser o administrador do sistema.

# fuser -m /dev/fd0

/dev/fd0: 2877

Agora, você pode matar o processo:

# kill 2877

Ou, se quiser, pode matar o comando automaticamente com o fuser:

# fuser -m -k /dev/fd0

Se o processo não for encerrado, utilize o sinal -9 para destrui-lo:

# fuser -m -k -9 /dev/fd0

Repare que, nesse caso, utilizamos -m porque se trata de um dispositivo de blocos, /dev/fd0. Se fosse um

arquivo comum, esse parâmetro não seria usado.

Outro uso que pode ser usado por administrador de rede é procurar por processos que estejam utilizando

determinadas portas. Por exemplo, pra saber qual o processo que está utilizando a porta TCP 445,

utilizamos:

# fuser -n tcp 445

445/tcp: 2674

DF

Mostra o espaço utilizado de cada partição.

Sintaxe:

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

30 de 45 02-05-2015 09:59

Page 31: Linux - Comandos Básicos

$ df [opção] [partição]

Opções:

-a: Inclui na verificação os sistemas de arquivos com 0 blocos;

-B [tamanho]: Usa blocos do tamanho especificado;

-h: Exibe os tamanhos num formato de fácil compreensão (1K, 23M, 2G);

-H: Igual ao -h, mas usa múltiplos de 1000 ao invés de 1024;

-i: Mostra as informações dos inodes;

-k: O mesmo que -B 1K;

-l: Só exibe informações dos sistemas de arquivos locais;

-P: Usa o formato de saída POSIX;

--sync: Executa o sync antes de obter as informações;

-t [tipo]: Só mostra informações dos sistemas de arquivos do tipo especificado;

-T: Mostra qual o tipo do sistema de arquivos de cada partição exibida;

-x [tipo]: Mostra todos os tipos de sistemas de arquivos exceto o tipo especificado aqui.

Exemplos de uso:

Um exemplo simples:

$ df -h

Sist. Arq. Tam Usad Disp Uso% Montado em

/dev/hda2 4,9G 3,1G 1,9G 63% /

tmpfs 59M 0 59M 0% /dev/shm

/dev 4,9G 3,1G 1,9G 63% /.dev

none 5,0M 744K 4,3M 15% /dev

/dev/hda1 32G 5,4G 27G 17% /mnt/windows

DU

Esse comando, sigla de disk usage (uso de disco), é usado para estimar o espaço em disco usado pelos

arquivos. Em outras palavras, usamos o du para saber o tamanho dos arquivos.

Sintaxe:

$ du [opções] [arquivo] Opções:

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

31 de 45 02-05-2015 09:59

Page 32: Linux - Comandos Básicos

-a: Exibe o tamanho de todos os arquivos dentro dos subdiretórios do diretório especificado, e não

somente dos arquivos imediatamente dentro do diretório;

--aparent-size: Exibe o tamanho aparente, que pode ser maior ou menor que o tamanho real,

dependendo de fatores com fragmentação, blocos indiretos e similares;

-B [tamanho]: Exibe o tamanho dos arquivos em blocos do tamanho especificado;

-b: Igual a -B 1;

-c: Exibe uma linha com o tamanho total de todos os arquivos contabilizados;

-D: Quando usado para links simbólicos, considera o local para onde o link aponta e não o link em si.

Só considera arquivos;

-h: Mostra os tamanhos de forma comprensível (2K, 32M, 1G);

-H: O mesmo que -h, mas usa blocos de 1000 ao invés de 1024;

-k: O mesmo que -B 1K;

-L: O mesmo que -D, mas considera qualquer tipo de arquivo;

-S: Não mostra o tamanho dos subdiretórios;

-s: Mostra apenas o tamanho total de cada item (arquivo ou diretório);

-x: Ignora arquivos que estejam em outro sistema de arquivos;

-X [padrão]: Não contabiliza os arquivos que correspondam ao padrão informado;

-m: O mesmo que -B 1M.

Suponha que você esteja no diretório /home/davidson/, que contenha os seguintes arquivos e diretórios:

$ ls

arquivo de teste Desktop exe iso src tmp

deb doc img playlist.m3u teste

Se quisermos ver o tamanho do arquivo playlist.m3u:

$ du playlist.m3u

8 playlist.m3u

O tamanho é exibido em KB. No caso, o arquivo tem 8 KB.

Se quisermos ver o tamanho do diretório img/:

$ du img

0 img/davidson

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

32 de 45 02-05-2015 09:59

Page 33: Linux - Comandos Básicos

0 img/wallpapers

592 img/diagramacao

484 img/partition_magic

461 img/qtparted

1132 img/programacao_visual

4018 img

Veja que o tamanho em KB não é muito confortável. Usamos o parâmetro -h para que os valores sejam

exibidos de uma forma compreensível:

$ du -h img

0 img/davidson

0 img/wallpapers

592K img/diagramacao

484K img/partition_magic

461K img/qtparted

1,2M img/programacao_visual

4,0M img

Podemos também querer que sejam contabilizados os arquivos dos subdiretórios img/davidson/ e

img/wallpapers/. Nesse caso, usamo o parâmetros -a:

$ du -h -a img

673K img/bozo.bmp

44K img/bozo.zip

0 img/davidson

0 img/wallpapers

16K img/davidson_80x60.png

52K img/davidson_cabeludo.jpg

172K img/diagramacao/linux_magazine_distribuicoes.pdf

136K img/diagramacao/linux_magazine_segurando_desktop.pdf

284K img/diagramacao/linux_magazine_jogos.pdf

592K img/diagramacao

28K img/partition_magic/Thumbs.db

84K img/partition_magic/pqmagic001.jpg

92K img/partition_magic/pqmagic002.jpg

28K img/partition_magic/pqmagic003.jpg

96K img/partition_magic/pqmagic004.jpg

28K img/partition_magic/pqmagic005.jpg

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

33 de 45 02-05-2015 09:59

Page 34: Linux - Comandos Básicos

100K img/partition_magic/pqmagic006.jpg

28K img/partition_magic/pqmagic007.jpg

484K img/partition_magic

565K img/kacique01 .jpg

16K img/qtparted/snapshot01.png

20K img/qtparted/snapshot04.png

16K img/qtparted/snapshot10.png

12K img/qtparted/snapshot11.png

12K img/qtparted/snapshot12.png

12K img/qtparted/snapshot13.png

32K img/qtparted/qtparted001.jpg

40K img/qtparted/qtparted002.jpg

32K img/qtparted/qtparted003.jpg

24K img/qtparted/qtparted004.jpg

28K img/qtparted/qtparted005.jpg

48K img/qtparted/snapshot1.png

16K img/qtparted/snapshot2.png

16K img/qtparted/snapshot3.png

52K img/qtparted/snapshot4.png

16K img/qtparted/snapshot5.png

16K img/qtparted/snapshot6.png

20K img/qtparted/snapshot7.png

16K img/qtparted/snapshot8.png

16K img/qtparted/snapshot9.png

461K img/qtparted

280K img/programacao_visual/ferrari001.png

284K img/programacao_visual/ferrari002.png

272K img/programacao_visual/ferrari003.png

28K img/programacao_visual/Thumbs.db

268K img/programacao_visual/tux.png

1,2M img/programacao_visual

4,0M img

Essa lista ficou bem extensa. Se quisermos exibir somente o tamanho total de cada diretório, retiramos o

parâmetro -a, acrescentamos o parâmetro -s, e nos referenciamos a img/* ao invés de img:

$ du -h -s img/*

673K img/bozo.bmp

44K img/bozo.zip

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

34 de 45 02-05-2015 09:59

Page 35: Linux - Comandos Básicos

0 img/davidson

16K img/davidson_80x60.png

52K img/davidson_cabeludo.jpg

592K img/diagramacao

565K img/kacique01 .jpg

484K img/partition_magic

1,2M img/programacao_visual

461K img/qtparted

0 img/wallpapers

Dessa última forma, porém, o tamanho total do diretório não foi informado. Para isso, basta acrescentar o

parâmetro -c:

$ du -h -s -c img/*

673K img/bozo.bmp

44K img/bozo.zip

0 img/davidson

16K img/davidson_80x60.png

52K img/davidson_cabeludo.jpg

592K img/diagramacao

565K img/kacique01 .jpg

484K img/partition_magic

1,2M img/programacao_visual

461K img/qtparted

0 img/wallpapers

4,0M total

FREE

Comando muito utilizado para análise do desempenho do sistema, o free exibe informações sobre o uso de

memória pelo computador.

Sintaxe:

$ free [-b / -k / -m] [-o] [-s delay ] [-t]

Parâmetros:

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

35 de 45 02-05-2015 09:59

Page 36: Linux - Comandos Básicos

-b: Exibe as quantidades em bytes;

-k: Exibe as quantidades em kilobytes;

-m: Exibe as quantidades em megabytes;

-o: Não exibe a linha -/+ buffers/cache;

-s [tempo]: Especifica o intervalo de tempo, em segundos, entre as atualizações das informações.

Se esse parâmetro não for usado, é exibida apenas uma informação. Se usado, vai exibindo as

informações indefinidamente no intervalo de tempo definido, até que o usuário pressione CTRL + C;

-t: Exibe uma linha com os valores totais;

Vejamos o uso mais comum do free:

$ free

total used free shared buffers cached

Mem: 118880 116508 2372 0 2432 38216

-/+ buffers/cache: 75860 43020

Swap: 514040 127604 386436

Aqui temos as seguintes informações:

Memória RAM total: 118880 KB

Memória RAM usada: 116508 KB

Memória RAM livre: 43020 KB

Informações em buffer: 2432 KB

Informações em cache: 38216 KB

Memória swap total: 514040 KB

Memória swap usada: 127604 KB

Memória swap livre: 386436 KB

Buffers/Cache usados: 75860 KB

Buffers/Cache livres: 43020 KB

A exibição em KB pode não ser muito confortável. Se quiser que os tamanhos sejam exibidos em MB, utilize

o parâmetro -m:

$ free -m

total used free shared buffers cached

Mem: 116 114 1 0 2 40

-/+ buffers/cache: 71 44

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

36 de 45 02-05-2015 09:59

Page 37: Linux - Comandos Básicos

Swap: 501 124 377

TIME

Esse é um comando muito útil para medir o desempenho do sistema. Com o time podemos medir o tempo,

em segundos, necessários para executar um processo ou programa.

Sintaxe:

$ time [opções] [comando]

Opções:

-o [arquivo]: Grava as estatísticas coletadas durante a execução do comando para o arquivo

especificado, para análise posterior;

-a: Quando usado junto com o parâmetro -o, não apaga o conteúdo do arquivo ao gravar as

estatísticas;

-v: Exibe os detalhes da execução do comando.

Assim, suponha que você tenha um script de backup, e queira saber quanto tempo ele demora para ser

executado:

$ time backup

real 0m39.054s

user 0m28.560s

sys 0m0.689s

O campo real nos mostra quanto tempo o processo demorou para ser executado. No caso, 39,054

segundos. O campo user informa quanto tempo a CPU gastou processando apenas os dados do comando.

Nesse exemplo, 28,560 segundos. O campo sys informa qual o intervalo média de espera da CPU entre

cada ciclo de processamento dos dados do comando. Aqui, o tempo foi de 0,689 segundos.

UPTIME

Mostra o período em que o sistema permaneceu em processamento desde que foi ligado.

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

37 de 45 02-05-2015 09:59

Page 38: Linux - Comandos Básicos

Uso:

$ uptime

O uptime não possui parâmetros. Basta digitar uptime no terminal. Veja um exemplo:

$ uptime

16:40:18 up 7:48, 3 users, load average: 0.43, 0.29, 0.26

Aqui, vemos que o computador esteve ligado por 16:40 horas, mas só esteve em processamento durante

7:48 horas. Durante esse período, 3 usuários acessaram o sistema, e a carga média do sistema, que vai de 0

a 1, foi de 0,43 no último 1 minuto, 0,29 nos últimos 5 minutos e 0,26 nos últimos 15 minutos.

DMESG

Esse comando é utilizado para ver as mensagens de inicialização do sistema. Útil para analisar eventuais

mensagens de erro exibidas devido a qualquer problema que esteja ocorrendo durante a inicialização.

Sintaxe:

Como as mensagens são muito extensas, utilize o more ou o less para visualizar as informações:

$ dmesg | more

$ dmesg | less

ECHO

Exibe mensagens na tela. Esse comando é utilizado principalmente para a construção de scripts de sistema.

Sintaxe:

$ echo [opções] [cadeia de caracteres]

Opções:

-n: Não insere uma nova linha;

-e: Ativa a interpretação de caracteres de escape, listados a seguir:

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

38 de 45 02-05-2015 09:59

Page 39: Linux - Comandos Básicos

\NNN: Código ASCII octal do caracter;

\\: Barra invertida (\);

\a: Alerta sonoro (beep);

\b: Backspace;

\c: Não exibe a linha de final de arquivo;

\f: Alimentação de formulário (form feed);

\n: Nova linha;

\r: Retorno de carro (carriage return);

\t: Tabulação horizontal;

\v: Tabulação vertical.

Exemplos de uso:

$ echo "Projeto Bozolinux"

Projeto Bozolinux

$ echo -e "Primeira linha\nSegunda linha\n\tTerceira linha com tabulação horizontal"

Primeira linha

Segunda linha

Terceira linha com tabulação horizontal

Com o uso de direcionadores, pode-se usar o echo para inserir texto em arquivos, com a seguinte sintaxe:

$ echo [mensagem] [> / >>] [arquivo]

Onde > apaga o conteúdo o arquivo, se existir, e >> adiciona o texto no final do arquivo.

Exemplos de uso:

$ echo -n > /etc/modules

Apaga o conteúdo do arquivo /etc/modules.

$ echo -e "192.168.0.35\tdavidson.bozolinux.org\tdavidson" >> /etc/hosts

Adiciona a seguinte linha no arquivo /etc/hosts:

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

39 de 45 02-05-2015 09:59

Page 40: Linux - Comandos Básicos

192.168.0.35 davidson.bozolinux.org davidson

SU

Esse comando é utilizado para um usuário assumir os privilégios de outro usuário do sistema.

Sintaxe:

$ su [opções] [usuário]

A digitar o comando é necessário digitar a senha do usuário selecionado. Se nenhum usuário for

especificado, o sistema entende que o usuário quer assumir os privilégios de administrador do sistema

(root).

Uma opção muito útil é o parâmetro -c, que permite executar um comando específico com os privilégios do

usuário selecionado, e ao término da execução perder esses privilégios.

Exemplos de uso:

Um exemplo é a compilação de um pacote. O comando make install, que faz a instalação propriamente dita

do pacote, só pode ser executado pelo usuário root. Assim, temos que fazer o seguinte:

$ su

password:

# make install

# exit

Ao invés disso, podemos simplesmente digitar:

$ su -c "make install"

password:

O comando será executado e, ao seu término, perdemos os privilégios de administrador de sistema.

SYNC

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

40 de 45 02-05-2015 09:59

Page 41: Linux - Comandos Básicos

Esse comando é utilizado para gravar os dados armazenados em cache nos locais apropriados. O uso mais

comum é para gravar os dados em unidades de disco removível, geralmente disquete.

Uso:

O sync não possui parâmetros. Para usá-lo, execute:

$ sync

REBOOT

Reinicia o computador. Por padrão, somente o root pode executar esse comando.

Sintaxe:

# reboot

SHUTDOWN

Usado para desligar o sistema. Por padrão, somente o root pode executar o shutdown.

Sintaxe:

# shutdown [opções] [hora] [mensagem de alerta]

Opções:

-t [tempo]: Espera o tempo especificado (em segundos) entre matar os processos e mudar de nível

de execução;

-k: Não desliga o sistema, apenas envia a mensagem de alerta a todos os usuários que estão

conectados;

-r: Reinicia o sistema após o desligamento;

-h: Desliga o computador;

-f: Não roda o utilitário fsck no caso de reiniciar o sistema;

-F: Força o uso do fsck no reinício do sistema;

-c: Cancela um processo de desligamento que esteja sendo executado no momento.

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

41 de 45 02-05-2015 09:59

Page 42: Linux - Comandos Básicos

Em [hora] você pode especificar o horário exato para o sistema desligar, como 12:34, por exemplo, ou

então utilizar +[n], para desligar o sistema daqui a [n] minutos. Para desligar o sistema imediatamente, use +0

ou a palavra now.

A mensagem de alerta será enviada a todos os usuários conectados ao sistema, para que eles tenham tempo

de salvar seus arquivos e se desconectarem.

Exemplos de uso:

O uso mais comum do shutdown é para desligar o sistema o computador imediatamente:

# shutdown -h now

UTILITÁRIOS DE TERMINAL

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

42 de 45 02-05-2015 09:59

Page 43: Linux - Comandos Básicos

CLEAR

Limpa a tela do terminal.

Uso:

$ clear

HISTORY

O comando history (histórico) mostra a lista dos últimos comandos executados pelo usuário corrente. Isso é

útil quando há a necessidade de executar um comando extenso, com muitos parâmetros, do qual não

consigamos nos lembrar, ou para fazer auditoria.

Sintaxe:

$ history [opções]

Exemplos de uso:

$ history

462 su

463 cd tmp

464 cd giFT

465 clear

466 ls

467 mv creed_-_inside_us_all.ogg /home/audio

468 xmms -e /home/audio/creed_-_inside_us_all.ogg

469 clear

470 ls

471 mv 04\ -\ Say\ I.ogg creed_-_say_i.ogg

472 clear

473 ls

474 mv Creed\ -\ Weathered.mp3 creed_-_weathered.mp3

475 clear

476 ls

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

43 de 45 02-05-2015 09:59

Page 44: Linux - Comandos Básicos

477 mv Luciana\ Mello\ -\ Assim\ Que\ Se\ Faz.mp3 luciana_mello_-_assim_

que_se_faz.mp3

478 clear

479 ls

480 normalize-ogg --bitrate 192 creed_-_say_i.ogg

481 mv creed_-_say_i.ogg /home/audio/

482 xmms -e /home/audio/creed_-_say_i.ogg

483 clear

484 ls

485 normalize-mp3 --ogg --bitrate 192 creed_-_weathered.mp3

486 mv creed_-_weathered.ogg /home/audio

487 xmms -e /home/audio/creed_-_weathered.ogg

488 clear

489 ls

490 mv avalon\ -\ the\ creed\ -\ renew\ me.mp3 avalon_-_the_creed.mp3

491 clear

492 ls

493 normalize-mp3 --ogg --bitrate 192 luciana_mello_-_assim_que_se_faz.m

p3

494 clear

495 ls

496 mv luciana_mello_-_assim_que_se_faz.ogg /home/audio

497 xmms -e /home/audio/luciana_mello_-_assim_que_se_faz.ogg

498 su

499 giftd -d

500 giFTcurs

501 cd

502 clera

503 ls

504 clear

505 ls

506 apt-cache search java | more

507 su

508 giftd -d

509 ls dire || echo "O diretório não existe"

510 ls dire &> /dev/null || echo "O diretório não existe"

511 clear

512 ls

513 mv deb exe iso src download/

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

44 de 45 02-05-2015 09:59

Page 45: Linux - Comandos Básicos

514 clear

515 ls

516 su

517 clear

518 history

519 history | more

520 cd /tmp

521 clear

522 history | tee log

Para executar novamente o comando apt-cache search java | more, basta anotar o seu número, e dar o

comando:

$ !506

Para procurar um determinado comando, use o history em conjunto com o grep. Vamos, por exemplo,

procurar pelo comando normalize, pra ver quais parâmetros devemos usar:

$ history | grep normalize

480 normalize-ogg --bitrate 192 creed_-_say_i.ogg

485 normalize-mp3 --ogg --bitrate 192 creed_-_weathered.mp3

493 normalize-mp3 --ogg --bitrate 192 luciana_mello_-_assim_que_se_faz.m

p3

503 history | grep normalize

Agora, podemos ver os parâmetros que usamos anteriormente.

Existem outros métodos de utilização do history, que podem ser vistos na sua página de manual:

$ man history

Voltar (verArtigo.php?codigo=5024)

Fundamentos do sistema Linux - comandos do Lin... http://www.vivaolinux.com.br/artigos/impressora...

45 de 45 02-05-2015 09:59