یادگیری یونیکس پوسته، همچنین به عنوان شناخته شده است رابط خط فرمان (CLI) یا پایانه، برای دانشمندان داده مفید است زیرا امکان دستکاری و اتوماسیون کارآمد داده ها را فراهم می کند و کارهایی مانند تمیز کردن، پیش پردازش و خودکارسازی گردش کار را ممکن می کند.
پوسته دسترسی به داده ها، مدیریت و سازماندهی فایل ها را تسهیل می کند و مدیریت و ادغام مجموعه داده ها را آسان تر می کند. هرچه در علم داده پیشرفت بیشتری داشته باشید، بیشتر از پوسته استفاده خواهید کرد.
این آموزش نحوه استفاده از Shell for Data Science را به شما نشان می دهد.
پوسته چیست
پوسته یا پوسته خط فرمان، برنامه ای است که دستورالعمل های تایپ شده توسط کاربر را گرفته و به سیستم عامل منتقل می کند مانند ویندوز، سیستم عامل مک و لینوکس.
این پوسته قبل از اینکه سیستمعاملها کاوشگر فایلهای گرافیکی را برای دموکراتیک کردن دسترسی کاربران به رایانههای خانگی وارد کنند، شروع به کار کرد. امروزه، کامپیوتر خود را باز می کنید و از ماوس خود برای پیمایش در میان برنامه ها و دایرکتوری ها استفاده می کنید. در آن زمان فقط پوسته خط فرمان برای اجرای برنامه ها وجود داشت.
با این حال، هنوز هم امروزه، این پوسته در زندگی روزمره برنامه نویسان، مهندسان و دانشمندان داده به عنوان ابزار اصلی برای کار آنها استفاده می شود.
پوسته در ویندوز خط فرمان و در سیستم عامل مک، ترمینال نامیده می شود. من در طول این آموزش از خط فرمان، ترمینال و پوسته به جای یکدیگر استفاده خواهم کرد.
چرا از Shell در Data Science استفاده کنیم؟
این پوسته برای مدیریت و دستکاری مجموعه دادههای بزرگ کارآمدتر است و ابزارهای علم داده بسیاری را ارائه میکند تا این امکان را برای دانشمندان داده که با حجم دادهای که انجام میدهند، سروکار داشته باشند.
پوسته چگونه کار می کند
خط فرمان (پوسته)، دارای یک سیستم فایل است که فایل ها و دایرکتوری ها را مدیریت می کند. هر فایل یا دایرکتوری یک مسیر مطلق از دایرکتوری ریشه سیستم فایل دارد.
بنابراین، فایلی که در دایرکتوری ریشه قرار دارد به نظر می رسد /filename.txt
. هر پوشه (یا دایرکتوری) با یک اسلش (/
). به عنوان مثال، اگر فایل در داخل یک پوشه قرار دارد، مسیر چیزی شبیه به آن خواهد بود /Users/jchouinard/filename.txt
.
مسیرهای نسبی در مقابل مسیرهای مطلق
مسیر مطلق در پوسته مسیری است که از ریشه سیستم فایل شروع می شود. مسیر نسبی مسیری است که از جایی که شما در حال حاضر در پوسته هستید شروع می شود.
به عنوان مثال، اگر شما در حال جستجو برای /project
دایرکتوری و شما در داخل /Documents
دایرکتوری، مسیر مطلق و نسبی متفاوت خواهد بود.
$ /users/Documents/project # Absolute path
$ /project # Relative path
درک این مفهوم هنگام کار با دایرکتوری ها مفید خواهد بود.
دلار ($) یا درصد (%) چقدر است به سیستم وارد شوید
در بسیاری از آموزش ها، علامت دلار ($
، یا علامت درصد (%) در خطوطی که در نظر گرفته شده است دستوری باشد که شامل خط فرمان می شود.
$ pwd
# or
% pwd
این برای تقلید از آنچه در ترمینال می بینید در نظر گرفته شده است.
مشکل این است که شما نمی خواهید این علامت را در پوسته خود کپی و پیست کنید وگرنه اکنون کار می کند
فقط مطمئن شوید که این علامت را هنگام کپی و چسباندن کد از این آموزش به پوسته حذف کنید.
در این بخش، با استفاده از این سه دستور پوسته، پیمایش در پوسته را یاد خواهیم گرفت:
چگونه می توان فهرست کاری فعلی را در Command-line Shell پیدا کرد
اولین دستوری که می توانید برای پیمایش پوسته استفاده کنید دستور است pwd
فرمان، کوتاه برای چاپ فهرست کار.
را pwd
دستور مسیر مطلق دایرکتوری فعلی را نشان می دهد.
$ pwd
نحوه فهرست کردن فایل ها در Command-line Shell
برای فهرست کردن فایل ها و دایرکتوری هایی که در دایرکتوری کاری فعلی شما (cwd) در پوسته ترمینال قرار دارند، از ls
دستور shell، مختصر فهرست کردن.
نحوه فهرست کردن فایل ها در فهرست کاری فعلی
دستور ls محتویات دایرکتوری فعلی را فهرست می کند.
$ ls
توجه داشته باشید که نماد تک نقطه (.
) همیشه به معنی دایرکتوری فعلی است. بنابراین، انجام دادن ls .
همان انجام دادن ساده است ls
.
$ ls .
نحوه فهرست کردن فایل ها در یک فهرست خاص
برای فهرست کردن فایلها در داخل یک فهرست خاص با استفاده از ترمینال (یا خط فرمان)، از دستور ls استفاده کنید و مکان دایرکتوری را اضافه کنید.
$ ls path/to/directory
نحوه فهرست کردن فایلها در دایرکتوری که دارای فاصله در t است
برای فهرست کردن فایل ها در داخل دایرکتوری که دارای فاصله در نام است، از بک اسلش (\
) برای فرار از فضای خالی.
$ ls Documents/my\ projects
نحوه جابجایی دایرکتوری ها در Command-line Shell
برای حرکت در دایرکتوری ها در پوسته خط فرمان، از cd
دستور، مخفف دایرکتوری تغییر، همراه با مکانی که میخواهید به آنجا بروید.
نحوه انتقال به یک دایرکتوری خاص در خط فرمان
برای انتقال به یک دایرکتوری خاص در پوسته ترمینال، از cd
دستور همراه با مسیر نسبی یا مطلقی که می خواهید به آنجا بروید.
$ cd path/to/directory
نحوه انتقال دایرکتوری به بالا در خط فرمان
دو راه برای رفتن به دایرکتوری والد در پوسته وجود دارد: استفاده از cd
فرمان همراه با مسیر مطلق یا دو نقطه ..
نشانه گذاری. علامت .. در پوسته به معنای دایرکتوری بالای دایرکتوری فعلی است.
$ cd ..
چگونه چندین دایرکتوری را در خط فرمان به سمت بالا حرکت دهیم
برای بالا بردن چندین دایرکتوری در پوسته، از cd
فرمان همراه با ../..
نشانه گذاری با هر دو نقطه اسلش رو به جلو یک دایرکتوری به سمت بالا حرکت می کند.
دو دایرکتوری را در Shell به بالا ببرید
$ cd ../..
سه دایرکتوری را در Shell به بالا ببرید
$ cd ../../..
نحوه انتقال به فهرست خانه در پوسته
برای انتقال به فهرست اصلی در پوسته خط فرمان، از cd
دستور با کاراکتر tilde (~
).
$ cd ~
نحوه دستکاری فایل ها و دایرکتوری ها در پوسته
پوسته دستوراتی را برای پیمایش در میان فایل ها و دایرکتوری ها ارائه می دهد. شما می توانید به طور موثر فایل ها را مدیریت و دستکاری کنید، داده ها را استخراج کنید و مجموعه داده ها را با دستورات ساده در Shell ادغام کنید.
نحوه کپی کردن فایل ها در پوسته
برای کپی فایل ها در پوسته خط فرمان، از cp
دستور، مخفف کپی، و مسیر فایل اصلی و نام فایل و مسیری که فایل را در آن کپی کنید، ارائه دهید.
$ cp original.txt destination.txt
نحوه کپی کردن فایل ها در یک مکان مختلف در خط فرمان
برای کپی کردن فایل ها از یک مکان به مکان دیگر در پوسته خط فرمان، از cp
دستور، کوتاه شده برای کپی، و ارائه فایل اصلی و مسیری که فایل را در آن کپی کنید.
$ cp path/from/file.txt path/to/copied_file.txt
چگونه چندین فایل را در یک مکان جدید در خط فرمان کپی کنیم
برای کپی کردن چندین فایل از یک مکان به دایرکتوری دیگر در پوسته خط فرمان، از cp
دستور دهید، مسیر را اضافه کنید، و از براکت های فرفری استفاده کنید ({}
) برای فهرست کردن نام فایل هایی که باید کپی شوند.
$ cp /home/{file1,file2,file3} /home/destination/
نحوه انتقال فایل ها در پوسته
برای انتقال فایل ها از یک پوشه به پوشه دیگر در پوسته خط فرمان، از mv
دستور، مخفف انتقال، و مسیر فایل اصلی و نام فایل و مسیری که فایل را به کجا منتقل کنید، ارائه دهید.
$ mv path/from/file.txt path/to/directory
نحوه انتقال چندین فایل به یک مکان جدید در خط فرمان
برای انتقال چندین فایل از یک مکان به دایرکتوری دیگر در پوسته خط فرمان، از mv
دستور، هر فایل را برای جابجایی با یک فاصله اضافه کنید، و در نهایت محل انتقال فایل ها را اضافه کنید.
$ mv file1.txt file2.txt path/to/directory
نحوه تغییر نام فایل ها در پوسته
برای تغییر نام فایل ها در ترمینال یا خط فرمان، از mv
با ارائه نام فعلی و نام جدید فایل در همان دایرکتوری، در پوسته دستور دهید.
$ mv current_name.txt new_name.txt
نحوه حذف فایل ها در پوسته
برای حذف فایل ها در ترمینال یا خط فرمان، از rm
دستور، مخفف remove، در پوسته با ارائه مسیر فایل برای حذف.
$ rm file_to_delete.txt
نحوه حذف چندین فایل در پوسته
با استفاده از این امکان وجود دارد که چندین فایل را به طور همزمان در ترمینال یا خط فرمان حذف کنید rm
دستور در پوسته و لیست کردن همه نام فایل ها با فاصله.
$ rm file1.txt file2.txt
نحوه حذف دایرکتوری ها در پوسته
برای حذف دایرکتوری ها در ترمینال یا خط فرمان، از rmdir
دستور در پوسته با ارائه نام دایرکتوری برای حذف. این دستور فقط برای دایرکتوری های خالی کار می کند، بنابراین قبل از حذف دایرکتوری ها باید فایل ها را حذف کنید.
$ rmdir path/to/delete
نحوه ایجاد دایرکتوری ها در پوسته
برای ایجاد دایرکتوری در ترمینال یا خط فرمان، از mkdir
فرمان را در پوسته با ارائه نام دایرکتوری ایجاد کنید.
$ mkdir path/to/create
نحوه ایجاد فایل در پوسته
برای ایجاد فایل در ترمینال یا خط فرمان، از touch
دستور در پوسته با ارائه نام فایل برای ایجاد.
$ touch filename.txt
چگونه داده ها را در پوسته دستکاری کنیم
خط فرمان یا ترمینال دستوراتی را برای دستکاری داده ها در داخل فایل ها ارائه می دهد تا بتوانید اصلاح فایل را با دستورات کارآمد در Shell به طور خودکار انجام دهید.
چگونه به محتوای یک فایل در Shell نگاه کنیم
برای باز کردن فایل ها و مشاهده محتوای آنها در پوسته خط فرمان، از cat
دستور، کوتاه شده برای concatenate، و مسیر فایل مورد بازرسی را ارائه دهید.
$ cat filename.txt
نتیجه
این پایان معرفی پوسته یونیکس برای علم داده است.
استراتژیست سئو در Tripadvisor، Seek سابق (ملبورن، استرالیا). متخصص در سئو فنی. در تلاش برای سئوی برنامهریزی شده برای سازمانهای بزرگ از طریق استفاده از پایتون، R و یادگیری ماشین.