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 registrada 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
user
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 compatibilidade 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:
$ 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 destruí-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:
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:
- -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 compreensí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
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
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
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:
- -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
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.
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.
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:
- \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:
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]
Ao 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
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.
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
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
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/
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