ดีที่อูบุนตูcpมีคุณสมบัตินี้ แต่ถ้าคุณควรจะพบว่าตัวเองอยู่ในเครื่องที่ไม่ได้เป็น (BSD สไตล์cpไม่เช่นดังนั้น OS X ไม่ได้อย่างใดอย่างหนึ่ง) findก็ง่ายมากที่จะทำอย่างไรกับ นี่มันเป็นสองซับ (สำหรับการอ่าน):
% cd original_dir
% find . -type d -exec mkdir -p ../copy_dir/{} \;
% find . -type f -exec touch ../copy_dir/{} \;
หากcopy_dirมีอยู่แล้วคุณสามารถข้าม-pข้อโต้แย้งไปได้mkdirเนื่องจากfindจะข้ามแผนผังไดเรกทอรีจากบนลงล่าง สำหรับงานที่มีขนาดใหญ่คุณสามารถลบมิลลิวินาทีอื่นออกได้โดยการยกเลิกคำสั่งด้วย+แทนที่จะเป็น\;ถ้าคุณfindรองรับมัน (อาจเป็นไปได้)
แก้ไข:คำสั่งด้านบนถูกละเลยเพื่อจัดการลิงก์สัญลักษณ์ซึ่งสามารถคัดลอกได้ด้วยการรันครั้งที่สามของfind( อย่ายกเลิกอันนี้ด้วย+)
% find . -type l -exec cp -R {} ../copy_dir/{} \;