В чем разница между следующими 2 командами?
cp -rp /dir1/*.* /dir2/
cp -rp /dir1/* /dir2/
Короче говоря,
—
Баард Копперуд
*.*
это способ MS-DOS / Windows, а способ *
UNIX / Linux. В Unix суффикс (окончание файла, часть после .
- как .txt
или .jpg
) необязателен ... В MS-DOS .
(точка) и суффикс требовались, поэтому для сопоставления всех файлов использовался один, *.*
а для сопоставления всех текстовых файлов. один будет использовать *.txt
.
Суффикс @BaardKopperud не требуется, могут быть файлы с такими именами, как
—
Руслан
FILENAME
или даже FILE
.
@Ruslan, но
—
Джонатан Каст
*.*
в DOS по-прежнему соответствует файлам с именем FILENAME
или FILE
, потому что имя «реально» FILENAME.
или FILE.
(с пустым расширением). В Unix, имя «действительно» FILENAME
или FILE
, так *.*
не будет соответствовать.
@Ruslan Это было необходимо для реального DOS, больше не требуется для Windows. В былые времена сингл
—
Random832,
*
только соответствовал FILE
, а не совпадал FILE.TXT
.
.
лайка.bashrc
) не копируются ни одной из этих команд. Чтобы скопировать эти файлы, вы должны явно указать, что для.*
того, чтобы скопировать все файлы (включая скрытые), команда будетcp -rp /dir1/.* /dir1/* /dir2/