GNU/Linux >> Linux Esercitazione >  >> Linux

Come faccio a copiare un file chiamato che inizia con un punto?

Il motivo è perché in bash , * non include i file che iniziano con il punto (. ).

Puoi correre

cp A/.* B

Ti avviserà che non ha copiato . o .. , o qualsiasi sottodirectory, ma va bene.

Oppure, se vuoi copiare file punto e file normali insieme, esegui

cp A/.* A/* B

Potresti anche correre

shopt -s dotglob
cp A/* B

che funzionerà in bash , ma non sh .

E se non ti dispiace che vengano copiate anche le sottodirectory, allora questa è la più semplice:

cp -R A/ B

Suggerimento:se mai i caratteri jolly non fanno ciò che ti aspetti, prova a eseguirlo con echo, ad es.

$ echo A/*
A/file1 A/file2

$ echo A/.*
A/. A/.. A/.hidden1 A/.hidden2

$ echo A/.* A/*
A/. A/.. A/.hidden1 A/.hidden2 A/file1 A/file2

$ shopt -s dotglob
$ echo A/*
A/file1 A/file2 A/.hidden1 A/.hidden2

Se bash, puoi impostare dotglob prima di copiare

shopt -s dotglob
cp A/* /destination

O un linguaggio di programmazione

$ ruby -rfileutils -e  'Dir[".*"].each {|x| FileUtils.copy(x,"/destination") if File.file?x}'

Se non vuoi impostare dotglob, basta

cp A/.* /destination 2>/dev/null

Quello che stai cercando è più simile a:

cp A/.??* B/

Questo corrisponderà a tutti i dotfile, ma non a "." o "..". La maggior parte delle soluzioni di cui sopra va bene finché non lavori in modo ricorsivo. Ma non appena vuoi fare qualcosa del tipo:

cp -R A/.??* B/

Senza omettere ".." copierai tutto dalla directory principale in giù, inclusi i file non dot.


Linux
  1. Come aprire il file .8 con Man?

  2. Come creare un file con una determinata dimensione in Linux?

  3. Come scrivere un file con C in Linux?

  4. Come riempire un file con FF usando dd?

  5. Come copiare file e sottodirectory nascosti (che iniziano con un punto) in Linux?

Come utilizzare il comando Linux rm con esempi

Come correggere l'errore di conversione con Calibre

Come copiare un file con un comando in più directory su Linux

Come copiare file con estensione di file specifica in modo ricorsivo

Come affrontare i nomi dei file con gli spazi in Linux

Come copiare un file in File Manager