Sự khác biệt giữa 2 lệnh sau là gì?
cp -rp /dir1/*.* /dir2/
cp -rp /dir1/* /dir2/
Nói tóm lại,
—
Baard Kopperud
*.*
là cách làm của MS-DOS / Windows, trong khi đó *
là cách UNIX / Linux. Trong hậu tố Unix (kết thúc tệp, phần sau .
- giống .txt
hoặc .jpg
) là tùy chọn ... Trong MS-DOS .
, bắt buộc (dấu chấm) và hậu tố, do đó, để khớp với tất cả các tệp, một tệp được sử dụng *.*
- trong khi khớp với tất cả các tệp văn bản , người ta sẽ sử dụng *.txt
.
Hậu tố @BaardKopperud không bắt buộc, có thể có các tệp có tên như
—
Ruslan
FILENAME
hoặc thậm chí FILE
.
@Ruslan nhưng
—
Jonathan Cast
*.*
trong DOS vẫn khớp với các tệp có tên FILENAME
hoặc FILE
, vì tên đó là 'thực sự' FILENAME.
hoặc FILE.
(với phần mở rộng trống). Trong Unix, tên là 'thực sự' FILENAME
hoặc FILE
, vì vậy *.*
sẽ không khớp.
@Ruslan Nó được yêu cầu trên DOS thực tế, không bắt buộc nữa trên windows. Quay lại thời xưa , một người duy nhất
—
Random832
*
sẽ chỉ phù hợp FILE
, và không FILE.TXT
.
.
like.bashrc
) không được sao chép với bất kỳ lệnh nào trong số đó. Để sao chép các tệp đó, bạn nên chỉ rõ một cách rõ ràng rằng với điều.*
đó, để sao chép tất cả các tệp (bao gồm cả các tệp bị ẩn), lệnh sẽ làcp -rp /dir1/.* /dir1/* /dir2/