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 .txthoặ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
FILENAMEhoặ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 FILENAMEhoặ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ự' FILENAMEhoặ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/