تک دیک

واژه نامه و مجله آموزشی کامپیوتر و فناوری

خط فرمان لینوکس – کپی فایل و دایرکتوری با دستور 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) قابل دسترسی است. (فهرست مطالب کتاب خط فرمان لینوکس).

امیرحسین شهسواری

عاشق دنیای رایانه و فناوری به خصوص برنامه نویسی هستم؛ یادگرفتن و البته یاد دادن چیزای جالبی که یاد گرفتم باعث خوشحالیم میشه و از اولویت‌های اصلی زندگیم به حساب میاد. از مدیریت و نوشتن در تک دیک هم واقعا لذت می‌برم :)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *