¿Cuál es la diferencia entre los siguientes 2 comandos?
cp -rp /dir1/*.* /dir2/
cp -rp /dir1/* /dir2/
En resumen,
—
Baard Kopperud
*.*
es la forma MS-DOS / Windows de hacerlo, mientras que *
es la forma UNIX / Linux. En el sufijo Unix (finalización de archivo, la parte después de .
- like .txt
or .jpg
) es opcional ... En MS-DOS .
se requería el (punto) y el sufijo, por lo que para que coincida con todos los archivos, se usa uno *.*
, mientras que para que coincida con todos los archivos de texto , uno lo usaría *.txt
.
No se requirió el sufijo @BaardKopperud, podría haber archivos con nombre como
—
Ruslan
FILENAME
o incluso FILE
.
@Ruslan pero
—
Jonathan Cast
*.*
en DOS todavía coincide con los archivos nombrados FILENAME
o FILE
, porque el nombre es 'realmente' FILENAME.
o FILE.
(con una extensión vacía). En Unix, el nombre es "realmente" FILENAME
o FILE
, por *.*
lo que no coincidirá.
@Ruslan Se requería en DOS real, ya no se requiere en Windows. En los viejos tiempos , un solo
—
Random832
*
solo coincidiría FILE
, y no FILE.TXT
.
.
like.bashrc
) no se copian con ninguno de esos comandos. Para copiar esos archivos, debe indicar explícitamente que con.*
eso, para copiar todos los archivos (incluidos los ocultos), el comando seríacp -rp /dir1/.* /dir1/* /dir2/