نحوه کپی کردن فایل ها در لینوکس
چند راه مختلف برای کپی و جایگذاری محتوا در هنگام کار بر روی رایانه وجود دارد.
اگر زمان بیشتری را در رابط کاربری دستگاه خود صرف کنید، احتمالاً از ماوس خود برای این کار استفاده خواهید کرد. میتوانید با کلیک راست روی فایل و انتخاب «Copy»، فایلها را کپی کنید، سپس به فهرست دیگری بروید و «Paste» را انتخاب کنید.
برای دوستان ترمینال من، شما همچنین می توانید عملیات کپی پیست فایل را بدون خروج از ترمینال انجام دهید. در یک ترمینال مبتنی بر لینوکس، این کار را با استفاده از دستورcp
انجام می دهید.
در این مقاله، دستورcp
را توضیح می دهم و به شما نشان می دهم که چگونه فایل ها و دایرکتوری ها را در لینوکس با استفاده از ترمینال کپی و جایگذاری کنید.
فرمان cp چیست؟
شما از دستور cp
برای کپی فایل ها از یک مکان به مکان دیگر استفاده می کنید. این دستور همچنین می تواند دایرکتوری ها (پوشه ها) را کپی کند.
سینتکس این دستور به صورت زیر است:
cp […file/directory-sources] [destination]
[file/directory-sources]
منابع فایل ها یا دایرکتوری هایی را که می خواهید کپی کنید مشخص می کند. و [destination]
آرگومان مکانی را که می خواهید فایل را در آن کپی کنید مشخص می کند.
برای درک بقیه این مقاله، از این مثال ساختار پوشه استفاده می کنم. فرض کنید دایرکتوری به نام DirectoryA دارای دو دایرکتوری است: DirectoryA_1 و DirectoryA_2 . این زیر شاخه ها دارای فایل ها و دایرکتوری های فرعی زیادی هستند.
من همچنین فرض می کنم که شما در حال حاضر در مکان DirectoryA در ترمینال هستید، بنابراین اگر نیستید، مطمئن شوید که:
cd DirectoryA
نحوه کپی کردن فایل ها با دستور cp
اگر می خواهید یک فایل را کپی کنید، بگویید README.txt از DirectoryA_1 به DirectoryA_2cp
، از دستور زیر استفاده می کنید :
cp ./DirectoryA_1/README.txt ./DirectoryA_2
# ./DirectoryA_1/README.txt is the source file
# ./DirectoryA_2 is the destination
اگر می خواهید بیش از یک فایل را از DirectoryA_1 در DirectoryA_2cp
کپی کنید، از دستور زیر استفاده می کنید :
cp ./DirectoryA_1/README.txt ./DirectoryA_1/ANOTHER_FILE.txt ./DirectoryA_2
همانطور که می بینید، تمام فایل های منبع را در ابتدا قرار می دهید و آخرین آرگومان مقصد خواهد بود.
نحوه کپی کردن دایرکتوری ها با دستور cp
به طور پیش فرض،دستور cp
با فایل ها کار می کند. بنابراین اگر سعی کنید یک دایرکتوری مانند این را کپی کنید:
cp ./DirectoryA_1/Folder/ ./DirectoryA_2
با خطای زیر مواجه خواهید شد:
./DirectoryA_1/Folder/ یک دایرکتوری است
برای کپی کردن دایرکتوری ها، باید -r
پرچم را پاس کنید. این پرچم cp
فرمان را برای کپی بازگشتی یک دایرکتوری و محتویات آن (که می تواند فایل ها یا سایر دایرکتوری های فرعی باشد) اطلاع می دهد. بنابراین برای دستور قبلی، می توانید پرچم را قبل از منابع دایرکتوری مانند زیر اضافه کنید:
cp -r ./DirectoryA_1/Folder/ ./DirectoryA_2
این دستور به صورت بازگشتی دایرکتوری Folder را در ./DirectoryA_1/ و همچنین تمام فایل ها و دایرکتوری های موجود در پوشه پوشه را کپی می کند .
نحوه کپی کردن فایل هایی که با الگوی glob مطابقت دارند
الگوی glob مشابه Regex است که به شما امکان می دهد چندین فایل را با نام هایی مطابقت دهید که با یک الگوی خاص مطابقت دارند. در اینجا درباره تفاوت بیشتر بدانید: الگوهای Regex در مقابل Glob .
به عنوان مثال، اگر می خواهید تمام فایل های DirectoryA_1 را با پسوند txt کپی کنید ، می توانید این دستور را اجرا کنید:
cp ./DirectoryA_1/*.txt ./DirectoryA_2
./DirectoryA_1/*.txt
فایلها را با پسوند .txt
در نامشان مطابقت میدهد و دستور cp
میتواند همه آن فایلها را به مقصد کپی کند.
برای کسب اطلاعات بیشتر در مورد الگوهای globbing و کاراکترهایی که می توانید استفاده کنید، می توانید اسناد glob را بررسی کنید .
اکنون می دانید که چگونه فایل ها (و دایرکتوری ها) را مستقیماً از خط فرمان کپی کنید. با تشکر برای خواندن