Fórum Disco Local - Especialista em Jogos e Computadores
[LINUX] Comandos Avançados I_fold12
Seja Bem Vindo Convidado!


[LINUX] Comandos Avançados ValidRegistre-se Para Poder Acessar Links e Imagens
[LINUX] Comandos Avançados ValidColabore com o Fórum:
[LINUX] Comandos Avançados ValidComente os Tópicos,Traga Assuntos Novos,etc
[LINUX] Comandos Avançados ValidEvite Usar Linguagem MSN
[LINUX] Comandos Avançados ValidUsuários Poste Suas Perguntas / Comentários no Local Correto
[LINUX] Comandos Avançados ValidNão Crie tópicos Pedindo Algo,sem PESQUISAR.(Provavelmente teremos o que você quer)
[LINUX] Comandos Avançados ValidE Leia As Regras Para Não Ser Advertido

Obrigado!
Equipe do Fórum Disco Local
Fórum Disco Local - Especialista em Jogos e Computadores
[LINUX] Comandos Avançados I_fold12
Seja Bem Vindo Convidado!


[LINUX] Comandos Avançados ValidRegistre-se Para Poder Acessar Links e Imagens
[LINUX] Comandos Avançados ValidColabore com o Fórum:
[LINUX] Comandos Avançados ValidComente os Tópicos,Traga Assuntos Novos,etc
[LINUX] Comandos Avançados ValidEvite Usar Linguagem MSN
[LINUX] Comandos Avançados ValidUsuários Poste Suas Perguntas / Comentários no Local Correto
[LINUX] Comandos Avançados ValidNão Crie tópicos Pedindo Algo,sem PESQUISAR.(Provavelmente teremos o que você quer)
[LINUX] Comandos Avançados ValidE Leia As Regras Para Não Ser Advertido

Obrigado!
Equipe do Fórum Disco Local




-

Tópicos semelhantes
Procurar
 
 

Resultados por:
 
Rechercher Pesquisa avançada
Últimos assuntos
» [Patch Brasileirão A e B + Libertadores +]
[LINUX] Comandos Avançados Emptypor jimmy london 17/7/2015, 02:05

» criando narração muito legal Téo José
[LINUX] Comandos Avançados Emptypor gabrielferreira12 25/6/2014, 14:19

» Option File ELGAIATO 28/02/2012 c/ Times Brasileiros
[LINUX] Comandos Avançados Emptypor lucas547 6/3/2014, 22:44

» [PC] - Gritos de Torcida [PES 2009]
[LINUX] Comandos Avançados Emptypor grenios 25/11/2013, 18:35

» NARRRAÇÃO ANDRÉ HENNING PES 6 ELA E DE 2011 OS DOIS LINKS FUNCIONANDO
[LINUX] Comandos Avançados Emptypor michel.miranda.982 24/9/2013, 18:10

» {AJUDA}Erro no PLayer GDB MANAGER
[LINUX] Comandos Avançados Emptypor adrielsantista 31/8/2013, 22:03

» [NARRAÇÃO] Luciano do Valle 2010 Para PES6
[LINUX] Comandos Avançados Emptypor ccyclopss 31/8/2013, 10:37

Os membros mais ativos do mês
Nenhum usuário
Os que mais criam tópicos
Alex Melos= Aposentado
[LINUX] Comandos Avançados I_vote_lcap[LINUX] Comandos Avançados I_voting_bar[LINUX] Comandos Avançados I_vote_rcap 
johndom
[LINUX] Comandos Avançados I_vote_lcap[LINUX] Comandos Avançados I_voting_bar[LINUX] Comandos Avançados I_vote_rcap 
.::.Բєяทαท∂ѳ20320.::.™
[LINUX] Comandos Avançados I_vote_lcap[LINUX] Comandos Avançados I_voting_bar[LINUX] Comandos Avançados I_vote_rcap 
C. Ronaldo = aposentado
[LINUX] Comandos Avançados I_vote_lcap[LINUX] Comandos Avançados I_voting_bar[LINUX] Comandos Avançados I_vote_rcap 
ZíìKØ
[LINUX] Comandos Avançados I_vote_lcap[LINUX] Comandos Avançados I_voting_bar[LINUX] Comandos Avançados I_vote_rcap 
Gustavo Frias
[LINUX] Comandos Avançados I_vote_lcap[LINUX] Comandos Avançados I_voting_bar[LINUX] Comandos Avançados I_vote_rcap 
*Magnata*
[LINUX] Comandos Avançados I_vote_lcap[LINUX] Comandos Avançados I_voting_bar[LINUX] Comandos Avançados I_vote_rcap 
Diego a5
[LINUX] Comandos Avançados I_vote_lcap[LINUX] Comandos Avançados I_voting_bar[LINUX] Comandos Avançados I_vote_rcap 
Pro evolution Aposentado
[LINUX] Comandos Avançados I_vote_lcap[LINUX] Comandos Avançados I_voting_bar[LINUX] Comandos Avançados I_vote_rcap 
Alex colorado
[LINUX] Comandos Avançados I_vote_lcap[LINUX] Comandos Avançados I_voting_bar[LINUX] Comandos Avançados I_vote_rcap 
Votação
Qual a Sua Idade?
3 - 7
[LINUX] Comandos Avançados I_vote_lcap2%[LINUX] Comandos Avançados I_vote_rcap
 2% [ 74 ]
8 - 12
[LINUX] Comandos Avançados I_vote_lcap13%[LINUX] Comandos Avançados I_vote_rcap
 13% [ 648 ]
13 - 17
[LINUX] Comandos Avançados I_vote_lcap58%[LINUX] Comandos Avançados I_vote_rcap
 58% [ 2831 ]
18 - 29
[LINUX] Comandos Avançados I_vote_lcap19%[LINUX] Comandos Avançados I_vote_rcap
 19% [ 913 ]
30 - 39
[LINUX] Comandos Avançados I_vote_lcap2%[LINUX] Comandos Avançados I_vote_rcap
 2% [ 88 ]
40 - 49
[LINUX] Comandos Avançados I_vote_lcap1%[LINUX] Comandos Avançados I_vote_rcap
 1% [ 39 ]
50 - 59
[LINUX] Comandos Avançados I_vote_lcap0%[LINUX] Comandos Avançados I_vote_rcap
 0% [ 17 ]
60 ou mais
[LINUX] Comandos Avançados I_vote_lcap5%[LINUX] Comandos Avançados I_vote_rcap
 5% [ 241 ]
Total de votos : 4851
Staff e Usuários Especiais

Staff do Fórum:


johndom (Adm)
Alexmelos (Coor.)
Diego A5 (SM.)
Eugenio Tricolor (Mod.)
Pro Evolution (Mod.)
C. Ronaldo (Mod.)
Fernando 2030 (Mod.)


Quem está conectado?
62 usuários online :: 0 registrados, 0 invisíveis e 62 visitantes

Nenhum

O recorde de usuários online foi de 293 em 26/10/2021, 09:10

Compartilhe | 
 

 [LINUX] Comandos Avançados

Ver o tópico anterior Ver o tópico seguinte Ir para baixo 
AutorMensagem
Alex Melos= Aposentado
Coordenador
Coordenador
Alex Melos= Aposentado

Sexo Sexo : Masculino
Idade Idade : 28
Cidade / Estado Cidade / Estado : Caxias Do Sul-RS
Time Time : S.C Internacional
Reputação Reputação : 169
Pontos no Fórum Pontos no Fórum : 3544
Mensagens Mensagens : 1757
Premiações Premiações : 2 Vezes Usuário do Mês
Usuário desde Usuário desde : 30/07/2009
Advertências: Advertências: : - Nenhuma

[LINUX] Comandos Avançados Empty
MensagemAssunto: [LINUX] Comandos Avançados   [LINUX] Comandos Avançados Empty25/1/2010, 12:46


Comandos Avançados

--------------------------------------------------------------------------------

mount
Serve para "mountar"(Tornar o algo importado como uma coisa local) um diretorio ou particao. Por exemplo se voce quiser visualizar o conteudo de um disquete, voce o "mounta" com o mount. Linha: mount origem destino
"Mountando" o floppy : Crie um diretorio na raiz chamado /floppy e digite:

mount /dev/fd0 /floppy ou

mount /dev/fd1 /floppy

dependendo do local do seu floppy. Se ele for drive A: no DOS será fd0, se for B: será fd1. Ai você verá o conteúdo do disquete a partir do diretorio /floppy

"Mountando" o CD-ROM: Crie um diretorio no raiz chamado /cdrom e digite:

mount -t iso9660 -r /dev/cdrom /cdrom

Todo o conteudo do CD sera visualizado no diretorio /cdrom



--------------------------------------------------------------------------------

umount
Serve para "desmountar" um diretorio ou particao. Apos voce "mountar" qualquer coisa e nao quiser mais usar-lo, voce tera que "desmounta-lo". A linha do comando umount sera sempre umount diretorio.


--------------------------------------------------------------------------------

df
Utilizado para visualizar espaço nas particoes.
Exemplo: Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/hdb1 791155 285322 464961 38% /
/dev/hda1 2060032 1080544 979488 52% /dosc



--------------------------------------------------------------------------------

du
Visualizar espaco ocupado por aqueles arquivos do diretorio.
Opcoes aconselhadas: -a


--------------------------------------------------------------------------------

cc
Compilador C do sistema UNIX. Opçoes: -o
Linha: cc -o arquivo arquivo.c


--------------------------------------------------------------------------------

find
Procurar arquivos no sistema
Linha: find diretorio_do_arquivo -name nome_do_arquivo


--------------------------------------------------------------------------------

grep
Comando usado para identificar um linha em certo arquivo. Exemplo:
grep rwx /etc/passwd ou

cat /etc/passwd | grep rwx

Ele verificara todas as entradas rwx no arquivo passwd.



--------------------------------------------------------------------------------

head
Usado para mostrar as dez primeiras linhas(default) de um certo arquivo.
Linha: head -c Nb arquivo ; onde N e o numero de bytes que serao exibidos. Vc pode usar em vez da letra b apos o N, as letras k(kilobytes) ou m(megabytes).



--------------------------------------------------------------------------------

tail
Verifica as 10 ultimas linha dum certo arquivo, e com a opcao -f espera infinitamente por novas linhas no final. Perfeito para se usar em logs.
Opcoes: -f
Linha: tail -f arquivo



--------------------------------------------------------------------------------

ln
Serve para linkar um arquivo a um diretorio ou outro arquivo.
Linha: ln origem destino



--------------------------------------------------------------------------------

netstat
Mostra todas as conexoes TCP, UDP, RAW e UNIX sockets.
Opcoes: -a



--------------------------------------------------------------------------------

su
Comando usado para trocar de user sem precisar dar um logout.
Recomendado usar-lo sempre ainda mais se vc for um admin pois ficar logado como root nao e aconselhavel.
Linha: su E logo depois ele pedira a senha se vc for um user normal. Se for o root do sistema nao ira precisar de senha alguma.



--------------------------------------------------------------------------------

touch
Cria um arquivo vazio.
Linha: touch arquivo


--------------------------------------------------------------------------------

uname
Exibe informacoes do sistema.
Opcoes: -a


--------------------------------------------------------------------------------

mailx
Verifica novos mails na caixa de mensagem.


--------------------------------------------------------------------------------

showmount
Exibe diretorios mountados da maquina local ou qualquer outra.
Opcoes: -ae
Linha: showmount -ae IP_DA_MAQUINA


--------------------------------------------------------------------------------

chmod
Modifica as permissões de um arquivo ou diretório.Você deve ser o proprietário de um arquivo ou diretório, ou ter acesso ao root, para modificar as suas permissões.
Sintaxe : chmod permissões nome_do_arquivo

onde :

permissões - indica as permissões a serem modificadas;
nome - indica o nome do arquivo ou diretório cujas permissões serão afetadas.

As permissões podem ser especificadas de várias maneiras. Aqui está uma das formas mais simples de realizarmos esta operação :

1- Use uma ou mais letras indicando os usuários envolvidos:

. u (para o usuário)
. g (para o grupo)
. o (para "outros")
. a (para todas as categorias acima)

2- Indique se as permissões serão adicionadas (+) ou removidas (-). 3- Use uma ou mais letras indicando as permissões envolvidas :

. r (para "read") (ler)
. w (para "write") (escrever)
. x (para "execute") (executar)

Exemplo : No exemplo a seguir, a permissão de escrita ("write") é adicionada ao diretório "dir1" para usuários pertencentes ao mesmo grupo. (Portanto, o argumento "permissões" é g+w e o argumento "nome" é dir1).

$ ls -l dir1
drwxr-xr-x 3 dir1 1024 Feb 10 11:15 dir1
$ chmod g+w dir1
$ ls -l dir1
drwxrwxr-x 3 dir1 1024 Feb 10 11:17 dir1
$

Como você pôde verificar, o hífen (-) no conjunto de caracteres para grupo foi modificado para "w" como resultado deste comando.
Quando você cria um novo arquivo ou diretório, o sistema associa permissões automaticamente. Geralmente, a configuração "default" (assumida) para os novos arquivos é:

- r w - r - - r - -

e para novos diretórios é:

d r w x r - x r - x



--------------------------------------------------------------------------------

file
Exibe o tipo de um arquivo.
Alguns arquivos, tais como arquivos binários e executáveis, não podem ser visualizados na tela. O comando "file" pode ser útil se você não tem certeza sobre o tipo do arquivo. O uso do comando permitirá a visualização do tipo do arquivo.

Exemplo : $file copyfile
copyfile: ascii text



--------------------------------------------------------------------------------

chgrp
Modifica o grupo de um arquivo ou diretório.
Sintaxe: chgrp [-f] [-h] [-R] gid nome-do-arquivo

"chgrp" modifica o identificador de grupo ("group ID" , gid) dos arquivos passados como argumentos.

"gid" pode ser um número decimal especificando o group id, ou um nome de grupo encontrado no arquivo "/etc/group". Você deve ser o proprietário do arquivo, ou o super-usuário, para que possa utilizar este comando.

Opções:

-f Esta opção não reporta erros

-h Se o arquivo for um link simbólico, esta opção modifica o grupo do link simbólico. Sem esta opção, o grupo do arquivo referenciado pelo link simbólico é modificado.

- R Esta opção é recursiva."chgrp" percorre o diretório e os subdiretórios, modificando o GID à medida em que prossegue.



--------------------------------------------------------------------------------

chown
Modifica o proprietário de um arquivo ou diretório.
Sintaxe: chown [-fhR] (proprietário) (nome-do-arquivo)

O argumento "proprietário" especifica o novo proprietário do arquivo.Este argumento deve ser ou um número decimal especificando o userid do usuário ou um "login name" encontrado no arquivo "/etc/passwd".

Somente o proprietário do arquivo ( ou o super-usuário ) pode modificar o proprietário deste arquivo.

Opcões

- f Esta opção não reporta erros.

- h Se o arquivo for um link simbólico, esta opção modifica o proprietário do link simbólico. Sem esta opção, o proprietário do arquivo referenciado pelo link simbólico é modificado.

- R Esta opção é recursiva."chown" percorre o diretório e os subdiretórios, modificando as propriedades à medida em que prossegue.


apropos
Uma facilidade bastante interessante existente em sistemas Unix e o comando apropos. Este comando consulta um banco de dados consistindo da descricao do comando. E bastante util em situacoes em que se deseja executar determinada tarefa e nao se conhece o nome do comando. Por exemplo, caso eu queira descobrir obter informacao a respeito de compiladores instalados em meu sistema, eu poderia digitar:
% apropos compiler
cccp, cpp (1) - The GNU C-Compatible Compiler Preprocessor.
g++ (1) - GNU project C++ Compiler
gcc, g++ (1) - GNU project C and C++ Compiler (v2.7)

Uma vez de posse desta informacao eu digitaria entao

% man gcc

para obter informacoes especificas sobre o compilador gcc.

Todavia, este banco de dados nao e criado automaticamente. O administrador de sistemas precisa criar este banco de dados atraves do comando catman. Este comando ira varrer todos os diretorios especificados na variavel de ambiente MANPATH e ira construir um arquivo chamado "whatis", onde ira colocar as descricoes dos programas. Caso nao exista este arquivo, ao se invocar o comando apropos uma mensagem parecida com a mensagem abaixo sera exibida:

% apropos compiler
apropos: file /usr/local/man/whatis not found
Create the whatis database using the catman -w command.

Para construir este banco de dados emitir o comando:

# catman -w

Uma vez criado o banco de dados o comando apropos (ou man -k) podera entao ser utilizado.



--------------------------------------------------------------------------------

csplit
Outro comando tambem utilizado para se dividir um arquivo em varios outros e o comando csplit (Content Split).
Ao contrario do comando split, abordado na dica anterior, o comando csplit permite que se especifique uma string que ira indicar o delimitador de cada um dos novos arquivos.

Tomemos como exemplo o arquivo abaixo, chamado arq1:

arq1
Capitulo 1

Era uma vez, era uma vez tres porquinhos, Palhaco, Palito e Pedrito.

Capitulo 2

E o Lobo Mau, ...

Capitulo 3

E o cacador, matou o Lobo Mau, casou-se com a Chapeuzinho Vermelho, e viveram felizes para sempre.

The End

@@@ Fim arq1 O autor, colocou todos os capitulos do livro em apenas um arquivo e depois se arrependeu. Agora ele quer criar varios arquivos contendo um capitulo cada. O comando abaixo pode resolver este problema:

% csplit -f Capit arq1 "/Capitulo/" {2}
% ls -l
total 4
-rw-r--r-- 1 queiroz supsof 0 Jun 17 18:31 Capit00
-rw-r--r-- 1 queiroz supsof 85 Jun 17 18:31 Capit01
-rw-r--r-- 1 queiroz supsof 29 Jun 17 18:31 Capit02
-rw-r--r-- 1 queiroz supsof 136 Jun 17 18:31 Capit03
-rw-r--r-- 1 queiroz supsof 250 Jun 17 18:11 arq1

Traduzindo, o comando csplit ira criar varios arquivos iniciados em "Capit", ate um maximo de 3 arquivos (parametro {2}, computa-se o numero entre colchetes + 1). Este valor indica o numero de vezes que o comando sera repetido. No nosso exemplo, foi especificado exatamente o numero de capitulos contidos no arquivo original (3). Caso nao conhecamos este valor, podemos especificar um numero que sabemos maior que o numero de arquivos existentes. O comando csplit ira reclamar, e apagar todos os arquivos ja criados. Para evitarmos que isto aconteca, basta especificar a flag "-k", ou seja, a reclamacao continuara sendo feita, mas o trabalho ja feito nao sera removido. O que nao pode e se especificar um numero inferior ao desejado. Neste caso, o comando ficaria como:

% csplit -k -f Capit arq1 "/Capitulo/" {9}
0
85
29
csplit: {9} - out of range
136

A quebra sera feita, tomando-se por base o nosso exemplo, antes da string Capitulo, exclusive. Devido a isto, o primeiro arquivo, Capit00, esta vazio. Os arquivos criados, a excecao do arquivo Capit00 que esta vazio, contem:

Capit01

Capitulo 1

Era uma vez, era uma vez tres porquinhos, Palhaco, Palito e Pedrito. ...

Capit02

Capitulo 2
E o Lobo Mau, ...

Capit03

Capitulo 3 E o cacador, matou o Lobo Mau, casou-se com a Chapeuzinho Vermelho, e viveram felizes para sempre.

The End

O comando csplit todavia, e um pouco complexo. Existe um programa de dominio publico chamado slice, que e muito mais flexivel e facil de usar que o comando csplit.



--------------------------------------------------------------------------------

dd
O comando dd possui varias outras funcoes interessantes alem da copia pura e simples de arquivos. Um funcao que julgo bastante util e a conversao de caracteres.
Por exemplo, para se converter todos as letras maiusculas de um documento para letras minusculas, executar o comando abaixo:

dd if=arquivo1 of=arquivo2 conv=lcase

Este comando ira converter todos as letras maiusculas do arquivo1 em letras minusculas e gerar um outro arquivo chamado arquivo2 com o resultado do processamento.

Da mesma forma, se quisermos converter todas as letras do arquivo2 para maiusculas:

dd if=arquivo2 of=arquivo3 conv=ucase

Outra aplicacao interessante deste comando seria renomear todos os arquivos em um determinado diretorio com seu nome equivalente em letras minusculas:

#!/bin/sh
for file in `ls`
do
mv $file `echo $file | dd conv=lcase`
done



--------------------------------------------------------------------------------

paste
O comando paste serve para colar o conteudo de dois arquivos lado a lado. Por exemplo, tomemos os arquivos arq1 e arq2:
arq1

1
2
3
4
5

arq2

a
b
c
d
e

O comando

% paste arq1 arq2 > arq3

resultaria no arquivo arq3 com o seguinte conteudo:

1 a
2 b
3 c
4 d
5 e

Ja o comando

% paste -s arq1 arq2 > arq3

resultara no arquivo arq3 com o conteudo abaixo

1 2 3 4 5
a b c d e



--------------------------------------------------------------------------------

split
Muitas vezes precisamos dividir um arquivo em varios outros menores, seguindo alguma convencao. Para isto podemos usar tanto o comando split.
O comando split nos permite dividir um arquivo baseando-se no numero de linhas ou numero de bytes que cada arquivo novo deve conter.

Por exemplo:

% split -l 10 /etc/passwd

Este comando criara varios arquivos denominados xaa, xab, xac, etc. Nem sempre estes nomes sao os mais convenientes. Neste caso podemos, com o acrescimo de mais um parametro, determinar o sufixo do nome dos arquivos que serao criados:

% split -l 10 /etc/passwd pas-
% ls
pas-aa pas-ab pas-ac pas-ad pas-ae pas-af pas-ag pas-ah

Os arquivos criados passaram a conter o prefixo "pas-", permitindo identificar mais claramente os contadores dos arquivos (aa, ab, ac, etc.)

Alem do particionamento em linhas, o comando split, quando invocado com a opcao "b", ira efetuar a divisao do arquivo baseando-se no numero de bytes:

% split -b 32k /etc/passwd pas-

ou entao

% split -b 32 /etc/passwd pas-

ou ainda

% split -b 32m /etc/passwd pas-

No primeiro exemplo, o arquivo /etc/passwd sera dividido em varios arquivos de 32kbytes cada um, ao passo que no segundo exemplo, o arquivo sera dividido em arquivos de 32 bytes cada. No terceiro exemplo, o arquivo /etc/passwd e dividido em arquivos de 32MB cada pouco provavel :-)



--------------------------------------------------------------------------------

slice
Este comando incorpora toda a funcionalidade dos comandos split e csplit, abordados anteriormente. Ao contrario dos comandos split e csplit, o comando slice nao e padrao em sistemas Unix. Ele faz parte da distribuicao de utilitarios para unix, chamada unix-c, e disponivel, entre outros lugares,em [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
Os exemplos abaixo ilustram claramente o poder e facilidade de uso deste comando:

1) Divisao de um mailbox em varios arquivos contendo uma mensagem cada:

% slice -f mailbox -m
% ls
mailbox:1995-05-02.14:28 mailbox:1996-12-10.10:04:47
mailbox:1995-05-24.13:35:43 mailbox:1997-02-06.09:00:15
mailbox:1995-05-24.13:40:04 mailbox:1997-02-26.09:42:23

Sao criados varios arquivos iniciados por "mailbox:" e os numeros que se seguem identificam a data da mensagem.

2) Divisao de um arquivo sempre que for encontrada a string "###". A string "###" deve ser eliminada (flag -x) dos arquivos resultantes:

% slice -f arq1 -e "###" -x

Alem disto, o nome dos arquivos gerados pode ser configurado atraves de algumas diretivas aceitas pelo comando slice. Caso o arquivo original contenha as linhas:

arq1

-------------------------------------------------------------------------- ARQ1
abcdefghijklmno
-------------------------------------------------------------------------- ARQ2
abcdefghijklmno
-------------------------------------------------------------------------- ARQ3
abcdefghijklmno
-------------------------------------------------------------------------- ARQ4
abcdefghijklmno
-------------------------------------------------------------------------- ARQ5
abcdefghijklmno
-------------------------------------------------------------------------- ARQ6

O comando abaixo

% slice -f arq1 -e "------" -x x.#2
% ls
arq1 x.ARQ1 x.ARQ2 x.ARQ3 x.ARQ4 x.ARQ5 x.ARQ6

Os arquivos gerados receberam o prefixo "x." e o sufixo e o segundo (#2) campo da linha que preencheu os requesitos para divisao dos arquivos, indicado pelo parametro (-e "--- ---"), em nosso caso a string ARQx, onde x varia de 1 a 6.

Este comando esta disponivel no servidor de ftp anonimo da Unicamp, em [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]



--------------------------------------------------------------------------------

sort (1)
O comando sort, tambem oferece inumeras facilidades interessantes. Tomemos o arquivo abaixo como exemplo:
arq1

1:2:3:4:5:6
1:1:3:4:5:6
1:4:3:4:5:6
1:2:3:4:5:6
1:0:3:4:5:6
1:2:3:4:5:6
1:7:3:4:5:6
1:2:3:4:5:6
1:0:3:4:5:6
1:9:3:4:5:6

O comando abaixo:

% sort -t: +1 -n arq1

ira gerar a seguinte saida:

|
v
1:0:3:4:5:6
1:0:3:4:5:6
1:1:3:4:5:6
1:2:3:4:5:6
1:2:3:4:5:6
1:2:3:4:5:6
1:2:3:4:5:6
1:4:3:4:5:6
1:7:3:4:5:6

Observar que o segundo campo, indicado pela seta, esta ordenado numericamente em ordem crescente. Os campos deste arquivo sao separados por ":". O tipo de separador e indicado pela flag "-t:". Em seguida a flag "-t" poderiamos indicar qualquer tipo de separador. O campo a ser ordenado e indicado pela flag "+1". Para o comando sort a contagem dos campos inicia-se por 0, desta forma, o valor "+1" ira indicar na realidade o segundo campo do arquivo. A ordenacao tambem pode ser feita numericamente, do maior para o menor valor:

% sort -t: +1 -nr arq1

|
v
1:9:3:4:5:6
1:7:3:4:5:6
1:4:3:4:5:6
1:2:3:4:5:6
1:2:3:4:5:6
1:2:3:4:5:6
1:2:3:4:5:6
1:1:3:4:5:6
1:0:3:4:5:6
1:0:3:4:5:6



--------------------------------------------------------------------------------

sort (2)
O comando sort, na sua forma mais simples, serve para ordenar o conteudo de um arquivo. Tomemos o arquivo:
arq1

x
a
h
j
k

O comando abaixo, executado sobre o arquivo arq1, ira gerar a saida exibida abaixo:

% sort arq1
a
h
j
k
x

Alem desta funcao, o comando sort tambem pode ser utilizado para combinar dois arquivos diferentes. Os arquivos sobre os quais o comando sort ira atuar ja devem ter sido previamente ordenados:

arq1

aa
yy

arq2

bb
zz

O comando:

% sort -m arq1 arq2

ira exibir na tela:

aa
bb
yy
zz

A saida do comando sort, em todos os exemplos apresentados, tem sido redirecionada para a tela. Caso queiramos redirecionar esta saida para um arquivo para processamento posterior, temos duas opcoes equivalentes:

% sort arq1 arq2 > arq3

ou

% sort arq1 arq2 -o arq3



--------------------------------------------------------------------------------

sort (3)
Uma outra caracteristica interessante do comando sort e a possibilidade de fazer as comparacoes sobre os argumentos convertidos para minusculas (flag -f).
Tomemos os arquivos arq1 e arq2:

arq1

AA
XX

arq2

bb
kk

O comando sort abaixo:

% sort arq1 arq2
AA
XX
bb
kk

ira gerar uma saida onde a ordenacao sera feita primeiramente sobre as letras maiusculas e em seguida as minusculas, ou seja, A-Z e em seguida a-z.

Ja o comando abaixo

% sort -f arq1 arq2
AA
bb
kk
XX

ira realizar a ordenacao dos arquivos independentemente das palavras estarem grafadas em maiusculas ou minusculas.

sort (4)
O comando sort pode tambem ser utilizado para ordenar arquivos removendo eventuais linhas duplicadas. Tomemos o arquivo arq1:
arq1

joao
maria
jose
maria
joao
heitor

O comando:

% sort -u arq1

ira gerar a saida abaixo

heitor
joao
jose
maria

A diretiva "-u" fez com que a saida gerada contivesse apenas uma ocorrencia de cada uma das linhas.



--------------------------------------------------------------------------------

tail
O comando tail pode ser utilizado para examinar as ultimas linhas de um arquivo.
O comando:

% tail /etc/passwd

ira exibir as dez ultimas linhas do arquivo /etc/passwd

E possivel tambem especificar o numero de linhas a serem exibidas, ao inves das dez linhas que o comando adota como default:

% tail -n 100 /etc/passwd

No exemplo acima, serao exibidas as 100 ultimas linhas do arquivo /etc/passwd.

Uma flag muito util, e a flag "-f", que permite a visualizacao dinamica de um arquivo, ou seja, as linhas sao exibidas na tela na medida em que sao geradas. Esta facilidade e particularmente interessante quando se faz a compilacao de um software redirecionando a saida para um arquivo. Atraves do comando tail pode-se acompanhar toda a compilacao ao mesmo tempo em que as informacoes sao gravadas em um arquivo:

% make >& make.log
% tail -f make.log



--------------------------------------------------------------------------------

tee
O comando tee permite que a saida de um comando seja gravada em um arquivo ao mesmo tempo em que e exibida na tela. Por exemplo:
% ls | tee saida.txt

A listagem do diretorio e exibida na tela ao mesmo tempo em que e gravada no arquivo saida.txt

O comando tee aceitas as flags "-a", indicando que a saida do comando deve ser acrescida ao conteudo do arquivo especificado e a flag "-i", que especifica que interrupcoes devem ser ignoradas.

O comando script oferece funcionalidade semelhante, porem mais abrangente. O comando script registra tudo o que ocorre em uma sessao interativa, ao passo que o comando tee grava o resultado de apenas um arquivo.

Uma outra possibilidade e redirecionar a saida de um comando executado em uma tela para uma outra:

% ls | tee /dev/pts/1

Nestte exemplo, a saida do comando ls sera exibida na tela original e na tela identificada por /dev/pts/1.



--------------------------------------------------------------------------------

traceroute
Voce ja parou para pensar por onde passam os seus dados em suas viagens pela Internet? Se voce quer saber, existe um comando em sistemas Unix e Windows (95 e NT) que lhe fornecem estas informacoes.
Este comando chama-se traceroute. Para determinar o caminho percorrido de meu computador ate o servidor ftp da Universidade de Washington basta emitir o comando:

root@netway:[/]traceroute wuarchive.wustl.edu
traceroute to wuarchive.wustl.edu (128.252.135.4), 30 hops max, 40 byte packets
1 panoramix.cmp.unicamp.br (143.106.30.11) 9 ms 2 ms 2 ms
2 cmp-gw.unicamp.br (143.106.10.40) 10 ms 3 ms 3 ms
3 ansp-gw.unicamp.br (143.106.1.45) 4 ms 4 ms 4 ms
4 ansprd2.unicamp.br (143.106.70.1) 7 ms 5 ms 6 ms
5 143.108.5.7 (143.108.5.7) 156 ms * 186 ms
6 143.108.5.1 (143.108.5.1) 178 ms 184 ms 146 ms
7 delta.cora.br (143.108.13.3) 173 ms 173 ms 207 ms
8 mix-serial4-4.Washington.mci.net (204.189.152.193) 514 ms 391 ms 341 ms
9 * core1-fddi-0.Washington.mci.net (204.70.2.1) 365 ms *
10 core1.NorthRoyalton.mci.net (204.70.4.205) 365 ms 374 ms 390 ms
11 core-hssi-2.Chicago.mci.net (204.70.1.93) 383 ms 473 ms 397 ms
12 * border4-fddi-0.Chicago.mci.net (204.70.3.83) 390 ms *
13 startnet-llc.Chicago.mci.net (204.70.27.6) 420 ms 445 ms 411 ms
14 * wuarchive.wustl.edu (128.252.135.4) 428 ms *

Da saida do comando acima pode-se identificar todo o caminho percorrido ate se chegar ao computador destino. No total, a mensagem passa por 13 computadores ate chegar ao destino.

Ao lado do nome de cada computador pode-se ver o numero IP e tres valores em milissegundos. A cada um destes computadores sao enviados tres pacotes UDP e, para cada um destes pacotes, e medido o tempo de ida e volta do pacote. Se nao houver resposta dentro de tres segundos, no lugar onde seria exibido o tempo da viagem de ida e volta e colocado um asterisco, como se pode ver acima.

O objetivo deste comando e servir como uma ferramenta para identificacao de problemas de rede, roteamento e medicao de performance. Se o pacote estiver tomando caminhos totalmente diferentes da melhor rota esta anomalia ja pode ser identificada a partir da saida do traceroute. Pode-se tambem se identificar gargalos, a partir dos quais a performance se torna extremamente lenta.

Como dito acima, este comando existe tambem em sistemas Windows. O nome todavia e diferente. Chama-se tracert e deveser invocado a partir de uma janela DOS.



--------------------------------------------------------------------------------

xargs
Os resultados obtidos pelo comando find podem ser redirecionados para o comando xargs para que sejam tomadas acoes especificas (remocao, mudanca de atributos, listagem, etc) sobre estes arquivos.
O comando xargs atua sobre o resultado a ele fornecido pelo standard input e constroi um comando baseado nesta entrada e em seus proprios argumentos da linha de comando.

Por exemplo:

% ls | xargs rm -f

Este comando ira remover todos os arquivos do diretorio corrente. A diferenca entre o comando acima e os comandos

% rm -f `ls`

e

% rm -f *

e que apos a shell realizar a expansao dos nomes gerados atraves do "rm -f *" ou "rm -f `ls`" o tamanho da linha de comandos pode causar um erro. O comando xargs gera linhas de comando de tamanho compativel com as limitacoes do sistema e executa o comando solicitado tantas vezes quantas forem necessarias para completar a tarefa.

xargs (2)
Qual a diferenca entre os comandos abaixo?
% find . -user queiroz -exec ls {} \;
% find . -user queiroz -print | xargs ls

A diferenca e que no primeiro find o comando ls e executado uma vez para cada arquivo encontrado. Se forem encontrados 1000 arquivos o comando ls sera executado 1000 vezes.

Ja no segundo exemplo, com a saida do find redirecionada para o comando xargs, o comando ls sera executado sobre um grupo de arquivos de cada vez e nao uma vez para cada arquivo. O que ira determinar o numero de vezes que o comando xargs executara o comando ls e justamente o tamanho da linha de comandos. O comando xargs ira dividir a saida gerada pelo comando find em blocos compativeis com a capacidade do sistema de maneira a que nao ocorra um erro quando da execucao, em nosso caso, do comando ls.

Em outras palavras, suponhamos que o comando find descubra 2000 arquivos sobre os quais o comando xargs devera executar o comando ls. O limite maximo de arquivo sobre os quais o comando ls pode atuare de 500. O comando xargs automaticamente realizara a divisao desta entrada em quatro blocos de 500 arquivos.

Concluindo, o comando xargs e bem mais eficiente do que a diretiva -exec do comando find, por exigir menos recursos computacionais para executar a mesma tarefa. uma vez sobre todos os arquivos encontrados.
Ir para o topo Ir para baixo
 

[LINUX] Comandos Avançados

Ver o tópico anterior Ver o tópico seguinte Ir para o topo 
Página 1 de 1

 Tópicos semelhantes

-
» [Comandos] Comandos Básicos do Grand Chase
» [DICA] Protegendo o Linux do Comando ''rm''
» [TUTORIAL] Copiando Arquivos do WINDOWS para o LINUX

Permissões neste sub-fórumNão podes responder a tópicos
Fórum Disco Local - Especialista em Jogos e Computadores :: Tecnologia / Serviços e Outros :: Informática/ Computadores / Hardware / Software / SO :: Linux-