دستورهای لینوکسی که همه باید بدانند!
در این پست میخواهم یکسری دستورهای لینوکسی را معرفی کنم که همه باید بدانند! دانستن این دستورها به شما کمک میکنند که در محیطهای لینوکسی مثل گوگل کولب، بتوانید بهتر فایلهای خود را مدیریت کنید. با من همراه باشید…
مقدمه
سیستم عامل لینوکس، یک سیستم عامل محبوب در دنیای برنامهنویسان است. در حوزه هوشمصنوعی نیز این سیستم عامل محبوبیت دارد و توصیه میشود که محققان این حوزه، حداقل یک دانش نسبی نسبت به این سیستم عامل قدرتمند داشته باشند. شاید همه محققان هوشمصنوعی، حداقل یک بار با گوگل کولب کار کرده باشند. گوگل کولب روی لینوکس اجرا میشود و دانستن دستورهای لینوکسی میتواند در مدیریت دادهها بسیار کمک کننده باشد.
در این پست تعدادی از دستورهای رایج لینوکسی را معرفی کردهایم. این دستورها میتوانند به شما کمک کنند تا با گوگل کولب و سایر پلتفرمهای لینوکسی بهتر ارتباط برقرار کنید.
نکته
ممکن است همه شما به سیستم لینوکسی دسترسی نداشته باشید. همانطور که در بخش قبل هم گفتیم، گوگل کولب یک پلتفرم لینوکسی هست که میتوانید از آن برای تست کدهایی که آموزش دادهایم استفاده کنید. خود من هم از گوگل کولب استفاده کردهام. فقط دقت کنید که برای اجرای این کدها در کولب، در ابتدای خط باید یک علامت تعجب بگذارید اما در پوسته لینوکس نیازی به این علامت تعجب نیست.
مثلا در پوسته لینوکس مینویسیم:
rm file_name.csv
اما در گوگل کولب همین کد را باید به این صورت بنویسیم:
!rm file_name.csv
این علامت تعجب برای گوگل کولب مشخص میکند که کدام کد، دستور پایتونی و کدام کد، دستور لینوکس است.
دستور ls در لینوکس
دستور ls محتوای یک دایرکتوریِ مشخص را برای شما لیست میکند. یعنی هرچه فایل یا دایرکتوری در مسیر مشخص شده وجود داشته باشند را لیست کرده و به شما نمایش میدهد. اگر هیچ دایرکتوری به این دستور ندهید، محتوای دایرکتوری فعلی (Current Directory) را لیست خواهد کرد:
ls
sample_data
مشاهده میکنید که در دایرکتوری فعلی، فقط یک پوشه با نام sample_data وجود دارد. برای لیست کردن محتوای پوشه sample_data، کافی است بنویسید:
ls sample_data/
anscombe.json california_housing_train.csv mnist_train_small.csv california_housing_test.csv mnist_test.csv README.md
مشاهده میکنید که تمامی فایلهای موجود در مسیر sample_data لیست شده است.
لیست کردن فایلهایی با پسوند مشخص
برای اینکه فقط فایلهایی با پسوند مشخص لیست شوند، کافی است به انتهای آدرس پوشه، extention.* را اضافه کنید و به جای extenstion، همان پسوند موردنظرتان را وارد کنید. مثلا برای اینکه فقط فایلهایی از نوع csv لیست شوند، کافی است بنویسید:
ls sample_data/*.csv
sample_data/california_housing_test.csv sample_data/mnist_test.csv sample_data/california_housing_train.csv sample_data/mnist_train_small.csv
مشاهده میکنید که فقط فایلهای csv لیست شدهاند.
تغییر دایرکتوری در لینوکس
برای تغییر دایرکتوری فعلی، کافی است از دستور cd استفاده کرده و مسیر جدید را به آن بدهید. cd مخفف change directory است. برای تغییر دایرکتوری به sample_data کافی است بنویسید:
cd sample_data/
بعد از اجرای این کد، current directory شما به sample_data تغییر خواهد کرد.
ساختن دایرکتوری جدید
برای ساختن یک پوشه جدید در دایرکتوری فعلی، کافی است از دستور mkdir استفاده کنید. این دستور مخفف عبارت make directory است. فرض کنید بخواهیم در پوشه sample_data که پوشه فعلی ما هست، یک پوشه جدید به نام new1 بسازیم. برای این کار کافی است بنویسیم:
mkdir new1 ls
من بلافاصله ls نوشتهام که ببینید این پوشه واقعا ساخته شده یا نه:
anscombe.json california_housing_train.csv mnist_train_small.csv new1 california_housing_test.csv mnist_test.csv README.md
حالا میخواهم یک مسیر تودرتو بسازم. میخواهم یک پوشه new2 بسازم که در آن پوشه دیگری با نام new3 باشد. اگرچه این کار را میتوان با دو بار اجرای mkdir انجام داد، اما راه سادهتری هم برای آن وجود دارد. کافی است بعد از دستور mkdir، عبارت p- را نوشته و بعد مسیر کامل را بدهید، به این شکل:
mkdir -p new2/new3 ls new2
new3
من بلافاصله محتویات پوشه new2 را لیست کردم. مشاهده میکنید که مسیر new2/new3 ساخته شده است. دقت کنید اگر این کار را تنها با mkdir انجام میدادید، یعنی به این شکل:
mkdir new2/new3
با خطا مواجه میشدید.
حذف فایل یا دایرکتوری در لینوکس
برای حذف فایل در لینوکس، کافی است که از دستور rm استفاده کنید:
rm california_housing_train.csv
با اجرای کد بالا فایل mnist_test.csv از دایرکتوری فعلی، حذف خواهد شد. برای حذف دایرکتوری اما کمی اوضاع متفاوت است و باید از عبارت r- جلوی rm استفاده کنید. در غیر اینصورت با خطا مواجه خواهید شد. مثلا برای حذف پوشه new1 کافی است بنویسید:
rm -r new1
با اجرای این کد پوشه new1 حذف خواهد شد.
کپی فایل در لینوکس
برای کپی کردن یک فایل در لینوکس، از دستور cp استفاده میکنیم. جلوی cp، ابتدا آدرس فایل را مینویسیم و سپس آدرس پوشهای که میخواهیم فایل در آن کپی شود را مینویسیم. مثلا:
cp anscombe.json new2/new3/
فایل anscombe.json را که در Current Directory هست را به پوشه new3 منتقل میکند. از کجا بفهمیم؟ از اینجا:
ls new2/new3/
anscombe.json
مشاهده میکنید که فایل موردنظر به مسیری که مشخص کرده بودیم، منتقل شده است. با استفاده از دستور cp، امکان کپی کردن یک دایرکتوری هم وجود دارد. برای این کار باید بعد از cp از r- استفاده کنید.
من ابتدا یک پوشه جدید به نام new4 میسازم، سپس پوشه new3 را کپی کرده و به new4 انتقال میدهم:
mkdir new4 cp -r new2/new3 new4/
حالا new4 را لیست میکنم:
ls new4/
میبینید که کپی به درستی انجام شده است. اگر new3 را هم لیست کنید، مشاهده خواهید کرد که محتویات آن نیز منتقل شده است.
ادامه دارد…
دیدگاهتان را بنویسید