لینوکس
لینوکس (به انگلیسی: Linux، /ˈlinʊks/) یک سیستم عامل شبه یونیکس است که بخش عمدهٔ آن، سازگار با استاندارد پازیکس است. بسیاری از توزیعهای لینوکس از کلمهٔ «لینوکس» در نام خود استفاده میکنند، اما بنیاد نرمافزار آزاد از نام «گنو لینوکس» برای تأکید بر اهمیت سیستم عامل گنو استفاده میکند که باعث ایجاد برخی بحث ها مثل بحث نامگذاری گنو/لینوکس شدهاست. استفاده از نام «گنو/لینوکس» برای کل سیستم، به نظر سازندهٔ آن، اشتباه است.
توسعهدهنده | ریچارد استالمن (ابزارهای گنو)، لینوس توروالدز (هسته لینوکس)، بنیاد نرمافزار آزاد و جامعه توسعهدهندگان. |
---|---|
نوشته شده به زبان | C، اسمبلی |
خانواده | شبهیونیکس |
وضعیت توسعه | فعال، در حال توسعه |
مدل منبع | نرمافزار آزاد و متنباز |
تاریخ اولین انتشار | ۱۷ سپتامبر ۱۹۹۱ |
بازار هدف | رایانش ابری، سامانه نهفته، بزرگرایانه، دستگاه همراه، رایانه شخصی، سرور (رایانه)، ابررایانه |
زبان (های) در دسترس | چندزبانه |
بنسازه رایانش | دک آلفا، ARC، معماری آرم، C6x , H8/300، Hexagon، ایتانیوم، m68k, Microblaze، معماری میپس، NDS32, Nios II, OpenRISC, PA-RISC، پاورپیسی، RISC-V، اس/۳۹۰، SuperH، اسپارک، Unicore32، اکس۸۶، XBurst , Xtensa |
گونه هسته | هسته یکپارچه |
فضای کاربری | گنو، بیزیباکس |
پیش فرض واسط کاربر | پوسته یونیکس |
پروانه | پروانه عمومی همگانی گنو، (ترد مارک لینوکس متعلق به لینوس توروالدز بوده و در اختیار انسیتوی لینوکس مارک است) |
گنو/لینوکس میتواند سختافزارهای مختلفی از جمله انواع مختلف تلفن همراه، تبلت، مسیریاب و کنسول بازی تا رایانههای رومیزی، رایانههای بزرگ و ابررایانه ها و رایانههای تک بردی (SBC) را پشتیبانی کند.
اگرچه ابتدا گنو/لینوکس فقط برای استفاده روی ریزپردازندههایی با معماری ۸۰۳۸۶ اینتل طراحی شده بود، اما امروزه انواع گوناگون معماریها را پشتیبانی میکند و در انواع و اقسام وسایل از رایانهٔ شخصی گرفته تا ابررایانهها و تلفنهای همراه و سرورها به کار میرود. این سیستمعامل در ابتدا بیشتر توسط افراد مشتاق، بهطور داوطلبانه گسترش پیدا میکرد و به کار گرفته میشد. لینوکس توانسته است پشتیبانی شرکتهای بزرگی چون آیبیام و هیولت-پاکارد را به دست آورد و با بسیاری از نسخههای تجاری یونیکس رقابت کند. طرفداران لینوکس و بسیاری از تحلیل گران این موفقیت را ناشی از استقلال از فروشنده ، کم هزینه بودن پیادهسازی ، سرعت بالا ، امنیت و قابل اطمینان بودن آن میدانند.بهطور کلی میتوان گفت هر سیستم عاملی کامپیوتر دارای هسته یا کِرنِل و رابط بین نرمافزار و سختافزار سیستم است و وظیفهٔ انجام کارهای اساسی را دارد.
در اصل، لینوکس پایینترین سطح اجزای نرمافزاری یک سیستم بهشمار میرود و اگر این بخش آسیب ببیند بقیه نرمافزارها هم قادر به استفاده نخواهند بود. از وظایف هسته یا همان کرنل، آن است که منابع سیستم را به برنامههای دیگر موجود در سیستم متصل میکند. لینوکس، توزیعهای مختلفی دارد، از جمله کالی لینوکس که بیشتر برای تست نفوذ استفاده میشود.
تاریخچه
در سال ۱۹۸۴ میلادی ریچارد استالمن که رئیس بنیاد نرمافزارهای آزاد بود پروژه گنو (GNU) را آغاز کرد. در این پروژه که یک جنبش نرمافزاری محسوب میشد برنامهنویسان با یکدیگر همکاری میکردند که این همکاری تا به امروز نیز ادامه دارد.
آن زمان بیشتر ابزارهای پروژه گنو که با زبان برنامهنویسی سی و اسمبلی نوشته شده بود آمادهٔ کار بودند و تنها یک هستهٔ سیستمعامل مناسب و آزاد، کم بود. حتی سیستمعامل مینیکس نیز با وجود در دسترس بودن کد منبع آن، آزاد نبود و حق نشر مخصوص داشت. کار در پروژه گنو به سمت طراحی یک هستهٔ مناسب متمرکز میشد اما به نظر میرسید که برای ایجاد این هسته حداقل چند سال دیگر زمان نیاز است. این تأخیر برای لینوس توروالدز قابل تحمل نبود؛ بنابراین خودش دست به کار شد و با الهام از کد مینیکس کار را آغاز کرد. سرانجام در ۲۵ اوت سال ۱۹۹۱ در ساعت ۲۰:۵۷ (به وقت گرینویچ) پیامی تاریخی به گروه خبری comp.os.minix از طرف لینوس توروالدز ارسال شد. او یک دانشجوی فنلاندی بود که آن زمان در دانشگاه هلسینکی درس میخواند.
متن پیام او چنین بود:
درود به هر کس که آن بیرون از مینیکس استفاده میکند -
من هماکنون روی سیستمعاملی آزاد برای رایانههای AT ۳۸۶(۴۸۶) کار میکنم (فقط برای تفریح؛ مانند پروژهٔ گنو بزرگ و حرفهای نیست). از ماه آوریل کار را آغاز کردهام و هماکنون این سیستمعامل آماده است و کار میکند. دوست دارم از دیدگاه دیگران در مورد سیستم عاملم با خبر شوم. چه آنان که مینیکس را دوست دارند و چه آنان که دوست ندارند. چرا که سیستمعامل من تا حدی شبیه به مینیکس است.در حال حاضر (۱٫۰۸)bash و(۱٫۴۰) gcc را بر روی آن دارم و چیزهای دیگری که به نظر میرسد همه درست کار میکنند. این بدان معناست که طی چند ماه آینده چیز بهدردبخوری فراهم خواهم کرد و دوست دارم بدانم مردم بیشتر چه امکاناتی لازم دارند. به هر پیشنهاد و نظری خوشآمد میگویم اما قول نمیدهم که آن را انجام دهم!
- لینوس (torvalds@kruuna.helsinki.fi).
- پ. ن: بله این نرمافزار آزاد است. البته قابل انتقال بر روی انواع دیگر رایانه نیست (چرا که گفته میشود فرمانهای AT۳۸۶ را به کار میبرد) و ممکن است غیر از هارد دیسک AT چیز دیگری را پشتیبانی نکند. این همه چیزی است که من دارم!
لینوکس برخلاف مینیکس (یک سیستمعامل ساده، نوشته شده توسط اندرو تننبام که برای آموزش طراحی سیستمعامل به کار میرفت) که از معماری ریزهسته استفاده میکرد، با ایدهٔ هستهٔ یکپارچه طراحی شده بود. اولین نسخهٔ لینوکس در سپتامبر ۱۹۹۱ در اینترنت منتشر شد. دومین نسخهٔ آن به فاصلهٔ کمی در اکتبر همان سال منتشر شد.[۱] از آن پس هزاران برنامهنویس و هکر در سراسر دنیا در این پروژه شرکت کردند. مقالهٔ «کلیسای جامع و بازار» اثر اریک ریموند مدل گسترش هسته لینوکس و نرمافزارهای مشابه را تشریح میکند.
پنگوئن تاکس نشانه و نماد شانس هستهٔ لینوکس است. لینوس توروالدز مالک علامت تجاری لینوکس است که به عنوان «نرمافزار سیستمعامل رایانه برای تسهیل در استفاده و عملیات رایانه» به ثبت رسیدهاست.
مجوز
هستهٔ لینوکس و بیشتر بخشهای گنو، تحت اجازهنامهٔ عمومی همگانی گنو (جیپیاِل) منتشر میشوند. جیپیال لازم میداند که تغییرات کد منبع و کارهای مشتقشده نیز، تحت مجوز جیپیال منتشر شوند. یکی از نگرانیهای همیشگی لینوس توروالدز این بودهاست که از لینوکس بدون اجازه و به صورت تجاری و close source استفاده کنند.
توزیعهای لینوکس
لینوکس همیشه یکی از اجزاء یک توزیع لینوکس (به انگلیسی: linux distro) است. توزیعهای لینوکس توسط افراد، گروههای نه چندان متشکل و سازمانهای حرفهای گوناگون ایجاد میشوند. این توزیعها شامل تعدادی نرمافزار سیستم و برنامههای کاربردی به همراه روالی مشخص برای نصب آنها بر رایانه هستند. توزیعها بهطور معمول برای منظورهای مختلفی از جمله محلیسازی، پشتیبانی از یک معماری خاص، کاربردهای بیدرنگ (real-time applications) و سامانههای توکار (embedded systems) به وجود میآیند و برخی از آنها آگاهانه، تنها از نرمافزارهای آزاد استفاده میکنند.
یک توزیع همه منظورهٔ معمولی، شامل هستهٔ لینوکس، کتابخانهها و ابزارهای گنو، پوستههای خط فرمان و انبوه بیشماری از نرمافزارهای کاربردی از مجموعههای اداری و سیستم پنجرهای اِکس گرفته تا مفسرها، ویرایشگرهای متن و ابزارهای علمی است.
از توزیعهای شناختهشدهٔ لینوکس میتوان به موارد زیر اشاره کرد:
- اوبونتو (به انگلیسی: Ubuntu) (شناختهشدهترین و محبوبترین توزیع لینوکس)
- آرچ لینوکس (به انگلیسی: ArchLinux) (مناسب برای: برنامهنویسان و توسعهدهندگان)
- دبیان (به انگلیسی: Debian) (یکی از محبوبترین توزیعهای لینوکس برای استفادهٔ مبتدیان و سرورها)
- کالی لینوکس (به انگلیسی:KaliLinux) (مناسب برای: تستهای مانیتی از جمله تست نفوذ)
- فدورا (به انگلیسی: Fedora) (مناسب برای: توسعهدهندگان نرمافزار، آموزندگان)
- لینوکس مینت (به انگلیسی: Linux Mint) (مناسب برای: متخصصین، توسعهدهندگان، آموزندگان)
- مانجارو (به انگلیسی: Manjaro) (مناسب برای: مبتدیان)
- اپنسوزه (به انگلیسی: openSUSE) (مناسب برای: مبتدیان و متخصصین ماهر)
- تِیلز (به انگلیسی: Tails) (مناسب برای: امنیت و حریم خصوصی)
- زورین او اس (به انگلیسی: Zorin OS) (مناسب برای: مبتدیان و متخصصین)
گستره
بیش از یک میلیارد دلار: برآورد اندازهٔ گنو/لینوکس که مقالهٔ تحقیقیای است بر روی توزیع رِدهَت لینوکس ۷٫۱، که در آن تعداد خطوط کد منبع ۳۰ میلیون عنوان شدهاست.
در این تحقیق، با استفاده از روش (مدل هزینه سازنده – کوکو) برآورد شدهاست که بر روی این توزیع نزدیک به ۸ هزار نفر در سال کار گسترش (توسعه) انجام شدهاست.
چنانکه این نرمافزار با روشهای متعارف خصوصی گسترش مییافت، هزینهٔ گسترشاش در ایالات متحده با روشهای گسترش متعارف خصوصی بالغ بر ۱/۰۸ میلیارد دلار (با قیمت دلار سال ۲۰۰۰) میشد.
بخش بزرگی از کد (۷۱٪) با زبان برنامهنویسیِ C نوشته شدهاست اما از بسیاری از زبانهای دیگر همچون ++C، لیسپ، اسمبلی، پرل، فرترن، پایتون و زبانهای اسکریپتنویسی گوناگونی هم استفاده شدهاند. اندکی بیش از نیمی از خطوط کد، تحت مجوز عمومی گنو (جیپیاِل) هستند.
هستهٔ لینوکس ۲٫۴ میلیون خط کد است و ۸٪ کل کد را تشکیل میدهد.
در پژوهشی جدید که بر روی توزیع لینوکس دبیان نسخهٔ ۴٫۰ که در سال ۲۰۰۷ عرضه شده صورت گرفت، مشخص شد این توزیع دارای نزدیک به ۲۸۳ میلیون خط کد بود که تخمین زده میشود هزینهٔ گسترشاش با روشهای گسترش متعارف خصوصی بالغ بر ۸٫۰۷ میلیارد دلار (با قیمت دلار سال ۲۰۱۳) و زمان مورد نیاز حدود هفتاد و سه هزار نفر در سال میشود.
کاربردهای سیستمعاملهای شکل گرفته بر پایهٔ لینوکس
در گذشته یک کاربر لینوکس برای پیکربندی و نصب سیستم خود، نیازمند دانش بالایی از رایانه بود. این دلیل، به علاوه جذاب بودن دسترسی به درون سیستم، باعث شده بود که بهطور سنتی کاربران لینوکس را (بر خلاف کاربران ویندوز یا مکاواس) کسانی شکل بدهند که با رایانه بیشتر آشنا هستند. افرادی که معمولاً با القاب «هَکِر» و «گیک» شناخته میشوند. این نگرش در سالهای اخیر با افزایش راحتی کار در لینوکس و گسترده شدن استفاده از بسیاری از توزیعها، اعتبار خود را از دست دادهاست. لینوکس در بازار سرورها و کاربردهای ویژه (مانند پردازش تصویر و سرویس وب) پیشرفت قابلملاحظهای کرده و در حال ورود به بازار بزرگ رایانههای رومیزی است.
لینوکس اساس مجموعه نرمافزار سرور، موسوم به ل.آ.م. پ ((ل) لینوکس، (آ) آپاچی، (م) مایاسکیوال/ماریا دی بی، (پ) پرل/(پ) پیاچپی/(پ) پایتون) را تشکیل میدهد که میان توسعهدهندگان وب محبوبیت گستردهای کسب کردهاست. به دلیل پایداری و انعطاف لینوکس، این سیستمعامل حضور پررنگی به عنوان سیستمعاملی برای کامپیوترهای کارساز دارد. بر اساس آمار در سال ۲۰۰۸، از میان ۱۰ تا از معتبرترین شرکتهای هاستینگ دنیا، ۵ شرکت سیستمعامل لینوکس را در کارسازهای وب خود بهکار میگیرند. توزیعهای لینوکس بهطور گستردهای به عنوان سیستمعامل در اَبَررایانهها استفاده میشود: از نوامبر سال ۲۰۱۰، از ۵۰۰ سیستم برتر، تمام آنها تحت اجرای توزیعهای لینوکس هستند. لینوکس همچنین به عنوان سیستمعامل برای سامیت، قویترین ابررایانهٔ جهان، بهکار میرود.
از لینوکس همچنین بیشتر در سیستمهای کارگذاشته استفاده میشود. رایگان، متنباز و آزاد بودن آن باعث میشود انتخابی ایدئال برای ابزارهایی مانند سیمپیوتر (رایانهای که برای جمعیت کم درآمد کشورهای در حال گسترش طراحی شده) باشد.
لینوکس با داشتن محیطهای رومیزی مانند گنوم و کیدیئی، رابط کاربری hd همچون اپل مکینتاش و مایکروسافت ویندوز را در کنار دیگر محیطهای گرافیکی و رابط خط فرمان (ترمینال) یونیکسمانندِ سنتیاش، عرضه میکند. هرچند نرمافزارهای گرافیکی لینوکس برای بسیاری از مصارف وجود دارند، در بسیاری زمینهها نرمافزارهای خصوصی هنوز از گستره و میزان محبوبیت بیشتری برخوردارند.
نرمافزارهای سرور تحت لینوکس
سرور (به انگلیسی: Server) به سیستم رایانهای پرتوانی گفته میشود که در یک شبکه برای وظیفهای خاص، نقشی را بر عهده میگیرد. سیستمهای کامپیوتری سرور معمولاً از سختافزاری پرقدرت و نرمافزاری منعطف و پایدار برای ارائهٔ خدمت مورد نظر به تعداد زیاد مشتریان استفاده میکنند. سیستمعاملهای شکل گرفته بر پایهٔ لینوکس، به دلیل پایداری و انعطاف، گزینههای خوبی برای نصب بر روی سیستمهای سرور هستند.
نمونه نرمافزارهای مشهوری که معمولاً تحت لینوکس به عنوان نرمافزار سرور استفاده میشوند:
- سرور پروکسی-کش (Proxy-Cache)
- اسکوئید (SQUID)
- سرور سامانه نام دامنه (DNS)
- بایند (Bind)
- سرور وب (Web Server)
- سرور پست الکترونیکی (Mail Server)
- پستفیکس(Postfix)
- سرور پایگاه داده
- سیستم تشخیص نفوذ شبکه
- اسنورت (Snort)
- سوریکاتا (نرمافزار) (Suricata)
نصب
در سالهای آغازین، دشوار بودن رَوَندِ نصب سیستمعاملهای بر پایهٔ لینوکس مانعی برای پذیرش آن بود؛ اما در سالهای اخیر نصب لینوکس بسیار آسان شدهاست. بسیاری از توزیعها دارای روند نصب آسان و قابلمقایسه با نسخههای ویندوز هستند؛ بهگونهای که توزیع اوبونتو با چند کلیک نصب میشود. علاوه بر این، رایانههای شخصیای با توزیعهای لینوکس وارد بازار شدهاند و به آسانی از بسیاری از فروشندههای اصلی، همچون دل، هیولت-پاکارد و وال-مارت قابلتهیه هستند.
یکی از بهترین نصّابهای لینوکس که بهطور گسترده نیز استفاده میشود، calamares نام دارد، که در خیلی از توزیعها برای نصب مورد استفاده قرار میگیرد.
بیشتر شیوههای عمومی نصب لینوکس، توسط همهٔ توزیعهای مهم پشتیبانی میشود که شامل اجرا از طریق لوح فشرده، حاوی برنامههای نصب و راهاندازی نرمافزارهاست. این لوح فشرده میتواند از طریق نسخه ایزو (ISO image) بارگذاری شدهباشد، به تنهایی و به قیمت بسیار پایین خریداری شود، یا میتواند در مجموعه نرمافزارهای تجاری اضافی ارائه شود.
برخی توزیعها همچون دِبیان (Debian) با فلاپیدیسک نیز قابل نصب هستند. پس از نصب ابتدایی، بیشتر نرمافزارها از طریق اینترنت و لوح فشرده قابل بارگیری و نصب هستند.
بسیاری از توزیعها میتوانند بیدرنگ از طریق دیسکهای زنده، بسیار سریعتر از نصب بر روی دیسک سخت، اجرا شوند. به این صورت که یک بار از لوح فشرده راهاندازی میشوند و میتوان از لینوکس بدون هیچگونه تغییری در محتویات دیسک سخت استفاده کرد. به همین نحو، برخی توزیعهای حداقلی، همچون تامزروتبوت (Tomsrtbt)، بدون نیاز به تغییر محتویات دیسک سخت از طریق فلاپی دیسک (Floppy Disk) قابل اجرا هستند.
همچنین بسیاری توزیعها از راهاندازی از طریق شبکه، پشتیبانی میکنند؛ یعنی همهٔ مراحل نصب و پیکربندی دستگاه، میتواند از طریق شبکه انجام شود.
پشتیبانی
فروشندگان تجاری و دیگر کاربران گنو/لینوکس در اجتماعات آنلاین (کانالهای آیآرسی)، گروههای خبری، فهرستهای پستی و انجمنهای اینترنتی پشتیبانی فنی ارائه میکنند. گروه کاربران لینوکس (LUGs) در همهٔ جهان به کاربران بسیاری بهرایگان یاری میرساند.
مدل کسبوکار بیشتر فروشندگان تجاری لینوکس (مانند ردهت و اوبونتو)، بر پایهٔ دریافت دستمزد جهت پشتیبانی است. اینگونه دریافت پشتیبانی در برابر پرداخت پول برای کاربران تجاری لینوکس حائز اهمیت است.
ساختار دایرکتوری لینوکس
سیستمعامل لینوکس یک سیستم منطقی است نه فیزیکی، این مورد به این معناست که ممکن است هر فایل یک پوشه از یک پارتیشن خاص باشد ولی در آدرسدهی ممکن است همگی فایلها در یک آدرس باشند. برای مثال: پوشهٔ Documents لینوکس در ویندوز میتواند /home/username/Documents باشد ولی غالباً چیزی که وجود دارد این است که در ویندوز C:\Users\UserName\Documents معادل پوشه ذکرشده است. به همین دلیل در لینوکس باید کاملاً مشخص گردد هر فایل دقیقاً چیست. ساختارهای دایرکتوری لینوکس به علت گستردگیای که دارند میتوانند به شما در کارکرد راحتتر با لینوکس کمک کنند؛ ازاینرو یادگیری آنها در اولویت است. در ادامه چند مورد از اصلیترین آنها را معرفی خواهیم کرد.
- دایرکتوری /
- دایرکتوری /bin
- دایرکتوری /boot
- دایرکتوری /dev
- دایرکتوری /etc
- دایرکتوری /home
- دایرکتوری /lib
- دایرکتوری /media
- دایرکتوری /mnt
- دایرکتوری /opt
- دایرکتوری /proc
- دایرکتوری /root
- دایرکتوری /sbin
- دایرکتوری /tmp
- دایرکتوری /usr
- دایرکتوری /var
دستورهای اولیه در لینوکس
با وجود اینکه تنوع بسیاری در لینوکس وجود دارد ، تقریبا همه ی آنها از دستورات مشابهی استفاده می کنند که می توانند از طریق رابط خط فرمانی Terminal ( ترمینال ) به کار گرفته شوند. همچنین رابط های کاربری گرافیکی(GUI) بسیاری نیز موجود است اما هر یک از آنها متفاوت از دیگری کار می کنند و استاندارد کمی بین آنها وجود دارد . کاربران با تجربه ای که با انواع مختلف لینوکس کار کرده اند در یافتند که بهترین راه یادگیری دستورات است که می توانند در تمامی انواع لینوکس مورد استفاده قرار گیرند.
مسلما برای تمامی کاربران تازه کاری که قصد استفاده از لینوکس را دارند به کار بستن این دستورات ، غیر ملموس است با این حال باید به این نکته هم اشاره کنیم که حتی کاربران با تجربه ی لینوکس هم اغلب اوقات دستورات را به خاطر نداشته و آنها را در Terminal کپی می کنند . مهم است که بدانیم چگونه از خط فرمان ترمینال استفاده کنیم و هر شخصی که بتواند تایپ کردن ، پاک کردن ، Cut وPaste کردن را به گونه ای منظم و مدیریت شده انجام دهد قطعا قادر به استفاده از خط فرمان Terminal نیز خواهد بود .
- نماد تیلدا یا همان (~) برای دایرکتوری home در نظر گرفته شده است . اگر شما یک کاربر هستید پس ~ بیانگر مسیر home//user// برای حساب کاربری شما می باشد .
- Pwd: این دستور باعث می شود که دریابیم در حال حاضر در کدام دایرکتوری یا پوشه قرار داریم بنابراین اگر در سیستم گم شدیم و ندانیم در کدام بخش قرار داریم تایپ این دستور ما را از مکان فعلیمان مطلع خواهد ساخت .به عنوان مثال زمانی که در دایرکتوری desktop باشیم دستور pwd خروجی "Desktop/~" را برای ما نمایش خواهد داد. pwd مخفف عبارت Print Working Directory می باشد .
- Ls: این دستور لیست فایل های دایرکتوری جاری را نمایش می دهد . با استفاده از این اپشن می توان سایز فایل ها ، زمانی که فایل ساخته شده و سطوح دسترسی فایل را مشاهده کرد . یک نمونه از این دستور ls ~ می باشد که فایل هایی را که در دایرکتوری home قرار دارند نمایش می دهد.
- Cd: دستور cd اجازه تعویض دایرکتوری را به ما خواهد داد وقتی که یک ترمینال را باز کرده ایم در واقع در دایرکتوری home قرار داریم برای جابه جایی میان فایل سیستم ها باید از دستور cd استفاده کنیم بعنوان مثال :
- برای رفتن به دایرکتوری یا پوشه root از دستور "/cd"استفاده می کنیم .
- برای رفتن به پوشه ی home خود از دستور “cd” و یا “~ cd” استفاده می کنیم .
- بر ای حرکت در سطوح دایرکتوری ها از دستور “.. cd” استفاده می کنیم .
- برای برگشتن به دایرکتوری یا پوشه ی قبلی از دستور “cd -“ استفاده می کنیم .
- برای رفتن به سطوح مختلفی از دایرکتوری به یکباره ، ابتدا باید مسیر کامل دایرکتوری را که قصد رجوع به آن را داریم ، مشخص کنیم .به عنوان مثال دستور “cd ~/Desktop” موجب انتقال کاربر ما به زیر پوشه ی Desktop که دورن پوشه ی home قرار دارد ، می شود .
- Cp: دستور cp یک کپی از فایل برای ما می سازد به عنوان مثال دستور “cp file itpro” دقیقا یک کپی از محتوای فایل با نام itpro ایجاد کرده اما فایل "file" همچنان وجود خواهد داشت . برای کپی کردن دایرکتوری ها نیز باید از دستور “cp -r” استفاده کرد برای نمونه دستور “cp -r devhandler itpro” یک کپی از پوشه ی devhandler با تمامی محتوایش را با نام itpro ایجاد خواهد کرد . باید در نظر داشته باشیم که کپی دایرکتوری ها به گونه ای است که از پوشه و تمامی فایلها و زیر پوشه و همچنین ار تمامی محتویات زیر پوشه ها کپی می گیرد و این سلسله مراتب کپی برداری از محتوای دایرکتوری ها در استفاده از این دستور حفظ خواهد شد.اصطلاحا در زبان انگلیسی این ساختار از دایرکتوری را recursively یا بازگشتی گویند که r نیز در دستور ذکر شده به این کلمه اشاره می کند.
- Mv: دستور mv یک فایل را به مکانی دیگر منتقل کرده و یا یک فایل را تغییر نام می دهد .مثلا دستور “mv file itpro” فایل موجود با نام “file” را به “itpro” تغییر نام می دهد . اما دستور “mv itpro ~/desktop” فایل “itpro” را به دایرکتوری desktop بدون تغییر دادن نام آن ، انتقال می دهد .
- برای کوتاه شدن دستور همانند مثال بالا می توان از نما (~) به جای پوشه ی home استفاده کرد.
- باید توجه داشت که زمانی که از دستور mv به همراه sudo استفاده می کنیم نیز می توانیم از علامت (~) به جای دایرکتوری home استفاده کنیم چرا که terminal به پوشه home مربوط به کاربر ما اشاره خواهد داشت . با این حال زمانی که یک root shell را با استفاده از دستور sudo -i یا sudo -s باز می کنیم ، نماد (~) به پوشه home مربوط به اکانت root اشاره خواهد کرد که در واقع پوشه home کاربر ما نیست .
- Rm: دستور rm برای حذف یک فایل از یک دایرکتوری استفاده می شود . rm مخفف عبارت remove است.
- Rmdir: عبارت dir مخفف کلمه ی directory می باشد بنابراین می توان دریافت که دستور rmdir به حذف یک دایرکتوری خالی می پردازد . برای حذف یک دایر کتوری و تمام محتویات درون به جای rm از دستور rm -r استفاده می شود .همانطور که می دانیم r نیز بیانگر عبارت recursively می باشد.
- Mkdir: به کمک دستور mkdir قادر خواهیم بود که یک دایرکتوری ایجاد کنیم . به عنوان مثال دستور “mkdir itpro” یک پوشه یا دایرکتوری با نام itpro ایجاد خواهد کرد . mk مخفف عبارت make می باشد.
- clear: این دستور کلیه ی مطالب و دستورات تایپ شده در صفحه ی ترمینال را پاک می کند.
- Man : بواسطه این دستور می توان به راهنمای سایر دستورات دسترسی پیدا کرد.مثلا دستور “man man” صفحه ای از اطلاعات مرتبط با خود دستور man را نمایش می دهد . این دستور صفحه ای پر از نوشته و اطلاعات را در اختیار قرار می دهد که ممکن است کمی گیج کننده باشد اما بخشی که باید به آن توجه داشته باشیم توضیحات دستور و کاری که انجام می دهد، می باشد. برای scrol کردن به پایین این صفحه ی راهنما از کلید space و برای خروج از آن از کلید q استفاده می کنیم. در ادامه بیشتر به بررسی دستور man خواهیم پرداخت...
- Sudo: این دستور برای انجام عملیاتی روی فایل ها استفاده می شود که تنها کاربر root قادر به اعمال این تغییرات است.مثلا عملیات بازگردانی یکی از داکیومنت هایی که به طور تصادفی به کابر دیگری منتقل شده،به پوشه دایرکتوری کابر خودمان نیازمند دسترسی root می باشد. به طور معمول برای انتقال یک فایل از دستور mv //mydoc.odt ~//Documents//mydoc.odt استفاده می شود که این دستور قادر به ویرایش و تغییر وضعیت فایل در خارج از پوشه ی home ما نیست .برای این منظور می توانیم از دستور sudo mv //mydoc.odt ~//Documents//mydoc.odt استفاده کنیم این دستور فایل را با موفقیت به مکان مورد نظر بازگردانی و منتقل خواهد کرد.
نگارخانه
صفحهٔ خوشآمدگوییِ گارودا لینوکس
یادداشتها
- ↑ GNU is the primary userland used in nearly all Linux distributions. The GNU userland contains system daemons, user applications, the GUI, and various libraries. GNU Core utilities are an essential part of most distributions. Most Linux distributions use the X Window system. Other components of the userland, such as the widget toolkit, vary with the specific distribution, desktop environment, and user configuration.
- ↑ BusyBox is an alternative userland used in many embedded Linux distributions. BusyBox replaces most GNU Core utilities. One notable Desktop distribution using BusyBox is Alpine_Linux
جستارهای وابسته
پیوند به بیرون
منابع
- ↑ "GNU Userland". Archived from the original on March 8, 2016.
- ↑ "Unix Fundamentals — System Administration for Cyborgs". Archived from the original on October 5, 2016.
- ↑ "Operating Systems — Introduction to Information and Communication Technology". Archived from the original on February 21, 2016.
- ↑ "The X Window System". Archived from the original on January 20, 2016.
- ↑ "PCLinuxOS Magazine - HTML". Archived from the original on May 15, 2013.
- ↑ "The Busybox about page". busybox.net.
- ↑ "The Alpine Linux about page". alpinelinux.org.
- ↑ ریچارد استالمن (2021/11/02). "پرسشهای رایج گنو/لینوکس". https://www.gnu.org/gnu/gnu-linux-faq.html#top (به انگلیسی). ;
- ↑ «لینوکس و گنو - پروژه گنو - بنیاد نرمافزارهای آزاد». www.gnu.org. دریافتشده در ۲۰۲۲-۰۱-۰۵.
- ↑ IBM (2001). "Linux Watch". Archived from the original on 20 December 2001. Retrieved 2009-09-29.
- ↑ Linux Devices (2010). "Trolltech rolls "complete" Linux smartphone stack". Archived from the original on 25 May 2012. Retrieved 2009-09-29.
- ↑ Computerworld, Patrick Thibodeau. "IBM's newest mainframe is all Linux". Retrieved 2009-02-22.
- ↑ Lyons, Daniel. "Linux rules supercomputers". Forbes. Retrieved 2007-02-22.
- ↑ «THE RISE AND RISE OF LINUX». بایگانیشده از اصلی در ۱۷ فوریه ۲۰۰۷. دریافتشده در ۲۹ مه ۲۰۱۷.
- ↑ «Aplus.Net is the Most Reliable Hosting Company Site in June 2008».
- ↑ Prakash، Abhishek. «Linux Runs all of the Top 500 Fastest Supercomputers». https://itsfoss.com/ (به انگلیسی). دریافتشده در ۲۰۲۰-۰۲-۱۳.
- ↑ "TOP500". Wikipedia (به انگلیسی). 2020-02-11.
- ↑ «لینوکس».
- گلین مودی: برنامه یاغی: جنبش لینوکس و بازمتن، انتشارات پرسیوس، شابک ۳-۹۹۵۲۰-۷۱۳-۰
- جیددا آر (۲۰۰۴)