Infraestrutura · 4 de outubro de 2018 · 4 min de leitura

LAB – Comandos Linux parte 1

Introdução

Este artigo tem como objetivo demostrar alguns comandos Linux uteis para o gerenciamento do Sistema Operacional, você aprenderá alguns truques sobre vários comandos típicos além de variações de
utilização.

Ressalto que os comandos aqui executados podem sofrer variações dependendo da versão do Sistema Operacional utilizado ou do kernel específico compilado.

Pré-requisitos

Este artigo necessita de um sistema operacional Linux de 64 bits, preferencialmente a distribuição Oracle Linux 7.5.

Comandos Linux

Alterar permissão, grupo e proprietário utilizando um arquivo como referência

cd /home/oracle ll -h -rwxrwxr-x. 1 root root 0 Set 30 11:18 arquivo1 -rw-r--r--. 1 oracle oinstall 0 Set 30 11:17 arquivo2 chmod --reference arquivo1 arquivo2 ll –h -rwxrwxr-x. 1 root root 0 Set 30 11:18 arquivo1 -rwxrwxr-x. 1 oracle oinstall 0 Set 30 11:17 arquivo2 chgrp --reference arquivo1 arquivo2 ll -h -rwxrwxr-x. 1 root root 0 Set 30 11:18 arquivo1 -rwxrwxr-x. 1 oracle root 0 Set 30 11:17 arquivo2 chown --reference arquivo2 arquivo1 ll -h -rwxrwxr-x. 1 oracle root 0 Set 30 11:18 arquivo1 -rwxrwxr-x. 1 oracle root 0 Set 30 11:17 arquivo2

Detalhes sobre arquivos

su - oracle cd $ORACLE_HOME/bin stat oracle File: "oracle" Size: 323762270 Blocks: 632360 IO Block: 4096 arquivo comum Device: fc00h/64512d Inode: 2231997 Links: 1 Access: (6751/-rwsr-s--x) Uid: (54321/oracle) Gid: (54321/oinstall) Access: 2018-08-17 14:43:11.639292698 -0300 Modify: 2017-01-17 15:07:24.661273801 -0200 Change: 2017-01-17 15:07:25.084273830 -0200

Observe os detalhes obtidos:

Quantidade de blocos ocupados;

UID e GID da propriedade do arquivo;

Permissões de acesso representado em Octal (6751);

Informações de registro de data e hora de Acesso (Access), Modificação (Modify) e Alteração de Permissões (Change).

Outra opção é utilizar a opção -t que oferece as mesmas informações, porém em uma única linha. Está opção é útil para ser utilizada em scripts de shell.

stat -t oracle oracle 323762270 632360 81e9 54321 54321 fc00 1985345 1 0 0 1538319857 1538319863 1538319903 4096

Tipos de Arquivos

O comando file mostra qual é o tipo de arquivo, pois em Linux não é necessário tipificar um arquivo atribuindo uma extensão arquivo.

cd /home/oracle file arquivo1 arquivo2 arquivo1: ASCII text arquivo2: POSIX shell script text executable tar -cjvf arquivos.tar.bz2 arquivo1 arquivo2 file arquivos.tar.bz2 arquivos.tar.bz2: bzip2 compressed data, block size = 900k

Comparando Arquivos

O comando cmp é semelhante a diff, porém o resultado é retornado com primeiro sinal de diferença.

cd /home/oracle cp arquivo1 arquivo3 echo "teste" >> arquivo3 echo "outro" >> arquivo1 cmp arquivo1 arquivo3 arquivo1 arquivo3 differ: byte 36, line 5

Uma opção útil para ser utilizada com comando CMP é parâmetro -s, ele vai retornar um código.

Sendo:

0, se forem idênticos
1, se forem diferentes
Outro número diferente de 0, se não for possível fazer a comparação.

cmp -s arquivo1 arquivo3 echo $? 1

O md5sum gera um valor hash de MD5 de 32 bits.

md5sum arquivo1 e7580d1e71eabbfce47327670bd590f5

Dois arquivos com a mesma soma de verificação podem ser considerados idênticos. Porém este comando também pode ser utilizado oferecer um mecanismo para garantir a integridade, utilizando a opção -check.

md5sum /home/oracle/arquivo1 /home/oracle/arquivo2 > arquivo_soma md5sum --check arquivo_soma /home/oracle/arquivo1: SUCESSO /home/oracle/arquivo2: SUCESSO

LS é um comando muito conhecido, porém existem algumas opções que podem torna seu uso mais
eficaz.
Para mostrar a saída do comando em formato de lista, use a opção -1 (menos um)

ls -1 arquivo1 arquivo2 arquivo3 arquivos.tar.bz2

A opção -F acrescenta um símbolo despois de cada arquivo para mostrar o tipo do arquivo: “/” depois de diretórios, “@” depois de links simbólicos e “|” depois de pipes nomeados.

ls -F diretorio/ arquivo1 arquivo2 link1@ pipe1|

A opção -r mostra os arquivos em ordem alfabética invertida.

touch zarquivo.txt ls -1 -r zarquivo.txt arquivos.tar.bz2 arquivo3 arquivo2 arquivo1

A opção -S listar os arquivos dos maiores para os menores de acordo com seu tamanho.

ls -lS -rw-r--r--. 1 oracle oinstall 135 Set 30 12:29 arquivos.tar.bz2 -rwxrwxr-x. 1 oracle root 28 Set 30 12:44 arquivo2 -rwxr-xr-x. 1 root root 25 Set 30 13:10 arquivo3 -rwxrwxr-x. 1 oracle root 23 Set 30 13:10 arquivo1 -rw-r--r--. 1 root root 0 Set 30 14:29 zarquivo.txt

O comando m4 pega um arquivo de entrada e substitui as strings contidas nele pelos parâmetros passados, o que é semelhante à substituição por variáveis.

Neste exemplo será substituído as strings “WINTHOR” por “CLIENTE” e “SENHA” por “654321”.

echo "impdp exporta/senha dumpfile=EXPDP_WINTHOR_FULL_28092018-19h.dmp logfile=IMPDP_WINTHOR_FULL_28092018-23h.log TRANSFORM=OID:n remap_schema=WINTHOR:HOMOLOGA directory=export_dir schemas=WINTHOR" > arquivo.txt m4 -Dsenha=654321 -DWINTHOR=CLIENTE arquivo.txt impdp exporta/654321 dumpfile=EXPDP_WINTHOR_FULL_28092018-19h.dmp logfile=IMPDP_WINTHOR_FULL_28092018-23h.log TRANSFORM=OID:n remap_schema=CLIENTE:HOMOLOGA directory=export_dir schemas=CLIENTE

Conclusão

Foi demonstrado até aqui alguns dos comandos Linux úteis para a execução do seu trabalho de forma
mais produtiva. Na próxima parte deste artigo descreverei alguns comandos mais sofisticados, com o objetivo
de agregar conhecimento no gerenciamento de recursos em ambientes Linux. Recomento que pratique e se
familiarize com estes comandos.

Referências Bibliográficas

https://www.oracle.com/technetwork/articles/linux/calish-file-commands-085228.html?ssSourceSiteId=otnpt

JARGAS, Aurelio Marinho. Shell Script Profissional. Sao Paulo: Novatec, 2008. 480 p.

Atualizado em 4 de outubro de 2018.

Esse problema aparece no seu ambiente?

Diagnóstico gratuito de infraestrutura e banco de dados — sem compromisso.

Falar com um especialista