sábado, 19 de dezembro de 2015

CHMOD BASH SHELL


Comando chmod

Para a correta utilização do comando chmod e necessário um estudo prévio sobre criação de usuários e grupos e permissões de arquivos:
Em sistemas operacionais Unix-like, chmod é o chamado sistema de comando que pode alterar as permissões de acesso a objetos do sistema de arquivos (arquivos e diretórios). Pode também alterar bandeiras modo especiais.
O pedido é filtrada pela umask. O nome é uma abreviatura de change mode. [1]
Modifica a permissão dos arquivos e diretórios. Exemplo:
chmod a+rx Kiss (permissão de leitura e execução para todas as classes de usuários).
Obs: o r e o x presentes no comando significam, respectivamente, leitura e execução.
Seguem-se a representação simbólica de três papéis diferentes:
u é para o usuário,
g é para o grupo,
e o é para os outros.
Seguem-se a representação simbólica de três permissões diferentes:
r é para permissão de leitura,
w é para permissão de gravação,
x é para permissão de execução
As permissões do usuário:
No exemplo vamos dar uma olhadinha na primeira coluna
Como sabemos o primeiro caratere norevela se o arquivo e um arquivo comum ou um /diretórioectory. The next letters tell the system what access is permitted for this file; hence the name “permissions.”
No exemplo abaixo eu acrescentei um espaço pra separar os três primeiros digitos pra facilitar a leitura, então - = arquivo comum d = diretorio, nas permissões do usuário temos rwx.
-
   rwx r-xr-x  joel  acctg  archive.sh 
   
-
   rw- rw-r--  joel  acctg  Officeleo.gif
-
   rw- rw-r--  joel  acctg  pepudas.txt
-
   rw- r--r--  joel  acctg  publicitdade.html
d
   rwx rwxr-x  joel  acctg   arturo.txt
-
   rw- r-----  joel  acctg  topsecret.inf
-
   rwx r-xr-x  joel  acctg  Motion
O primeiro grupo de três letras após o tipo de arquivo diz o que , o proprietário do arquivo, tem permissão para fazer.
Um r na primeira posição significa que você tem permissão para ler o arquivo. Um w na segunda posição significa que você pode gravar o arquivo. Isto inclui a capacidade para excluir um arquivo.
Um x na terceira posição significa que você pode executar o arquivo.
Um hífen em qualquer posição significa que você não tem essa permissão especial.




Acima, joel, o usuário que possui o arquivo, pode ler e gravar todos os arquivos. Ele pode executar o script shell archive.sh e o programa Motion
Mas qual é o x
está fazendo no diretório de vendas? Quando um diretório tem o x ele tem permissão para executar
A seguir estão alguns exemplos de como usar a representação simbólica em chmod.
Como sabemos usamos o chmod para mudar as permissõess de acesso assim:
chmod
 fulano=permissões  arqnome
isto
dá ao fulano permissçoes especificas para o acesso do arqnome
O tal fulano pode assumir quatro identidades.



Letter
Meaning
u
O usuário
g
O grupo
o
Outros
a
Todos U G O

As permissões:

r
Permissão para leiura → read.
w
Permissão para escrever → write
x
Permissão para execuar



1. Adicione única permissão para um arquivo / diretório
Mudar a permissão. O Símbolo + significa a adição de permissão. O Simbolo – retira a permissão
Por exemplo, faça o seguinte para dar permissão de execução para o usuário,
$ Chmod u + x filename → da para o usuário a permissão para e3xecutar o arquivo filename.
2. Adicione a permissão múltipla para um arquivo / diretório
Use vírgula para separar os vários conjuntos de permissões, como mostrado abaixo.
$ Chmod u + r, g + x filename → permissão para usuário ler e grupo executar.
3. Remova a permissão de um arquivo / diretório
Seguindo o exemplo remove ler e escrever permissão para o usuário.
$ Chmod u-rx filename → negando ao usuário a permissão de leitura e execução.
4. Altere a permissão para todos os papéis em um arquivo / diretório
Seguindo o exemplo atribui executar privilégio de usuário, grupo e outros (basicamente, qualquer pessoa pode executar esse arquivo).
$ Chmod a + x filename → aqui a se refere a alis = todos tem permissão para execução.
5. Permissão para fazer um arquivo igual a outro arquivo (usando de referência)
Se você quer mudar a permissão de arquivo igual a outro arquivo, use a opção de referência, como mostrado abaixo
. Neste exemplo, as permissões de file2 serão definidas exatamente iguais as permissões de file1.
$ Chmod --reference = file1 file2
6. Aplique a permissão para todos os arquivos em um diretório de forma recursiva
Use -R opção para alterar a permissão recursivamente como se mostra abaixo.
$ Chmod -R 755 Documentos /
7. Altere a permissão de execução somente nos diretórios (arquivos não são afetados)
Em um diretório específico se você tiver vários sub-diretórios e arquivos, o seguinte comando irá atribuir permissão de execução só para os subdiretórios no diretório atual (e não os arquivos no diretório atual).
$ Chmod u + X *
Let’s say we have these files:


sexta-feira, 18 de dezembro de 2015

CUT COMANDO SHELL


 Como usar o comando CUT 

Sabemos que com o find cat e grep, encontramos mostramos e filtramos, respectivamente  o conteúdo de um arquivo.
O comando “cut” pode ser muito útil para filtrar conteúdos em um arquivo,               
imagine se tivéssemos  um arquivo texto func.txt  com 2000 linhas com a seguinte informação: → nome cargo  salário/hora  horas_trabalhadas.
e seu chefe lhe pedisse para fazer um relatório  baseado nesse arquivo,com o nome e proventos referentes as horas trabalhadas.
como fazer isso??

Com o comando  cut é claro...

Vamos  dar um  exemplo, e no final eu juro  e faço um script para resolvido:

Então  teríamos que pegar a quantidade de horas x salario/hora e listar junto com o nome  =  Mané  R$ 15.000,00

Como resolver o problema acima eh é!! 
Vou filtrar algumas informações do arquivo /etc/passwd, que possui este formato, onde os usuários são os primeiro caracteres delimitados pelo  ' : ' 

edson# cat /etc/passwd

Preciso criar um arquivo com apenas os usuários  existentes no meu sistema. 

Para isso posso usar o comando abaixo:
#cut -d: --output-delimiter : -f 1 /etc/passwd > usuarios.txt
ou
#cut -d: -f 1
-d: --output-delimiter : = Delimitador (Vamos entender este parâmetro no próximo exemplo)
-f 1 = 1° coluna do arquivo que queremos filtrar
/etc/passwd > usuarios.txt

Portanto, neste exemplo, /etc/passwd = arquivo que queremos fazer a filtragem
> /etc/usuarios.txt = A saída do comando será direcionada para este arquivo.


 Agora  vou pegar apenas a primeira coluna do arquivo /etc/passwd (coluna com o nome dos usuários) e mandar esta coluna para o arquivo usuarios.txt, que se não existir será criada automaticamente. O conteúdo deste arquivo será este:

 : temos que selecionar mais de um campo como fazer isso. 


root@edson-desktop:/home/edson# cut -d: -f 1 /etc/passwd > usuarios.txt

root@edson-desktop:/home/edson# cat usuarios.txt
root
daemon
bin
hplip
lightdm
edson
root@edson-desktop:/home/edson# 

Certo mas lembra do que o chefe pediu??
Como selecionar mais de um campo da linha ??
EX:
Eu quero o nome e o tipo de shell do usuário. 
Como podemos fazer isso ?

-d: --output-delimiter : = Delimita que cada coluna é dividida por ":"
-f 1,7 = Pegar apenas as colunas 1 (usuários) e 7 (tipo de shell)
/etc/passwd = arquivo que queremos fazer a filtragem
> usuarios.txt = A saída do comando será direcionada para este arquivo.

#cut -d: --output-delimiter : -f 1,7 /etc/passwd > usuarios.txt
ou
#cut -d: -f 1,7 /etc/passwd > usuarios.txt 

MOSTRANDO O ARQUIVO CRIADO USUARIO.TXT
edhonm@edhonm-STI:~$ cat usuarios.txt

root:/bin/bash
daemon:/usr/sbin/nologin
bin:/usr/sbin/nologin
sys:/usr/sbin/nologin


root@edson-desktop:/home/edson# cut -d: -f 1,7 /etc/passwd >usuario2.txt 
root:/bin/bash
usbmux:/bin/false
colord:/bin/false
hplip:/bin/false
lightdm:/bin/false
edson:/bin/bash




#cut -f 1,7 -d: --output-delimiter = /etc/passwd > /etc/usuarios.txt

Podemos também filtrar caracteres, desta forma:

#cut -c1-3 /etc/passwd > usuarios.txt

onde:

-c1-3 = Mostra os 3 primeiros caracteres.

Beleza  então para resolver nosso problema com o chefe temos que selecionar 
o nome o  salario  e as  horas trabalhadas.

O campo 3 e  4 para fazer o calculo e o primeiro para compor a saída.

Nome  +  3x4  > relatório.

Fácil né..

Outra dica .

Como pegar o  numero MAC de placa de rede.

Primeiro sabemos que o comando ifconfig nos mostra esses endereço,  segundo para usar o comando cut precisamos  conhecer os campos e suas posições.

 

eth1      Link encap:Ethernet  HWaddr 00:0f:ea:21:

Aplicamos um if config redirecionando para o arquivo if.txt.

root@edson # ifconfig > if.txt.

Agora exibimos o conteúdo com o cat.

root@edson-desktop:/home/edson# cat if.txt
eth0      Link encap:Ethernet  HWaddr 00:21:91:92:59:ad  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
                   RX bytes:0 (0.0 B)  TX bytes:
0ee:7c  
          inet addr:192.168.0.4  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20f:eaff:fe21:ee7c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:51507 errors:1 dropped:0 overruns:0 frame:1
          TX packets:39873 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6266531

O endereço que eu quero esta  na linha que começa com  eth1, então vou fintrar a buscar com

cat if.txt | grep eth1 
root@edson-desktop:/home/edson# cat if.txt | grep eth1 
eth1      Link encap:Ethernet  HWaddr 00:0f:ea:21:ee:7c  
root@edson-desktop:/home/edson# 

mas eu quero só os últimos 17 caracteres. Pra não ficar contando campos eu vou  usar o rev para inverter, poderia usar o comando tac.
root@edson-desktop:/home/edson# cat if.txt | grep eth1 | rev
  c7:ee:12:ae:f0:00 rddaWH  tenrehtE:pacne kniL      1hte
root@edson-desktop:/home/edson#

Bom !!! mas repare que no inicio apareceram dois espaços em brancos e terei que contá-los.
Vou então  filtrar os 19º primeiro caracteres e terei o endereço MAC da minha eth1.
Mas não esqueça ele esta invertido vamos corrigir. Colocando outro rev no fim. 

root@edson-desktop:/home/edson# cat if.txt | grep eth1 | rev | cut -c 1-19 | rev
00:0f:ea:21:ee:7c  
root@edson-desktop:/home

Legal né…..

quinta-feira, 17 de dezembro de 2015

Find comando do shell bash

O comando find:




O comando find é conhecido, principalmente na sua forma mais simples, e muito útil quando esquecemos o path de um arquivo, porém seu uso vai muito além de encontrar arquivos pelo nome.

Sintaxe

find [caminho ...] expressão [ação]
O comando find procura arquivos pelo nome e ou outras características.

Parâmetros

caminho
Caminhos de diretório a partir do qual irá procurar pelos arquivos;
expressão
Define quais critérios de pesquisa. Pode ser uma combinação entre vários tipos de procura;
ação
Define que ação executar com os arquivos que atender aos critérios de pesquisa definidos por expressão.
Os principais critérios de pesquisa definidos por expressão são:
  • -name nome Procura arquivos que tenham o nome especificado. Aqui podem ser usados meta caracteres ou caracteres curingas, porém estes caracteres deverão estar entre aspas, apóstrofos ou imediatamente precedidos por uma contrabarra (por enquanto fico devendo esta explicação porque isso será exaustivamente ensinado quando começarmos a programar);
  • -iname Idêntico à opção -name. Porém neste caso, ignora maiúsculas e minúsculas. Deve ser usada quando não sabemos se o nome do arquivo possui letras maiúsculas.
  • -user usuário Procura arquivos que tenham usuário como dono;
  • -group grupo Procura arquivos que tenham grupo como grupo dono;
  • -type X Procura por arquivos que tenham o tipo c, correspondente à letra do tipo do arquivo. Os tipos aceitos estão na tabela a seguir:
Valores de c
Tipo de arquivo procurado
b
Arquivo especial acessado a bloco
c
Arquivo especial acessado a caractere
d
Diretório
p
Named pipe (FIFO)
f
Arquivo normal
l
Link simbólico
s
Socket
  • -size ±n[bckw] Procura por arquivos que usam mais (+n) de n unidades de espaço ou a menos (-n) de n unidades de espaço.
Unidade
Valor
b
Bloco de 512 bytes (valor default)
c
Caracteres
k
Kilobytes (1024 bytes)
w
Palavras (2 bytes)
-atime ±d
Procura por arquivos que foram acessados há mais (+d) de d dias ou a menos (-d) de d dias;
-ctime ±d
Procura por arquivos cujo status mudou há mais (+d) de d dias ou a menos (-d) de d dias;
-mtime ±d
Procura por arquivos cujos dados foram modificados há mais (+d) de d dias ou a menos (-d) de d dias;






As principais ações definidas para ação são:
  • -print Esta opção faz com que os arquivos encontrados sejam exibidos na tela. Esta é a opção default no Linux. Nos outros sabores Unix que conheço, se nenhuma ação for especificada, ocorrerá um erro;
  • -exec cmd {} \; Executa o comando cmd. O escopo de comando é considerado encerrado quando um ponto e vírgula (;) é encontrado. A cadeia {} é substituída pelo nome de cada arquivo que satisfaz ao critério de pesquisa e a linha assim formada é executada. Assim como foi dito para a opção name, o ponto e vírgula (;) deve ser precedido por uma contrabarra, ou deve estar entre aspas ou apóstrofos;
  • -ok cmd {} \; O mesmo que o anterior porém pergunta se pode executar a instrução cmd sobre cada arquivo que atende ao critério de pesquisa;
  • -printf formato Permite que se escolha os campos que serão listados e formata a saída de acordo com o especificado em formato.

Exemplos;

edson@ed-net:~$ sudo find -name *.sh Exibição abreviada
[sudo] password for edson:
./Desktop/case1.sh
./Documents/first.sh
./Documents/first2.sh
./.config/google-chrome/Default/Extensions/blpebaehgfgkcmmjjknibibbjacnplim/1.4.7_0/images/cards/classic/x2/compress.sh
./.config/google-chrome/Default/Extensions/blpebaehgfgkcmmjjknibibbjacnplim/1.4.7_0/images/cards/classic_v1/compress.sh
./.config/libreoffice/4/user/uno_packages/cache/uno_packages/luygkcb2.tmp_/LanguageTool-3.1.oxt/org/languagetool/resource/es/makedict-es.sh
edson@ed-net#
Escolhendo arquivos pelo tamanho
Preciso abrir espaço em um determinado file system com muita urgência, então vou remover arquivos com mais de um megabyte e cujo último acesso foi há mais de 60 dias. Para isso, vou para este file system e faço:






Repare que no exemplo acima usei três critérios de pesquisa, a saber:
-type f
Todos os arquivos regulares (normais)
-size +1000000c
Tamanho maior do que 1000000 de caracteres (+1000000c)
-atime +60
Último acesso há mais de 60 (+60) dias.
Repare ainda que entre estes três critérios foi usado o conector e, isto é, arquivos regulares e maiores que 1MByte e sem acesso há mais de 60 dias.
Para listar todos os arquivos do disco terminados por .shou .txt, faria:
$ find / -name \*.sh print Procurando por arquivos com extenção .txt no Home do usuário edson. root@edson-net:/home/edson# find /home -name \*.txt /home/edson/estudo2.txt /home/edson/.cache/tracker/db-version.txt /home/edson/.cache/tracker/first-index.txt /home/edson/.cache/tracker/db-locale.txt



Neste exemplo devemos realçar as contrabarras (\) antes dos asteriscos (*),
Com o printf é possível formatar a saída do comando find e especificar os dados desejados. A formatação doprintf é muito semelhante à do mesmo comando na linguagem C e interpreta caracteres de formatação precedidos por um símbolo de percentual (%). Vejamos seus efeitos sobre a formatação:
Caractere
Significado
%f
Nome do arquivo (caminho completo não aparece)
%F
Indica a qual tipo de file system o arquivo pertence
%g
Grupo ao qual o arquivo pertence
%G
Grupo ao qual o arquivo pertence (GID- Numérico)
%h
Caminho completo do arquivo (tudo menos o nome)
%i
Número do inode do arquivo (em decimal)
%m
Permissão do arquivo (em octal)
%p
Nome do arquivo
%s
Tamanho do arquivo
%u
Nome de usuário (username) do dono do arquivo
%U
Número do usuário (UID) do dono do arquivo
Também é possível formatar datas e horas obedecendo às tabelas a seguir:
Caractere
Significado
%a
Data do último acesso
%c
Data de criação
%t
Data de alteração
Os três caracteres anteriores produzem uma data semelhante ao do comando date.
Veja um exemplo:
$ find . -name ".b*" -printf '%t %p\n' Mon Nov 29 11:18:51 2004 ./.bash_logout Tue Nov 1 09:44:16 2005 ./.bash_profile Tue Nov 1 09:45:28 2005 ./.bashrc Fri Dec 23 20:32:31 2005 ./.bash_history
Nesse exemplo, o %p foi o responsável por colocar os nomes dos arquivos. Caso fosse omitido, somente as datas seriam listadas.
Observe ainda que ao final foi colocado um /n. Sem ele não haveria salto de linha e a listagem anterior seria uma grande tripa.
Essas datas também podem ser formatadas, para isso basta passar as letras da tabela anterior para maiúsculas (%A,%C e %T) e usar um dos formatadores das duas tabelas a seguir:

Tabela de formatação de tempo

Caractere
Significado
H
Hora (00..23)
I
Hora (01..12)
k
Hora (0..23)
l
Hora (1..12)
M
Minuto (00..59)
p
AM or PM
r
Horário de 12 horas (hh:mm:ss) seguido de AM ou PM
S
Segundos (00 ... 61)
T
Horário de 24-horas (hh:mm:ss)
Z
Fuso horário (na Cidade Maravilhosa BRST)

Tabela de formatação de datas

Caractere
Significado
a
Dia da semana abreviado (Dom...Sab)
A
Dia da semana por extenso (Domingo...Sábado)
b
Nome do mês abreviado (Jan...Dez)
B
Dia do mês por extenso (Janeiro...Dezembro)
c
Data e hora completa (Fri Dec 23 15:21:41 2005)
d
Dia do mês (01...31)
D
Data no formato mm/dd/aa
h
Idêntico a b
j
Dia sequencial do ano (001366)
m
Mês (01...12)
U
Semana sequencial do ano. Domingo como 1º dia da semana (00...53)
w
Dia sequencial da semana (0..6)
W
Semana sequencial do ano. Segunda-feira como 1º dia da semana (00...53)
x
Representação da data no formato do país (definido por $LC_ALL)
y
Ano com 2 dígitos (00...99)
Y
Ano com 4 dígitos
Para melhorar a situação, vejamos uns exemplos; porém, vejamos primeiro quais são os arquivos do diretório corrente que começam por .b:
root@edson-net:/home/edson# ls -la .b* -rw 1 d276707 ssup 21419 Dec 26 17:35 .bash_history -rw-r--r-- 1 edson edson 3637 Nov 30 14:22 .bashrc -rw-r--r-- 1 edson edson 220 Nov 30 14:22 .bash_logout -rw------- 1 edson edson 10223 Dez 17 12:37 .bash_history -rw------- 1 edson edson 10223 Dez 17 12:37 .bash_history root@edson-net:/home/edson#
Para listar esses arquivos em ordem de tamanho, podemos fazer:
root@edson-net:/home/edson# find . -name ".b*" -printf '%s\t%p\n' | sort -n 220 ./.bash_logout 3637 ./.bashrc 10223 ./.bash_history root@edson-net:/home/edson#


Localizar arquivos utilizando o nome no diretório atual

Localizar todos os ficheiros cujo nome é tnt.txt no
diretório de trabalho atual.

# find . tnt.txt -name ./tnt.txt

Encontrar arquivos sob o Diretório Home.

Encontrar todos os arquivos sob o diretório /home com o nome tnt.txt.

# find /home
-name tnt.txt

Localizar arquivos usando o nome e ignorando a caixa

Encontrar todos os arquivos cujo nome é tnt.txt e contém letras maiúsculas e minúsculas no diretório / home.

# find /home tnt.txt -iname

./tnt.txt
./tnt.txt

4. Diretórios encontrar usando nome

Localizar todos os diretórios cujo nome é tnt in / diretório.

# find / -type d -name tnt

/ tnt

Localizar arquivos PHP usando o nome

Encontrar todos os arquivos php cujo nome é tnt.php em um diretório de trabalho atual.

# find
. -type f -name tnt.php

./tecmint.php

Encontrar todos os arquivos PHP no diretório

Encontrar todos os arquivos php em um diretório.

# find
. -tipo f -name "* .php"

./tnt.php
./login.php
./index.php

Localizar arquivos com base em suas permissões
localizar arquivos com permissões 777

Encontrar todos os arquivos cujas permissões são iguais a 777.

# find . -type f -print -perm 0777

Encontre arquivos sem 777 permissões

Encontrar todos os arquivos sem permissão 777.

# Find / -type f! -perm 777

Localizar SGID Arquivos com 644 permissões

Encontrar todos os arquivos bit SGID cujas permissões definido para 644.

# Find / -perm 2644

Procurar Arquivos pouco com 551 permissões

Encontrar todos os arquivos de conjunto de bits cuja permissão são 551.

# find / -perm 1551

encontrar arquivos SUID

Encontrar todos os arquivos do conjunto de SUID.

# find / -perm / u = s
encontrar arquivos SGID

Encontrar todos os arquivos do conjunto de SGID.

# find / -perm / g + s

Encontre Somente leitura Arquivos

Encontrar todos os arquivos somente leitura.

# find / -perm / u = r

encontrar arquivos executáveis

Encontrar todos os arquivos executáveis.
#
find / -perm / a = x

encontrar arquivos com 777 Permissões e Chmod para 644

Encontrar todos os arquivos de permissão 777 e use o comando chmod para definir as permissões para 644.

# find / -type f -print -perm 0777 -exec chmod 644 {} \;

Diretórios encontrar com 777 Permissões e Chmod para 755

Encontrar todos os 777 diretórios de permissão e use o comando chmod para definir as permissões para 755.

#find -perm 777 -exec chmod 755 {} \;


Encontrar e remover único arquivo

Para encontrar um único arquivo chamado tnt.txt e removê-lo.

# find
. -type f -name "tnt.txt" exec rm -f {} \;

Encontrar e remover Multiple Arquivo

Para localizar e remover vários arquivos, como .mp3 ou .txt, então use.

# encontrar . -type f -name "* .txt" exec rm -f {} \;

OU

# encontrar . -type f -name "* .mp3" exec rm -f {} \;

Encontre todos os arquivos vazios

Para registrar todos os arquivos vazios sob certo caminho.

# find / tmp -type f -empty

Encontre todos os diretórios vazios

Para registrar todos os diretórios vazios sob certo caminho.

# find / tmp do tipo d -empty

Arquivo todos os arquivos ocultos

Para localizar todos os arquivos ocultos, use o comando abaixo.

# ind / tmp -type f -name ". *"

Pesquisa arquivos com base em Proprietários e Grupos
Encontre único arquivo com base no usuário

Para localizar todos ou arquivo único chamado tnt.txt sob / diretório raiz de raiz proprietário.

# find / -user -name raiz tnt.txt
Encontre todos os arquivos com base no usuário

Para encontrar todos os arquivos que pertence ao usuário tnt no diretório / home.

# find / -user tnt casa

Encontre todos os arquivos com base em Grupo

Para encontrar todos os arquivos que pertence ao grupo desenvolvedor no diretório / home.

# Encontrar / home -group desenvolvedor

Procurar arquivos particulares de Usuário

Para localizar todos os arquivos .txt de usuário tnt no diretório / home.

# find / -user casa tnt -iname "* .txt"

Localizar arquivos e diretórios com base na data e hora
Encontre Últimos 50 Dias de modificação Arquivos

Para encontrar todos os arquivos que são modificados de 50 dias de volta.

# find / -mtime 50

Encontre Últimos 50 Dias Acessado Arquivos

Para encontrar todos os arquivos que são acessados de 50 dias de volta.

# find / -atime 50

Encontre Últimos Dias 50-100 Arquivos Modificados

Para encontrar todos os arquivos que são modificados mais de 50 dias de volta e menos de 100 dias.

# find / -mtime 50 -mtime -100

Procurar arquivos alterados na última 1 hora

Para encontrar todos os arquivos que são alterados no passado 1 hora.

# find / -cmin -60

30. Procurar arquivos modificados na última 1 hora

Para encontrar todos os arquivos que são modificados na última 1 hora.

# find / -mmin -60

Procurar arquivos acessados a última 1 hora

Para encontrar todos os arquivos que são acessados na última 1 hora.

# find / Amin -60

Parte V - Localizar arquivos e diretórios com base no tamanho
Encontrar arquivos de 66MB

Para localizar todos os arquivos de 66MB, use.

# find / 66M -size
find Tamanho entre 60MB - 140MB

Para encontrar todos os arquivos que são maiores do que 60MB e menos de 140MB.

#find / -size + 60M -size -140m

Localizar e Excluir Arquivos 100MB

Para localizar todos os arquivos de 100 MB e excluí-los usando um único comando.

#find / -size + 100M exec rm -rf {} \;

Encontre arquivos específicos e Excluir

Encontrar todos os arquivos .mp3 com mais de 10 MB e excluí-los usando um único comando.

#find / -type f -name * .mp3 -size + 10M rm -exec {} \;


Existem mutliplas possibiliddes deuso do comando find, e preciso pesquisar muito e praticar,particularmente estes e um comando muito usado e útil.