GNU/Linux >> Linux Esercitazione >  >> Linux

Come spostare tutti i file inclusi i file nascosti nella directory principale tramite *

Penso che questo sia il più elegante, in quanto non prova nemmeno a spostare .. :

mv /source/path/{.[!.],}* /destination/path

Puoi trovare una serie completa di soluzioni al riguardo nella risposta di UNIX e Linux a Come si spostano tutti i file (inclusi quelli nascosti) da una directory all'altra?. Mostra le soluzioni in Bash, zsh, ksh93, standard (POSIX) sh, ecc.

Puoi usare questi due comandi insieme:

mv /path/subfolder/* /path/   # your current approach
mv /path/subfolder/.* /path/  # this one for hidden files

O tutti insieme (grazie pfnuesel):

mv /path/subfolder/{.,}* /path/

Che si espande in:

mv /path/subfolder/* /path/subfolder/.* /path/

(esempio:echo a{.,}b si espande in a.b ab )

Nota che questo mostrerà un paio di avvertimenti:

mv: cannot move ‘/path/subfolder/.’ to /path/.’: Device or resource busy
mv: cannot remove /path/subfolder/..’: Is a directory

Ignorali semplicemente:questo accade perché /path/subfolder/{.,}* si espande anche a /path/subfolder/. e /path/subfolder/.. , che sono la directory e la directory padre (Vedi Cosa significano "." e ".." quando si trovano in una cartella?).

Se vuoi solo copiare, puoi usare un semplice:

cp -r /path/subfolder/. /path/
#                     ^
#                     note the dot!

Questo copierà tutti i file, sia normali che nascosti, dal /path/subfolder/. si espande in "tutto da questa directory" (Fonte:come copiare con cp per includere i file nascosti e le directory nascoste e il loro contenuto?)


Questo sposterà tutti i file nella directory principale come previsto ma non sposterà i file nascosti. Come si fa?

Potresti attivare dotglob :

shopt -s dotglob               # This would cause mv below to match hidden files
mv /path/subfolder/* /path/

Per disattivare dotglob , dovresti dire:

shopt -u dotglob

Linux
  1. Come eliminare tutti i file con un'estensione particolare in una cartella particolare?

  2. Come trovare tutti i file con una particolare directory principale in Linux?

  3. Come spostare tutti i file dalla directory corrente alla directory superiore?

  4. Come chown/chmod tutti i file nella directory corrente?

  5. Come eliminare tutti i file in una directory tranne alcuni?

Come spostare (e sovrascrivere) tutti i file da una directory all'altra?

Come modificare tutte le occorrenze di una parola in tutti i file in una directory

Come elencare le dimensioni della directory di tutte le directory figlio?

Come posso spostare file e directory nella cartella principale in Linux?

Come posso copiare in modo ricorsivo tutti i file pdf in una directory (e le sue sottodirectory) in un'unica directory di output?

Come trovare tutti i file a zero byte nella directory