خط فرمان لینوکس – کپی فایل و دایرکتوری با دستور cp
cp – کپی فایل ها و دایرکتوری ها
دستور cp فایل ها یا دایرکتوری ها را کپی میکند. میتوان از آن به دو روش مختلف استفاده کرد. حالت:
cp item1 item2
فایل یا دایرکتوری واحد item1 را در فایل یا دایرکتوری item2 کپی میکند و حالت:
cp item... directory
چندین آیتم (فایل یا دایرکتوری) را در یک دایرکتوری کپی میکند.
آپشن ها و مثال های مفید
جدول 4-4 برخی از آپشن ها یا گزینه های متداول برای (دستور) cp را فهرست میکند.
جدول 4-4: آپشن های cp
آپشن | آپشن طولانی | معنی |
---|---|---|
-a |
--archive |
فایلها و دایرکتوریها و تمام ویژگیهای آنها، از جمله مالکیتها و مجوزها را کپی میکند. در حالت عادی، کپیها ویژگیهای پیشفرض کاربری را اخذ میکنند که کپی را انجام میدهد. ما در فصل 9 “مجوزها” نگاهی به مجوزهای فایل خواهیم داشت. |
-i |
--interactive |
پیش از بازنویسی (یا اوررایت کردن) یک فایل موجود، از کاربر میخواهد (این بازنویسی را) تأیید کند. اگر این آپشن مشخص نشده باشد، cp به صورت بیصدا (یعنی هیچ هشداری وجود نخواهد داشت) فایل ها را بازنویسی میکند. |
-r |
--recursive |
به صورت بازگشتی دایرکتوری ها و محتویات آنها را کپی میکند. این آپشن (یا آپشن -a ) هنگام کپی کردن دایرکتوری ها ضروری است. |
-u |
--update |
هنگام کپی کردن فایل ها از یک دایرکتوری به دایرکتوری دیگر، صرفا فایل هایی را (در دایرکتوری مقصد) کپی میکند که یا وجود ندارند یا جدیدتر از فایل های متناظر موجود در دایرکتوری مقصد هستند. این (آپشن) هنگام کپی کردن تعداد زیادی فایل مفید است زیرا از روی فایل هایی که نیازی به کپی ندارند عبور میکند. |
-v |
--verbose |
پیام هایی حاوی اطلاعات مفید را هنگام کپی نمایش میدهد. |
جدول 4-5: مثال های cp
دستور | نتیجه |
---|---|
cp file1 file2 |
file1 را روی file2 کپی میکند. اگر file2 وجود داشته باشد، با محتویات file1 بازنویسی میشود. اگر file2 وجود نداشته باشد، ایجاد میشود. |
cp -i file1 file2 |
همانند دستور قبلی، با این تفاوت که اگر file2 وجود داشته باشد، پیش از بازنویسی از کاربر پرسیده میشود. |
cp file1 file2 dir1 |
file1 و file2 را در دایرکتوری dir1 کپی میکند. دایرکتوری dir1 باید در حال حاضر وجود داشته باشد. |
cp dir1/* dir2 |
با استفاده از یک وایلدکارد، تمام فایل های dir1 را در dir2 کپی میکند. دایرکتوری dir2 باید در حال حاضر وجود داشته باشد. |
cp -r dir1 dir2 |
محتویات دایرکتوری dir1 را در دایرکتوری dir2 کپی میکند. اگر دایرکتوری dir2 وجود نداشته باشد، ایجاد میشود و پس از کپی، حاوی همان محتویات دایرکتوری dir1 خواهد بود. اگر دایرکتوری dir2 وجود داشته باشد، دایرکتوری dir1 (و محتویات آن) در dir2 کپی میشود. |
متن بالا بخشی از ترجمه کتاب The Linux Command Line (به فارسی: خط فرمان لینوکس) نوشته William Shotts است که نسخه اصلی آن از طریق وبسایت رسمی کتاب (https://linuxcommand.org) قابل دسترسی است. (فهرست مطالب کتاب خط فرمان لینوکس).