Copiar diretórios com caracteres especiais utilizando o INODE [RESOLVIDO]

1. Copiar diretórios com caracteres especiais utilizando o INODE [RESOLVIDO]

Manoel Ernando Santana de Almeida
manoelernando

(usa Red Hat)

Enviado em 25/04/2016 - 17:15h

Pesquisando na internet encontrei uma dica de comando, aqui mesmo do site em 2012, ensinando como se copia arquivos com caracteres especiais através do seu INODE utilizando o seguinte comando: find . -type f -inum INODE -exec cp -f {} /caminho/destino \; ensina até a criar um shell script para automatizar a tarefa. Utilizei o comando no CentOS e funcionou perfeitamente, mas o mesmo não copia os diretórios. Existe algum comando que posso utilizar para copiar diretórios através do seu INODE?


  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 25/04/2016 - 19:48h

manoelernando escreveu:

Pesquisando na internet encontrei uma dica de comando, aqui mesmo do site em 2012, ensinando como se copia arquivos com caracteres especiais através do seu INODE utilizando o seguinte comando: find . -type f -inum INODE -exec cp -f {} /caminho/destino \; ensina até a criar um shell script para automatizar a tarefa. Utilizei o comando no CentOS e funcionou perfeitamente, mas o mesmo não copia os diretórios. Existe algum comando que posso utilizar para copiar diretórios através do seu INODE?


Boa noite manoelernando.
O comando citado, vai copiar somente o que foi definido no find.
Que, no caso, é um arquivo normal "-type f" com o INODE informado.
find . -type f -inum INODE -exec cp -f {} /caminho/destino \; 


Para COPIAR DIRETóRIO, faça:
find . -type d -inum INODE_DIRETÓRIO -exec cp -R {} /caminho/destino \; 


PEGANDO INODE_DIRETÓRIOS:
ls -iRl|awk -F" " '$2~/d........./ {print $1}' 


O COMANDO ABAIXO, "pega" o INODE dos diretórios, faz a busca com o find, e copia o diretório.
for INODE in $(ls -iRl|awk -F" " '$2~/d........./ {print $1}');do
find . -type d -inum $INODE -exec cp -R {} /CAMINHO/DESTINO/ \;; done


É Isso...
Se a resposta for satisfatória, marque-a como a melhor . . .

Att.:
Marcelo

3. Re: Copiar diretórios com caracteres especiais utilizando o INODE [RESOLVIDO]

Ronaldo Ferreira de Lima
textmode

(usa Slackware)

Enviado em 25/04/2016 - 20:11h

Se for apenas copiar o diretório, não esqueça da opção '-r' do comando 'cp'. Se for para replicar uma estrutura de arquivos e diretórios, use o rsync.


4. Re: Copiar diretórios com caracteres especiais utilizando o INODE [RESOLVIDO]

Manoel Ernando Santana de Almeida
manoelernando

(usa Red Hat)

Enviado em 26/04/2016 - 11:50h

msoliver escreveu:
Boa noite manoelernando.
O comando citado, vai copiar somente o que foi definido no find.
Que, no caso, é um arquivo normal "-type f" com o INODE informado.
find . -type f -inum INODE -exec cp -f {} /caminho/destino \; 


Para COPIAR DIRETóRIO, faça:
find . -type d -inum INODE_DIRETÓRIO -exec cp -R {} /caminho/destino \; 


PEGANDO INODE_DIRETÓRIOS:
ls -iRl|awk -F" " '$2~/d........./ {print $1}' 


O COMANDO ABAIXO, "pega" o INODE dos diretórios, faz a busca com o find, e copia o diretório.
for INODE in $(ls -iRl|awk -F" " '$2~/d........./ {print $1}');do
find . -type d -inum $INODE -exec cp -R {} /CAMINHO/DESTINO/ \;; done


É Isso...
Se a resposta for satisfatória, marque-a como a melhor . . .

Att.:
Marcelo


Muito obrigado Marcelo, funcionou direitinho!



5. Re: Copiar diretórios com caracteres especiais utilizando o INODE [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 26/04/2016 - 16:08h

manoelernando escreveu:
Muito obrigado Marcelo, funcionou direitinho!


Por nada.
Somente para melhorar a "aparência".
for INODE in $(ls -iRl|awk -F" " '$2~/d.{9}/ {print $1}');do
find . -type d -inum $INODE -exec cp -R {} /CAMINHO/DESTINO/ \;; done


att.:
Marcelo







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts