Learn Shell (خط فرمان/ترمینال) – JC Chouinard

یادگیری یونیکس پوسته، همچنین به عنوان شناخته شده است رابط خط فرمان (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 ..
یک دایرکتوری را در Command-line به سمت بالا حرکت دهید
یک دایرکتوری را در ترمینال به بالا ببرید

چگونه چندین دایرکتوری را در خط فرمان به سمت بالا حرکت دهیم

برای بالا بردن چندین دایرکتوری در پوسته، از 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

نتیجه

این پایان معرفی پوسته یونیکس برای علم داده است.