یکی از مولفههای مهم و معروف در خصوص سیستم عامل رایانه لینوکس این است که با استفاده از کدهایی خاص میتوان به نتیجه مورد نظر خود رسید. این کدها همگی در بخشی به نام ترمینال وارد میشوند و باعث میگردند که Linux متوجه منظور دستور شما بشود. در این قسمت میخواهیم شما را با این فضا و همینطور مهمترین دستورات سیستمی آن آشنا کنیم و در این بین مثالهایی عملی نیز در جهت تفهیم موضوع برای شما آماده شده است.
لینوکس و نگاهی به سرگذشت آن
سیستم عاملها یک نوع نرم افزار هستند که بین سخت افزار و کاربر ارتباط برقرار میکند. شما با خرید یک سیستم کامپیوتری میخواهید از آن استفاده کرده و به واسطه آن کارهای خود را انجام دهید. از آنجا که صحبت با سیستم به زبان اولیه آن برای همه ممکن نیست، سیستم عاملها به کمک انسان آمده و دستورات او را به نحوی ترجمه میکنند که بهترین نتیجه را از مجموعه کسب کند.
لینوکس نیز یک سیستم عامل بسیار معروف مانند ویندوز است با این تفاوت که کدهای آن به صورت باز عرضه شده و هر فردی میتواند به رایگان از آن استفاده کند. سرگذشت ساخت لینوکس بسیار فراز و نشیب داشته و جمعی از توسعه دهندگان خیرخواه با هدف ساخت نرم افزارهای بدون مرز آن را پدید آوردند. امروزه نسخههای مختلفی به نام توزیعهای لینوکس در دنیا منتشر شده که کار با آنها بسیار سادهتر است و افراد مبتدی نیز میتوانند به سادگی از آن بهره ببرند.
در تعریفی که برای توزیعهای لینوکس استفاده میشود این عبارت بیشتر از همه به چشم میخورد:
family of Unix-like operating systems that use the Linux kernel and are open source
این تعریف به این موضوع میپردازد که این توزیعها همچنان زیر مجموعه لینوکس به حساب آمده و منبع باز هستند و تمام آنها از هسته مرکزی یکسانی استفاده میکنند.
چرا لینوکس را انتخاب کنیم؟
لینوکس امنیت بسیار بالایی داشته و به همین هم توانست در مدت زمان کوتاهی مخاطبین بسیاری را جذب کند. از طرفی باز بودن کدهای منبع آن باعث شد افراد بیشتر به این سیستم عامل اعتماد کرده و همینطور توزیعهای مختلفی توسط افراد در سراسر دنیا ابداع شود. شما میتوانید به کمک دستورات اصلی که به شکل کد به سیستمعامل رایانه داده میشود به خواسته خود برسید.
هر فردی که از Linux استفاده میکند از این بابت مطمئن است که میتواند روی پشتیبانی افراد زیادی حساب باز کند که قبل از او از این سیستم عامل استفاده کرده و گسترده بودن آن باعث شده تمام عیبها و مشکلات کامپیوتری آن از قبل توسط شخص دیگری برطرف گردد. شما میتوانید به صورت کامل آن را برای خود سفارشی سازی کرده و به سادگی از آن بهره ببرید.
آیا حفظ کردن دستورات لینوکس اجباری است؟
برعکس سیستمعامل رایانه ویندوز که کاربران برای انجام کارهای عادی با انواع پنجرهها در ارتباط هستند، در Linux نیز باید بتوانید با ترمینال این برنامه ارتباط خوبی برقرار کنید. در واقع باید گفت اگر نتوانید به خوبی بر دستورات لینوکس مسلط شوید نمیتوانید آنطور که لازم است از آن استفاده کنید. در نتیجه یادگیری دستورات لینوکس و کار با ترمینال معروف ان نه تنها ارزش زحمتش را دارد، بلکه به عنوان یک عمل ضروری به حساب میآید.
تریمنال لینوکس یک خط فرمان بوده که قدرت بسیار بالایی دارد و عملا میتوانید با وارد کردن دستور مناسب هر اقدامی که فکرش را بکنید را انجام دهید. در مقام مقایسه با دیگر موارد مشابه، Linux بسیار هوشمندتر و قدرتمندتر ظاهر شده و تمام این اعتبار در هسته مرکزی آن نهفته است. شما میتوانید در خط فرمان موجود فایلهای مختلف ساخته، آنها را جابجا کنید، تنظیمات مربوط به امنیت سیستم را انجام داده و در نهایت حتی کنترل کاملی روی کاربران سیستم خود خواهید داشت.
دستورات کاربردی Linux
هرچه دانش شما در زمینه دستورات قابل اجرا در خط فرمان سیستمعامل رایانه لینوکس بیشتر باشد، توانایی کارهای بیشتری را داشته و مشکلات شما حل خواهند شد. اما در این بین تعداد دستورات بسیار زیادی وجود دارد که ممکن است مدتها با آن موارد کاری نداشته و لازم نیست حتما آنها را حفظ کنید. از طرفی برخی دستورات آنقدر کاربردی بوده و روزانه به آنها نیاز پیدا میکنید که چارهای جز حفظ کردن آنها ندارید.
در ادامه لیستی از مهمترین دستورات لینوکس گردآوری شده و سعی کردهایم تا با دستهبندیهای منطقی یادگیری و استفاده از آنها را برای شما ساده کنیم. همینطور میتوانید برای استفاده اولیه از این کدها با سرچ کردن خواسته خود به نتیجه برسید. در جوامع پشتیبان لینوکس افراد زیادی وجود دارند که در هر مرحلهای که باشید به شما کمک خواهند کرد.
دستورات مربوط به مدیریت فایلها
سادهترین دستور برای استفاده در لینوکس مربوط به امور فایلها و تنظیمات مربوطه است.
1. Cp یا دستور Copy
کپی کردن فایلها ارزش زیادی داشته و ممکن در طول روز مجبور شوید چندین بار این کار را انجام دهید. دستور Copy به صورت نمادین با Cp نشان داده میشود. دقت داشته باشید که ترمینال لینوکس به حروف کوچک یا بزرگ حساس است.
اگر بخواهید تنها از یک فایل نمونه مشابهی بسازید با کد دستوری زیر میتوانید این کار را انجام دهید.
Cp sample sample-copy
در اینجا میبینیم که در ابتدا نام فایل اولیه آمده و بعد نام فایل جدیدی که میخواهیم دقیقا مشابه فایل اول باشد قرار میگیرد. بر فرض مثال اگر یک فایلی به نام File1 داشته باشیم و بخواهیم یک کپی از آن بسازیم و نام آن را File2 بگذاریم، این کد به شکل زیر نوشته میشود.
Cp file1 file2
در حالت بعدی ممکن است که بخواهید از چندین فایل کپی گرفته و حاصل در یک فولدر خاص ریخته شود. در این شرایط میتوانید از کد مشابه زیر استفاده کنید.
Cp sample1 sample2 sample3… directory1
شاید شما بخواهید تا تعداد فایلهای بیشتری را کپی کنید اما در نهایت تمام این موارد با همان اسم اصلی خود در دایرکتوری که نام بردهاید کپی میشوند. مانند نمونه زیر:
Cp file1 file2 file3 dir1
هر 3 فایل نام برده شده در دایرکتوری dir1 کپی خواهند شد.
همچنین شما میتوانید تمام اطلاعات داخل یک دایرکتوری را به صورت بازگشتی در داخل یک دایرکتوری جدید کپی کنید. کد دستوری آن به شکل زیر خواهد بود.
Cp -R Src_directory Dest_directory
که در مثال ما به شکل زیر تغییر میکند و از dir1 یک کپی در dir2 ساخته میشود.
Cp –R dir1 dir2
2. Mv یا دستور Move
این دستور در ویندوز به Cut و Paste معروف است. زمانی که بخواهید یک فایل به طور کامل به مکانی دیگر منتقل شده و دیگر در جای اول خود وجود نداشته باشد از دستور Move استفاده میکنیم. کد دستوری آن به شکل زیر خواهد بود.
Mv source destination
تنها کافی است به جای source و destination نام فایل و بعد مقصد خود را وارد کنید. مثلا:
Mv file1 dir1
از این عملیات میتوان برای تغییر نام یک فایل نیز استفاده کرد. در صورتی که به جای آدرس دایرکتوری مقصد فایل را روی خودش بریزید، نام آن قابل تغییر خواهد بود.
Mv file1 file2
در این حالت فایل اول کپی شده و از مبدا پاک میشود و دوباره در همانجا با نام فایل جدید Paste خواهد شد.
3. Rm یا دستور Remove
در صورتی که بخواهید فایلی را حذف کنید باید از این دستور استفاده کنید. معمولا این دستور قابلیت برگشت ندارد و از این رو بهتر است هنگام استفاده از آن نهایت دقت و توجه را به خرج دهید. کد اصلی آن به شکل زیر نوشته میشود.
Rm file1
حتی میتوانید به صورت همزمان چندین فایل را با هم پاک کنید.
Rm file1 file2 file3 file4
از طرفی وجود حرف i در کد باعث میشود از کاربر در خصوص تصمیم حذف یکبار دیگر سوال پرسیده شود. اگر میخواهید که یک فولدر بدون هیچ درخواست دیگری به سرعت حذف گردد نیز باید از f در کد خود استفاده کنید.
Rm -i file1
Rm -f file1
4. File یا دستور مشخص سازی نوع فایل
ممکن است در سیستم خود با فایلی ناآشنا روبرو شده و بخواهید بدانید که این فایل چه فرمتی دارد. به این منظور کافی است از این کد ساده استفاده کنید. سیستم در سریعترین حالت خود به شما فرمت فایل را اعلام خواهد کرد.
File file1
اگر بخواهید فرمت تمام فایلهای داخل یک دایرکتوری را متوجه شوید نیز میتوانید کد زیر را وارد کنید.
File dir1*/
5. Find یا دستور پیدا کردن اطلاعات
با توجه به اینکه در هر سیستمی تعداد قابل توجهی فایل وجود دارد، پیدا کردن یک فایل بخصوص میتواند کمی زمانبر باشد. با استفاده از دستور Find میتوانید اطلاعات مورد نظر را بر اساس پارامترهای مختلفی همچون اسم، تاریخ، فرمت و.... پیدا کنید. فرمت زیر مرسومترین حالت برای پیدا کردن فایلها بر اساس نامشان است.
Find . -name file1
در این حالت مشخص کردهایم که به دنبال فایلی برای اساس نام آن هستیم و فایل مورد نظر file1 نام دارد.
شما میتوانید با همین شرایط به دنبال دایرکتوریهای بخصوصی نیز بگردید. در زیر مثالی آورده شده که تلفیق جستجو بر اساس نوع و اسم فایل است.
Find / -type d -name dir1
در اینجا گفتهایم که به دنبال اطلاعاتی هستیم در دستهبندی دایرکتوریها که نام آن dir1 است.
6. mkdir یا دستور ساخت دایرکتوری
اگر بخواهید در مسیری که در حال حاضر هستید یک دایرکتوری جدید خلق کنید، باید از دستور mkdir استفاده کنید. در زیر یک نمونه از این دستور آورده شده است که در همان مسیر یک دایرکتوری جدید اضافه میشود.
mkdir dir1
حتی میتوانید در مسیر فعلی چندین دایرکتوری مختلف را به صورت همزمان خلق کنید.
mkdir {dir1,dir2,dir3}
و در نهایت اگر دوست داشته باشید چندین دایرکتوری را به صورت تو در تو بسازید، کد زیر به درد شما خواهد خورد. یعنی دایرکتوری dir3 در داخل dir2 و دایرکتوری dir2 نیز در داخل dir1 قرار بگیرد و همگی در راستای محل حال حاضر شما ساخته خواهند شد.
mkdir –p dir1/dir2/dir3
7. cd یا دستور حرکت در پوشه
با این دستور میتوانید به دایرکتوریها و پوشههایی که مایل هستید حرکت کنید. البته نحوه آدرس دهی به جایی که در حال حاضر هستید بستگی دارد.
cd dir1/dir2/dir3
در این مثال از جایی که قرار دارید به دایرکتوری dir3 خواهید رفت که داخل دایرکتوریهای قبلی خود قرار گرفته است. اگر هم بخواهید به دایرکتوری اصلی و ریشه مسیری که در آن قرار دارید برسید، کد زیر را در ترمینال وارد کنید.
Cd
دستورات مربوط به امور سیستمی
با اجرای این کد میتوانید تمام مشخصات مربوط به اینترفیس شبکه را به صورت کامل مشاهده کنید. حتی میتوانید با استفاده از آن به پارامترهای مورد نظر خود در شبکه مقداردهی کنید. به این منظور کافی است از مدل ساده شده این دستور به شکل زیر استفاده کنید. البته در نظر داشته باشید که این تنظیمات تا زمان خاموش شدن یا ریستارت شدن آن همچنان باقی است اما برای دفعه بعد باید دوباره از آن استفاده کنید.
ifconfig eth0 192.168.1.1 255.255.255.0
1. کد دستوری Setup
با توجه به اینکه چه برنامهها و بستههایی را روی لینوکس خود نصب کردهاید، میتوانید از سه کد زیر مجموعهای زیر بهره ببرید. این کد به شما اجازه میدهد از یک محیط شبه گرافیکی استفاده کرده تا کار خود را سادهتر انجام دهید. میتوانید هرکدام از این سه مدل کد را به تنهایی استفاده کنید.
· System-config-networks
با استفاده از این کد میتوانید تغییراتی همیشگی را روی شبکه خود اعمال کنید و پارامترهای خاصی را تغییر دهید. در صورتی که میخواهید این تغییرات موقتی بوده و بعد از خاموش شدن یا ریستارت شدن از بین برود، باید از دستور service network restart بعد از ذخیره تغییرات استفاده کنید.
· Services
با استفاده از این دستور میتوانید تعیین کنید که کدام سرویسهای مورد علاقه و ضروری شما پس از اینکه سیستم دوباره راهاندازی شد به صورت اتوماتیک اجرا شوند.
· System-config-firewall
میتوانید از طریق فایروال خود تنظیمات آن را تغییر دهید اما با وجود این کد، خاموش یا روشن کردن فایروال به طور کامل در دست شما است. حتی ميتوانید تا حدی تنظیمات مربوط به فایروال را از همین مسیر انجام دهید.
2. کد دستوری Date
اگر بخواهید زمان سیستم خود را تنظیم کرده یا برای کارهای خود نیاز دارید تا زمان درست را مشاهده کنید، با تایپ این کد تمام تنظیمات در اختیار شما خواهد بود.
3. کد دستوری Ntpdate
این دستور در ترمینال Linux نیز برای تنظیم تاریخ سیستم به کار رفته و از طریق سرور NTP اطلاعات را دریافت میکند.
سوالات متداول
چرا باید از لینوکس استفاده کرد؟
Linux یک سیستمعامل رایانه بسیار محبوب است. طرفداران زیاد آن تضمینی برای پشتیبانی از این برنامه بوده و میتوانید به سادگی آن را برای خود راه اندازی کنید. امنیت این سیستم عامل متن باز بسیار قوی است و استفاده از آن رایگان است.
آیا برای استفاده از لینوکس باید برنامه نویسی بلد باشیم؟
وجود دانش برنامه نویسی بسیار مفید است اما کاربران عادی نیز میتوانند با استفاده از دستورات ساده کار خود را انجام دهند.
چطور باید به لینوکس دستورات خود را بدهیم؟
برای ارتباط برقرار کردن با این سیستم عامل باید از طریق کدها و دستورات اصلی و به کمک ترمینال این برنامه عمل کنید.
آیا حفظ کردن تمامی این کدها ضروری است؟
برای کار با لینوکس باید از دستورات مستقیم استفاده کرد اما به دلیل زیاد بودن تعداد کدهای موجود امکان حفظ کردن آن برای همه وجود ندارد. کدهایی که در این آموزش مطرح شد جزو مهمترین کدها بوده و پیشنهاد میشود که آنها را یاد بگیرید.