Category Archives: manipulação de arquivos

Aix e Solaris – Como criar arquivos grandes

As vezes precisamos criar arquivos grandes no Unix para execução de um teste de rede, por exemplo.

Para isso usamos o comando mkfile no Solaris e lmktemp no Aix.

Veja abaixo a sintaxe e exemplos nos dois sistemas operacionais.
Continue reading Aix e Solaris – Como criar arquivos grandes

Unix: Como substituir letra maiúscula por minúscula em um arquivo

Para converter letras maiúsculas em letras minúsculas em um arquivo em sistemas Unix, pode-se usar o comando tr com a sintaxe a seguir:

tr '[:upper:]' '[:lower:]' < [arquivo] > [novoarquivo]

O comando tr pode ser usado para diversas outras manipulações de caracteres. Para mais informações consulte a man page do comando: man tr

O link a seguir tem mais informa̵̤es sobre o comando tr no AIX 7: AIX 7 РHelp Information РCommands Рtr

 

Opção “-xdev” do comando find

Como listar os maiores arquivos de um diretório ou filesystem excluindo outros filesystems montados abaixo deste?

É um problema localizar os maiores arquivos de um filesystem quando temos outros filesystems montados. Se estou com o filesystem /var com alto percentual de ocupação e preciso localizar quais os maiores arquivos que estão causando o problema, devo ler os arquivos deste filesystem mas ignorar os que estão sobre outros filesystems, por exemplo se eu tiver um /var/local.

Para isso, o comando find tem uma opção muito boa chamada -xdev. Ela considera apenas o filesystem especificado no path  do comando find.

Da man page:

-xdev: Always evaluates to the value True. Prevents the find command from traversing a file system different from the one specified by the Path parameter.

Exemplo:

Listar os 20 maiores arquivos dentro do filesystem /var:

find /var -xdev -type f -ls |sort -n +6 | tail -20

Observação: No Solaris pode-se usar a opção -xdev ou -mount.

Referências:

Aix e Solaris – Como criar um arquivo de um tamanho específico

Abaixo, seguem os comandos utilizados em AIX e Solaris para criar um arquivo de um tamanho específico. A criação de um arquivo com um determinado tamanho é útil para algumas coisas como:

  • criar-se arquivos para testes, por exemplo, para transferir o arquivo via rede e avaliar a taxa de transferência da rede.
  • criar arquivos para serem usados como swap no Solaris.

 

AIX:

Comando lmktemp:

# /usr/sbin/lmktemp [nome do arquivo] [tamanho]

Exemplo:

# /usr/sbin/lmktemp teste.txt 100m

 

Solaris:

Comando mkfile:

# mkfile  [tamanho] [nome do arquivo]

Exemplo:

# mkfile 100m teste.txt

 

O tamanho deve vir seguido de g, m, k ou b (giga, mega, kilo, byte)

Nos dois exemplos acima, um arquivo chamado teste.txt é criado com 100 MB.

 

Referência:

  1. Unix Rosetta Stone: http://vinhnet.org/Knowledge/system-admin/Rosetta_Stone_Unix_translator2.htm
  2. mkfile man page: http://docs.sun.com/app/docs/doc/802-5747-1M/6i9g1e17p?l=en&a=view&q=mkfile
  3. lmktemp: http://www.coolcommands.com/index.php?option=com_cccat&task=display&id=154

Linux – Como reduzir arquivo de imagem na linha de comando

Para enviar fotos ou imagens por email, para um fotolog ou páginas web, pode ser interessante reduzir o tamanho dessas imagens.

Para reduzir o tamanho de arquivos de imagem, pode-se usar o comando convert do Linux.

Segue abaixo um exemplo desta redução, onde o arquivo DSC07370.JPG será reduzido para o tamanho 800×600 e passará a se chamar DSC07370_P.JPG. O tamanho dos arquivos está destacado em vermelho.

$ convert -size 800x600 DSC07370.JPG DSC07370_P.JPG

$ ls -l
total 18478
-rwxr--r-- 1 foo foo 3037188 2007-10-08 23:47 DSC07370.JPG
-rwxr--r-- 1 foo foo 3037188 2007-10-14 23:46 DSC07370.JPG.BKP
-rw-r--r-- 1 foo foo 854502 2007-10-14 23:46 DSC07370_P.JPG
-rwxr--r-- 1 foo foo 3121465 2007-10-08 23:48 DSC07371.JPG
-rwxr--r-- 1 foo foo 3041769 2007-10-08 23:48 DSC07372.JPG
-rwxr--r-- 1 foo foo 3029528 2007-10-08 23:48 DSC07373.JPG
-rwxr--r-- 1 foo foo 2737071 2007-10-08 23:49 DSC07374.JPG
$

 

Referência:

http://linux.about.com/od/commands/l/blcmdl1_convert.htm

http://www.linux.com/articles/113978

http://www.ibm.com/developerworks/linux/library/l-graf/