Qual é a diferença entre os 2 comandos a seguir?
cp -rp /dir1/*.* /dir2/
cp -rp /dir1/* /dir2/
Em resumo,
—
Baard Kopperud
*.*
é a maneira do MS-DOS / Windows de fazê-lo, enquanto *
é a maneira do UNIX / Linux. No sufixo Unix (final de arquivo, a parte após .
- como .txt
ou .jpg
) é opcional ... No MS-DOS, o .
(ponto) e o sufixo eram necessários, para corresponder a todos os arquivos, um usado *.*
- enquanto correspondia a todos os arquivos de texto , um usaria *.txt
.
O sufixo @BaardKopperud não era necessário, poderia haver arquivos com nome como
—
Ruslan
FILENAME
ou mesmo FILE
.
@Ruslan, mas
—
Jonathan Cast
*.*
no DOS ainda corresponde aos arquivos nomeados FILENAME
ou FILE
, porque o nome é 'realmente' FILENAME.
ou FILE.
(com uma extensão vazia). No Unix, o nome é 'realmente' FILENAME
ou FILE
, portanto *.*
, não corresponde.
@Ruslan Era necessário no DOS real, não era mais necessário no Windows. De volta aos velhos tempos , uma única
—
usar o seguinte comando
*
só iria corresponder FILE
, e não FILE.TXT
.
.
like.bashrc
) não são copiados com nenhum desses comandos. Para copiar os arquivos que você explicitamente deve indicar que, com.*
isso, para copiar todos os arquivos (incluindo as ocultas) o comando seriacp -rp /dir1/.* /dir1/* /dir2/