GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo mover todos los archivos, incluidos los archivos ocultos, al directorio principal a través de *

Creo que este es el más elegante, ya que tampoco intenta mover .. :

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

Puede encontrar un conjunto completo de soluciones al respecto en la respuesta de UNIX y Linux a ¿Cómo se mueven todos los archivos (incluidos los ocultos) de un directorio a otro? Muestra soluciones en Bash, zsh, ksh93, estándar (POSIX) sh, etc.

Puede usar estos dos comandos juntos:

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

O todos juntos (gracias pfnuesel):

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

Que se expande a:

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

(ejemplo:echo a{.,}b se expande a a.b ab )

Tenga en cuenta que esto mostrará un par de advertencias:

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

Simplemente ignóralos:esto sucede porque /path/subfolder/{.,}* también se expande a /path/subfolder/. y /path/subfolder/.. , que son el directorio y el directorio principal (consulte ¿Qué significan "." y ".." cuando están en una carpeta?).

Si solo desea copiar, puede usar un mero:

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

Esto copiará todos los archivos, tanto los normales como los ocultos, desde /path/subfolder/. se expande a "todo desde este directorio" (Fuente:¿Cómo copiar con cp para incluir archivos ocultos y directorios ocultos y sus contenidos?)


Esto moverá todos los archivos al directorio principal como se esperaba, pero no moverá los archivos ocultos. ¿Cómo hacer eso?

Podrías activar dotglob :

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

Para apagar dotglob , tendrías que decir:

shopt -u dotglob

Linux
  1. ¿Cómo eliminar todos los archivos con una extensión particular en una carpeta particular?

  2. ¿Cómo mover todos los archivos fuente de Java a su directorio de paquetes respectivo?

  3. ¿Cómo mover (y sobrescribir) todos los archivos de un directorio a otro?

  4. ¿Cómo encontrar todos los archivos con un directorio principal en particular en Linux?

  5. ¿Cómo mover todos los archivos del directorio actual al directorio superior?

¿Cómo usar el comando 'mv' para mover archivos excepto aquellos en un directorio específico?

Cómo cambiar todas las apariciones de una palabra en todos los archivos de un directorio

¿Cómo enumerar el tamaño del directorio de todos los directorios secundarios?

¿Cómo muevo archivos y directorios a la carpeta principal en Linux?

¿Cómo chown/chmod todos los archivos en el directorio actual?

Cómo encontrar todos los archivos de cero bytes en el directorio