توضیحات
26 |منابع و آزمون
45 |منابع مرتبط:
53 | 54 |= $metadata['references_description'] ?>
55 | 56 | = $this->renderReferences($metadata['references']) ?> 57 | 58 | 59 | 60 |├── .gitignore ├── templates ├── templateLesson │ ├── Quiz │ │ ├── 1.txt │ │ └── 2.txt │ ├── index.php │ ├── content.php │ └── metadata.php └── lesson-layout.php ├── Lessons ├── GettingStart │ ├── Fedora │ │ ├── Quiz │ │ │ ├── 2.txt │ │ │ ├── 1.txt │ │ │ └── 3.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── LinuxMint │ │ ├── Quiz │ │ │ ├── 2.txt │ │ │ └── 1.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── Debian │ │ ├── Quiz │ │ │ ├── 2.txt │ │ │ ├── 1.txt │ │ │ └── 3.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── Ubuntu │ │ ├── Quiz │ │ │ ├── 1.txt │ │ │ ├── 2.txt │ │ │ └── 3.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── History │ │ ├── Quiz │ │ │ ├── 2.txt │ │ │ ├── 1.txt │ │ │ └── 3.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── RedHat │ │ ├── Quiz │ │ │ ├── 2.txt │ │ │ └── 1.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── index.php │ ├── ArchLinux │ │ ├── Quiz │ │ │ ├── 1.txt │ │ │ └── 2.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── Gentoo │ │ ├── Quiz │ │ │ └── 1.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── OpenSUSE │ │ ├── Quiz │ │ │ ├── 1.txt │ │ │ └── 2.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── choosing-a-linux-distribution │ │ ├── Quiz │ │ │ ├── 1.txt │ │ │ └── 2.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ └── menu.php ├── CommandLine │ ├── ls-command │ │ ├── Quiz │ │ │ ├── 1.txt │ │ │ ├── 3.txt │ │ │ └── 2.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── mv-command │ │ ├── Quiz │ │ │ ├── 2.txt │ │ │ └── 1.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── cp-command │ │ ├── Quiz │ │ │ ├── 3.txt │ │ │ ├── 2.txt │ │ │ └── 1.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── find-command │ │ ├── Quiz │ │ │ ├── 1.txt │ │ │ └── 2.txt │ │ ├── metadata.php │ │ ├── content.php │ │ └── index.php │ ├── help-command │ │ ├── Quiz │ │ │ ├── 1.txt │ │ │ └── 2.txt │ │ ├── metadata.php │ │ └── content.php │ ├── index.php │ ├── man-command │ │ ├── Quiz │ │ │ ├── 1.txt │ │ │ └── 2.txt │ │ ├── metadata.php │ │ ├── content.php │ │ └── index.php │ ├── alias-command │ │ ├── Quiz │ │ │ ├── 1.txt │ │ │ └── 2.txt │ │ ├── metadata.php │ │ └── content.php │ ├── whatis-command │ │ ├── Quiz │ │ │ ├── 1.txt │ │ │ └── 2.txt │ │ ├── metadata.php │ │ └── content.php │ ├── cd-command │ │ ├── Quiz │ │ │ ├── 2.txt │ │ │ └── 1.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── history-command │ │ ├── Quiz │ │ │ ├── 1.txt │ │ │ ├── 2.txt │ │ │ └── 3.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── rm-command │ │ ├── Quiz │ │ │ ├── 3.txt │ │ │ ├── 2.txt │ │ │ └── 1.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── touch-command │ │ ├── Quiz │ │ │ └── 1.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── mkdir-command │ │ ├── Quiz │ │ │ └── 1.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── exit-command │ │ ├── Quiz │ │ │ ├── 1.txt │ │ │ └── 2.txt │ │ ├── metadata.php │ │ ├── content.php │ │ └── index.php │ ├── pwd-command │ │ ├── Quiz │ │ │ ├── 1.txt │ │ │ └── 2.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── file-command │ │ ├── Quiz │ │ │ ├── 2.txt │ │ │ └── 1.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── cat-command │ │ ├── Quiz │ │ │ ├── 1.txt │ │ │ └── 2.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── less-command │ │ ├── Quiz │ │ │ ├── 2.txt │ │ │ └── 1.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── The-Shell │ │ ├── Quiz │ │ │ ├── 2.txt │ │ │ └── 1.txt │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── rmdir-command │ │ ├── index.php │ │ ├── metadata.php │ │ └── content.php │ ├── menu1.php │ └── menu2.php └── AjaxHandler.php ├── assets ├── img │ ├── anim.gif │ ├── Hero │ │ ├── linux2.jpg │ │ ├── linux9.jpg │ │ ├── linux1C.jpg │ │ ├── linux2C.jpg │ │ ├── linux3C.jpg │ │ ├── linux4C.jpg │ │ ├── linux5.webp │ │ ├── linux7C.jpg │ │ └── linux8C.jpg │ ├── Lessons │ │ ├── DNS.png │ │ ├── Init.png │ │ ├── start.gif │ │ ├── Devices.png │ │ ├── Kernel.png │ │ ├── Logging.png │ │ ├── Packages.png │ │ ├── Routing.png │ │ ├── Processes.png │ │ ├── Subnetting.png │ │ ├── Command Line.png │ │ ├── Getting Start.png │ │ ├── Permissions.png │ │ ├── Text-Fu Pro.png │ │ ├── Work On Text.png │ │ ├── commandline.png │ │ ├── Boot The System.png │ │ ├── Network Basics.png │ │ ├── Network Config.png │ │ ├── Network Sharing.png │ │ ├── The Filesystem.png │ │ ├── Troubleshooting.png │ │ ├── User Management.png │ │ └── Process Utilization.png │ ├── close-menu.svg │ └── icon.svg ├── fonts │ ├── myfont-Black.woff2 │ ├── myfont-Bold.woff2 │ ├── myfont-Light.woff2 │ ├── myfont-Medium.woff2 │ ├── myfont-Regular.woff2 │ ├── myfont-ExtraBold.woff2 │ ├── myfont-ExtraLight.woff2 │ └── myfont-SemiBold.woff2 ├── helper │ ├── Helper.php │ └── LessonHelper.php ├── js │ ├── HeaderFooter.js │ └── needLessonsScript.js └── css │ ├── MainMeta.php │ ├── style.css │ └── SeedStyle.css ├── package.json ├── tailwind.config.js ├── Constants.php ├── src ├── Footer.php ├── input.css └── Header.php ├── README_fa.md └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | /.idea/ -------------------------------------------------------------------------------- /templates/templateLesson/Quiz/1.txt: -------------------------------------------------------------------------------- 1 | جواب سوال اول -------------------------------------------------------------------------------- /Lessons/GettingStart/Fedora/Quiz/2.txt: -------------------------------------------------------------------------------- 1 | پکیج منیجر RPM -------------------------------------------------------------------------------- /Lessons/CommandLine/ls-command/Quiz/1.txt: -------------------------------------------------------------------------------- 1 | با دستور ls -a -------------------------------------------------------------------------------- /Lessons/GettingStart/Fedora/Quiz/1.txt: -------------------------------------------------------------------------------- 1 | شرکت ردهت (RedHat) -------------------------------------------------------------------------------- /Lessons/GettingStart/LinuxMint/Quiz/2.txt: -------------------------------------------------------------------------------- 1 | از dpkg و apt -------------------------------------------------------------------------------- /Lessons/GettingStart/Debian/Quiz/2.txt: -------------------------------------------------------------------------------- 1 | اوبونتو - کوبونتو - مینت -------------------------------------------------------------------------------- /Lessons/GettingStart/Debian/Quiz/1.txt: -------------------------------------------------------------------------------- 1 | از پکیج منیجر dpkg و ابزار apt -------------------------------------------------------------------------------- /Lessons/GettingStart/Ubuntu/Quiz/1.txt: -------------------------------------------------------------------------------- 1 | بر پایه توزیع دبیان شکل گرفته! -------------------------------------------------------------------------------- /Lessons/CommandLine/mv-command/Quiz/2.txt: -------------------------------------------------------------------------------- 1 | کار دیگه اش تغییر نام همون فایله -------------------------------------------------------------------------------- /Lessons/GettingStart/Debian/Quiz/3.txt: -------------------------------------------------------------------------------- 1 | 3 نسخه : پایدار - ناپیدار - تست -------------------------------------------------------------------------------- /Lessons/GettingStart/History/Quiz/2.txt: -------------------------------------------------------------------------------- 1 | در 5 اکتبر 1991 2 | (9 مهر 1370) -------------------------------------------------------------------------------- /Lessons/GettingStart/RedHat/Quiz/2.txt: -------------------------------------------------------------------------------- 1 | رد هت از خانواده توزیع فدروا است :) -------------------------------------------------------------------------------- /Lessons/GettingStart/History/Quiz/1.txt: -------------------------------------------------------------------------------- 1 | لینوس توروالدز 2 | (Linus Torvalds) -------------------------------------------------------------------------------- /Lessons/GettingStart/RedHat/Quiz/1.txt: -------------------------------------------------------------------------------- 1 | ردهت از پکیج منجیر RPM استفاده میکنه! -------------------------------------------------------------------------------- /Lessons/GettingStart/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/GettingStart/Fedora/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/GettingStart/Gentoo/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/GettingStart/History/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/GettingStart/OpenSUSE/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/GettingStart/RedHat/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/GettingStart/Ubuntu/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/CommandLine/The-Shell/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/CommandLine/cat-command/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/CommandLine/cd-command/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/CommandLine/cp-command/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/CommandLine/ls-command/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/CommandLine/mv-command/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/CommandLine/pwd-command/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/CommandLine/rm-command/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/GettingStart/ArchLinux/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/GettingStart/LinuxMint/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/CommandLine/file-command/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/CommandLine/history-command/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/CommandLine/less-command/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/CommandLine/mkdir-command/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/CommandLine/rmdir-command/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/CommandLine/touch-command/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/GettingStart/choosing-a-linux-distribution/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /Lessons/CommandLine/The-Shell/Quiz/1.txt: -------------------------------------------------------------------------------- 1 | نه ، ترمینال یه نرم افزار واسطه است که برای نمایش خروجی ها و ورودی هاست 2 | (فقط برای نمایش و دریافت نتایجه) ، اما شل 3 | یا پوسته، نرم افزاریه که دستورات شما رو اجرا میکنه! (دستورات رو به 0 و 1 ترجمه میکنه) -------------------------------------------------------------------------------- /templates/templateLesson/index.php: -------------------------------------------------------------------------------- 1 | render(); -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "devDependencies": { 3 | "tailwindcss": "^3.3.2" 4 | }, 5 | "scripts": { 6 | "build": "tailwindcss -i ./src/input.css -o ./dist/output.css" 7 | }, 8 | "dependencies": { 9 | "sweetalert2": "11.14.2" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: [ 4 | "./src/**/*.{html,js,php}", 5 | "./*.php", 6 | "./Lessons/**/*.{html,js,php}", 7 | "./assets/helper/Helper.php" 8 | ], 9 | theme: { 10 | extend: {}, 11 | }, 12 | plugins: [], 13 | } 14 | 15 | -------------------------------------------------------------------------------- /Lessons/AjaxHandler.php: -------------------------------------------------------------------------------- 1 | Turn On , 1 -> Turn Off */ 3 | if (TURN_SITE) exit(); 4 | const MAIN_DIR = __DIR__ . '/'; #Main Directory 5 | const MAIN_SERVER = "http://localhost:63342/Linux_Learning" . '/'; # Main Server 6 | const MAIN_GITHUB = "https://github.com/amirroox/Linux_Learning"; # Github Page 7 | const MAIN_SITE = "https://road-map.ir"; 8 | 9 | include_once "assets/helper/Helper.php"; -------------------------------------------------------------------------------- /Lessons/CommandLine/rmdir-command/metadata.php: -------------------------------------------------------------------------------- 1 | 'دستور rmdir', 4 | 5 | 'has_slider' => false, 6 | 7 | 'exercises' => [ 8 | 'حقیقتا چیز خاصی نیست بهتون بگم برید تمرین کنید :(' 9 | ], 10 | 11 | 'quizzes' => [], 12 | 13 | 'next_lesson' => [ 14 | 'url' => 'rm-command', 15 | 'title' => 'دستور rm', 16 | 'is_season' => False 17 | ] 18 | ]; -------------------------------------------------------------------------------- /Lessons/CommandLine/alias-command/metadata.php: -------------------------------------------------------------------------------- 1 | 'انتخاب توزیع لینوکس', 4 | 5 | 'has_slider' => false, 6 | 7 | 'exercises' => [ 8 | '' 9 | ], 10 | 11 | 'quizzes' => [ 12 | 'سه بخش اساسی در سیستم های لینوکس ؟', 13 | 'آیا لینوکس یک سیستم عامل است ؟' 14 | ], 15 | 16 | 'next_lesson' => [ 17 | 'url' => 'Debian', 18 | 'title' => 'دبیان - Debian', 19 | 'is_season' => False 20 | ] 21 | ]; -------------------------------------------------------------------------------- /Lessons/CommandLine/exit-command/metadata.php: -------------------------------------------------------------------------------- 1 | 'انتخاب توزیع لینوکس', 4 | 5 | 'has_slider' => false, 6 | 7 | 'exercises' => [ 8 | '' 9 | ], 10 | 11 | 'quizzes' => [ 12 | 'سه بخش اساسی در سیستم های لینوکس ؟', 13 | 'آیا لینوکس یک سیستم عامل است ؟' 14 | ], 15 | 16 | 'next_lesson' => [ 17 | 'url' => 'Debian', 18 | 'title' => 'دبیان - Debian', 19 | 'is_season' => False 20 | ] 21 | ]; -------------------------------------------------------------------------------- /Lessons/CommandLine/find-command/metadata.php: -------------------------------------------------------------------------------- 1 | 'انتخاب توزیع لینوکس', 4 | 5 | 'has_slider' => false, 6 | 7 | 'exercises' => [ 8 | '' 9 | ], 10 | 11 | 'quizzes' => [ 12 | 'سه بخش اساسی در سیستم های لینوکس ؟', 13 | 'آیا لینوکس یک سیستم عامل است ؟' 14 | ], 15 | 16 | 'next_lesson' => [ 17 | 'url' => 'Debian', 18 | 'title' => 'دبیان - Debian', 19 | 'is_season' => False 20 | ] 21 | ]; -------------------------------------------------------------------------------- /Lessons/CommandLine/help-command/metadata.php: -------------------------------------------------------------------------------- 1 | 'انتخاب توزیع لینوکس', 4 | 5 | 'has_slider' => false, 6 | 7 | 'exercises' => [ 8 | '' 9 | ], 10 | 11 | 'quizzes' => [ 12 | 'سه بخش اساسی در سیستم های لینوکس ؟', 13 | 'آیا لینوکس یک سیستم عامل است ؟' 14 | ], 15 | 16 | 'next_lesson' => [ 17 | 'url' => 'Debian', 18 | 'title' => 'دبیان - Debian', 19 | 'is_season' => False 20 | ] 21 | ]; -------------------------------------------------------------------------------- /Lessons/CommandLine/man-command/metadata.php: -------------------------------------------------------------------------------- 1 | 'انتخاب توزیع لینوکس', 4 | 5 | 'has_slider' => false, 6 | 7 | 'exercises' => [ 8 | '' 9 | ], 10 | 11 | 'quizzes' => [ 12 | 'سه بخش اساسی در سیستم های لینوکس ؟', 13 | 'آیا لینوکس یک سیستم عامل است ؟' 14 | ], 15 | 16 | 'next_lesson' => [ 17 | 'url' => 'Debian', 18 | 'title' => 'دبیان - Debian', 19 | 'is_season' => False 20 | ] 21 | ]; -------------------------------------------------------------------------------- /Lessons/CommandLine/whatis-command/metadata.php: -------------------------------------------------------------------------------- 1 | 'انتخاب توزیع لینوکس', 4 | 5 | 'has_slider' => false, 6 | 7 | 'exercises' => [ 8 | '' 9 | ], 10 | 11 | 'quizzes' => [ 12 | 'سه بخش اساسی در سیستم های لینوکس ؟', 13 | 'آیا لینوکس یک سیستم عامل است ؟' 14 | ], 15 | 16 | 'next_lesson' => [ 17 | 'url' => 'Debian', 18 | 'title' => 'دبیان - Debian', 19 | 'is_season' => False 20 | ] 21 | ]; -------------------------------------------------------------------------------- /assets/helper/Helper.php: -------------------------------------------------------------------------------- 1 | " ; 6 | echo "بعدی : " . ($text ?? $lesson) ; 7 | echo ""; 8 | return; 9 | } 10 | echo " " ; 11 | echo "بعدی : " . ($text ?? $lesson) ; 12 | echo ""; 13 | } 14 | -------------------------------------------------------------------------------- /assets/img/close-menu.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Lessons/CommandLine/mkdir-command/metadata.php: -------------------------------------------------------------------------------- 1 | 'دستور mkdir', 4 | 5 | 'has_slider' => false, 6 | 7 | 'exercises' => [ 8 | 'راهنما این دستور خیلی زیاد نیست، اما یه فلگ داره به نام m که بهتون نمیگم چیه، برید ببینید چیه' 9 | ], 10 | 11 | 'quizzes' => [ 12 | 'دستور mkdir برای پاک کردن پوشه ها هم کاربرد داره؟' 13 | ], 14 | 15 | 'next_lesson' => [ 16 | 'url' => 'rmdir-command', 17 | 'title' => 'دستور rmdir', 18 | 'is_season' => False 19 | ] 20 | ]; -------------------------------------------------------------------------------- /assets/js/HeaderFooter.js: -------------------------------------------------------------------------------- 1 | /* Open & Close SideMenu */ 2 | $("#open-side-menu-btn").on("click" , function () { 3 | $("#side-menu").addClass("side-menu-enable"); 4 | }); 5 | $("#close-side-menu-btn").on("click" , function () { 6 | $("#side-menu").removeClass("side-menu-enable"); 7 | }); 8 | 9 | /* Open & Close SubMenu In SideBar */ 10 | $(".openSubMenu").on("click" , function () { 11 | let submenu = $(this).find('ul'); 12 | if(submenu.hasClass('subMenuD')) { 13 | submenu.removeClass('subMenuD'); 14 | } 15 | else { 16 | submenu.addClass('subMenuD'); 17 | } 18 | }); -------------------------------------------------------------------------------- /Lessons/CommandLine/cat-command/metadata.php: -------------------------------------------------------------------------------- 1 | 'دستور cat', 4 | 5 | 'has_slider' => false, 6 | 7 | 'exercises' => [ 8 | 'واقعا باید تمرین بدم ؟ خب نمیدم! ولی در کل بهتره روی فایل ها و فرمت های مختلف تست کنید تا ببیند چه نتیجه ایی میده. مثلا روی فرمت های عکسی و پی دی افی حتما امتحان کنید قشنگای باباتون!' 9 | ], 10 | 11 | 'quizzes' => [ 12 | 'دستور cat برای چه کاری استفاده میشه ؟', 13 | 'دستور cat هر فایلی رو میخونه؟' 14 | ], 15 | 16 | 'next_lesson' => [ 17 | 'url' => 'less-command', 18 | 'title' => 'دستور less', 19 | 'is_season' => False 20 | ] 21 | ]; -------------------------------------------------------------------------------- /Lessons/CommandLine/file-command/metadata.php: -------------------------------------------------------------------------------- 1 | 'دستور file', 4 | 5 | 'has_slider' => false, 6 | 7 | 'exercises' => [ 8 | 'فقط یه تمرین دارید که برای خودتونم میتونه جذاب باشه! برید چنتا چیز مختلف دانلود کنید با فرمت های مختلفی مثل jpg, png, pdf, txt, iso و هر فرمتی که دلتون خواست و با دستور file ببینید چه خروجی به شما میده!' 9 | ], 10 | 11 | 'quizzes' => [ 12 | 'دستور file میتونه چنتا فایل رو هم همزمان قبول کنه؟', 13 | 'دستور file فقط فرمت رو نمایش میده؟' 14 | ], 15 | 16 | 'next_lesson' => [ 17 | 'url' => 'cat-command', 18 | 'title' => 'دستور cat', 19 | 'is_season' => False 20 | ] 21 | ]; -------------------------------------------------------------------------------- /Lessons/CommandLine/rmdir-command/content.php: -------------------------------------------------------------------------------- 1 |
4 | حالا که یادگرفیتم پوشه بسازیم، بلخره باید یاد بگیریم که چجوری پاکشون کنیم! البته توجه کنید که دستور rmdir برای پاک کردن پوشه های خالی کاربرد داره و پوشه هایی که پر هستن رو با دستور rm که توی 5 | جلسه بعدی کار میکنیم، میتونیم پاک کنیم. 6 | روش کار باهاشم خیلی سادست و فلگ خاصی هم نداره جز همون فلگ p که برای پاک کردن یه پوشه داخل یه پوشه دیگه کاربرد داره 7 |
8 |
9 |
10 | rmdir flanFile flanFile2
11 |
12 | rmdir -p a/b
13 | # دستور بالا پوشه بی و اِی رو باهم پاک میکنه که دستور مشابش میشه پایین
14 | rmdir a/b a
15 |
16 |
--------------------------------------------------------------------------------
/Lessons/CommandLine/touch-command/metadata.php:
--------------------------------------------------------------------------------
1 | 'دستور touch',
4 |
5 | 'has_slider' => false,
6 |
7 | 'exercises' => [
8 | 'خب تمرینات امروز خیلی ساده است ولی برای اینکه دستتون گرم بشه، حتما با دستورات قبلی که یاد گرفتید ترکیبشون کنید و توی مسیرهای مختلف فایل بسازید.',
9 | 'چنتا فایل با پسوند های مختلف بسازید (مثلا pdf یا txt)',
10 | 'فایل هایی که از قبل ایجاد کردید رو یبار دیگه بسازید و timestamp رو چک کنید!',
11 | ],
12 |
13 | 'quizzes' => [
14 | 'آیا میشه چنتا فایل رو همزمان هم ساخت ؟'
15 | ],
16 |
17 | 'next_lesson' => [
18 | 'url' => 'file-command',
19 | 'title' => 'دستور file',
20 | 'is_season' => False
21 | ]
22 | ];
--------------------------------------------------------------------------------
/Lessons/CommandLine/mv-command/metadata.php:
--------------------------------------------------------------------------------
1 | 'دستور mv',
4 |
5 | 'has_slider' => false,
6 |
7 | 'references' => [],
8 |
9 | 'references_description' => '',
10 |
11 | 'exercises' => [
12 | 'مثل همیشه، میتونید برای خودتون تست کنید و با دستور help برید ببینید چه فلگ هایی براتون چیدن!',
13 | 'یه دایرکتوری ایجاد کنید، از دستور های cp ls cd mv استفاده کنید و خودتونو به چالش بکشید.',
14 | ],
15 |
16 | 'quizzes' => [
17 | 'فلگ b دقیقا چیکار میکنه؟',
18 | 'دستور mv به جز جابه جایی فایل کار دیگه ام بلده؟'
19 | ],
20 |
21 | 'next_lesson' => [
22 | 'url' => 'mkdir-command',
23 | 'title' => 'دستور mkdir',
24 | 'is_season' => False
25 | ]
26 | ];
--------------------------------------------------------------------------------
/Lessons/CommandLine/rm-command/metadata.php:
--------------------------------------------------------------------------------
1 | 'دستور rm',
4 |
5 | 'has_slider' => false,
6 |
7 | 'exercises' => [
8 | 'چنتا فایل و فولدر بسازید، و توی بعضیاش رو خالی بزارید، توی بعضیارو پر کنید و کلا با دستوراتی که تا الان یاد گرفتید بازی کنید :)',
9 | 'یه فلگ دیگه داریم به نام I که برید ببینید این دقیقا چیکار میکنه، راهنما هم اینکه شبیه i عه!'
10 | ],
11 |
12 | 'quizzes' => [
13 | 'یه پوشه خالی رو چجوری میشه پاک کرد؟',
14 | 'یه پوشه پُر رو چجموری میشه نابود کرد؟',
15 | 'اگه برای پاک کردن یه فایل مشکل داشتیم، چجوری پاکش کنیم؟'
16 | ],
17 |
18 | 'next_lesson' => [
19 | 'url' => 'find-command',
20 | 'title' => 'دستور find',
21 | 'is_season' => False
22 | ]
23 | ];
--------------------------------------------------------------------------------
/templates/templateLesson/content.php:
--------------------------------------------------------------------------------
1 |
9 |
13 |
19 |
20 | cat hi.txt bay-bay.txt
21 | Hello World
22 | Buy Buy Single Life :)
23 |
24 |
--------------------------------------------------------------------------------
/Lessons/CommandLine/cd-command/metadata.php:
--------------------------------------------------------------------------------
1 | 'دستور cd',
4 |
5 | 'has_slider' => false,
6 |
7 | 'exercises' => [
8 | 'یبار دستور cd رو بدون هیچ چیزی اجرا کنید! یعنی خالی بنویسید cd و بعد ببینید چه اتفاقی میوفته! و به چه مسیری انتقال پیدا میکنید!',
9 | 'توی مسیر های مختلف برید و فایل ها و پوشه بندی های مختلف رو مشاهده کنید. (برای خودتون بازی کنید و هی توی پوشه ها جلو عقب برید تا دستتون عادت کنه به این دستور ، چون خیلی استفاده میشه!)'
10 | ],
11 |
12 | 'quizzes' => [
13 | 'فرض کنید توی path یا آدرس home/amir هستید و میخواید وارد مسیر root بشید ، باید چیکار کنید ؟',
14 | 'فرض کنید توی همون مثال بالا میخواید یه خونه برید عقب! چیکار میکنید؟'
15 | ],
16 |
17 | 'next_lesson' => [
18 | 'url' => 'ls-command',
19 | 'title' => 'دستور ls',
20 | 'is_season' => False
21 | ]
22 | ];
--------------------------------------------------------------------------------
/Lessons/CommandLine/pwd-command/metadata.php:
--------------------------------------------------------------------------------
1 | 'انتخاب توزیع لینوکس',
4 |
5 | 'has_slider' => false,
6 |
7 | 'references' => [
8 | [
9 | 'title' => 'pwd Command in Linux with Examples',
10 | 'url' => 'https://www.geeksforgeeks.org/pwd-command-in-linux-with-examples/'
11 | ]
12 | ],
13 |
14 | 'references_description' => 'یه لینک براتون گذاشتم که بیشتر با دستور pwd آشنا بشید:',
15 |
16 | 'exercises' => [
17 | 'برای اینکه بیشتر با این دستور آشنا بشید ، حتما ترمینال رو توی مسیرهای مختلف باز کنید و چک کنید چه مسیری رو بهتون نمایش میده!'
18 | ],
19 |
20 | 'quizzes' => [
21 | 'اولین دایرکتوری توی لینوکس چیست ؟ و با چه علامتی نمایش داده میشود؟',
22 | 'دستوری که الان یاد گرفتید به چه دردی میخوره؟'
23 | ],
24 |
25 | 'next_lesson' => [
26 | 'url' => 'cd-command',
27 | 'title' => 'دستور cd',
28 | 'is_season' => False
29 | ]
30 | ];
--------------------------------------------------------------------------------
/Lessons/CommandLine/less-command/metadata.php:
--------------------------------------------------------------------------------
1 | 'دستور less',
4 |
5 | 'has_slider' => false,
6 |
7 | 'references' => [
8 | [
9 | 'title' => 'less Command',
10 | 'url' => 'https://www.geeksforgeeks.org/less-command-linux-examples/'
11 | ],
12 | [
13 | 'title' => 'less Command 2',
14 | 'url' => 'https://www.javatpoint.com/linux-less'
15 | ]
16 | ],
17 |
18 | 'references_description' => ' این زیر دوتا لینک گذاشتم برای اطلاعات بیشتر در مورد این دستور:',
19 |
20 | 'exercises' => [
21 | 'تمرینتون یکمی سخته، تو ترمینالتون دستور less --help رو وارد کنید و سعی کنید باهاش وَر برید و بفهمید هر آپشن چیکار میکنه.'
22 | ],
23 |
24 | 'quizzes' => [
25 | 'دستور less دقیقا کارش چیه؟',
26 | 'مشابه دستور less چه دستوری داریم؟'
27 | ],
28 |
29 | 'next_lesson' => [
30 | 'url' => 'history-command',
31 | 'title' => 'دستور history',
32 | 'is_season' => False
33 | ]
34 | ];
--------------------------------------------------------------------------------
/Lessons/CommandLine/history-command/metadata.php:
--------------------------------------------------------------------------------
1 | 'دستور history',
4 |
5 | 'has_slider' => false,
6 |
7 | 'references' => [
8 | [
9 | 'title' => 'منبع اول',
10 | 'url' => 'https://www.geeksforgeeks.org/less-command-linux-examples/'
11 | ],
12 | [
13 | 'title' => 'منبع دوم',
14 | 'url' => 'https://www.javatpoint.com/linux-less'
15 | ]
16 | ],
17 |
18 | 'references_description' => 'بازم این زیر میتونید منابع مرتبط رو دنبال کنید :',
19 |
20 | 'exercises' => [
21 | 'خودتون اگه سرچ کنید یا از دستور help استفاده کنید میتونه خیلی راهنمای خوبی باشه!'
22 | ],
23 |
24 | 'quizzes' => [
25 | 'کار دقیق هیستوری چیه؟',
26 | 'چجوری میتونی یه دستور خاص رو توی هیستوری اجرا کنی؟',
27 | 'اگه بخوایم داخل هیستوری بگردیم چی کار کنیم؟'
28 | ],
29 |
30 | 'next_lesson' => [
31 | 'url' => 'cp-command',
32 | 'title' => 'دستور cp',
33 | 'is_season' => False
34 | ]
35 | ];
--------------------------------------------------------------------------------
/Lessons/CommandLine/mkdir-command/content.php:
--------------------------------------------------------------------------------
1 | 4 | بلخره همه نیاز داریم یه پوشه بسازیم تا توش کارامون رو بریزیم، و همینجوری نمیایم رو دسکتاپ رو پر نمیکنیم (البته خیلیا میکنن)، برای اینکه بتونید 5 | پوشه خودتون رو بسازید از دستور mkdir که مخفف make directory عه استفاده میکنیم! همچنین این دستور هم مثل خیلی از دستور ها میتونه چنتا کار بکنه (منظورم اینه که میتونه چنتا پوشه همزمان بسازه) مثل زیر: 6 |
7 |
8 |
9 | mkdir books movies "dont touch"
10 |
11 | # کاری نداشته باشید که تو پوشه آخر چیه! اما چون بینش فاصله داره توی دابل کوتیشن گذاشتمش
12 |
13 |
14 |
15 | 16 | حالا بعضی وقتا میخوایم یه پوشه بسازیم که توش یه پوشه دیگه باشه، اگه اون پوشه از قبل وجود نداشته باشه mkdir خطا میده، برای همین باید از فلگ p استفاده کنیم که مخفف parent عه. 17 | حالا با این فلگ میتونیم یه پوشه داخل یه پوشه دیگه بسازیم، حتی وقتی اون پوشه اولیه از اول وجود نداشته باشه. مثل این: 18 |
19 | 20 |
21 |
22 | mkdir -p books/persian
23 |
24 |
--------------------------------------------------------------------------------
/Lessons/CommandLine/ls-command/metadata.php:
--------------------------------------------------------------------------------
1 | 'دستور ls',
4 |
5 | 'has_slider' => false,
6 |
7 | 'exercises' => [
8 | 'خب چنتا تمرین دارید که باید انجام بدید، فلگ های R، r و t رو تست کنید و ببینید چجوری کار میکنن.',
9 | 'ممکنه با تست کردن یکمی براتون سخت باشه فهمیدن اینکه چیکار میکنن ، پس یه راهنمایی کوچیک براتون دارم! پرچم r- مخفف reverse ، پس خیلی راحت میشه فهمید چیکار میکنه!',
10 | 'پرچم t- مخفف time که اینم روشه که چیکار میکنه(بر اساس زمان مرتبسازی میکنه) و در آخر پرچم R- مخفف کلمه recursive به معنی بازگشتیه که اگه بخوام راهنمایی کنم کارش اینه که فایل ها و پوشه های داخل پوشه هارو هم بهتون نمایش میده (خودتون تست کنید بیشتر متوجه میشید!)',
11 | ],
12 |
13 | 'quizzes' => [
14 | 'با چه دستوری میشه تمامی فایل های یه دایرکتوری رو دید (حتی فایل های مخفی)؟',
15 | 'پرچم l (اِل) چه کاری انجام میده ؟',
16 | 'میشه از پرچم ها باهم استفاده کرد؟'
17 | ],
18 |
19 | 'next_lesson' => [
20 | 'url' => 'touch-command',
21 | 'title' => 'دستور touch',
22 | 'is_season' => False
23 | ]
24 | ];
--------------------------------------------------------------------------------
/Lessons/GettingStart/Gentoo/metadata.php:
--------------------------------------------------------------------------------
1 | 'جنتو - Gentoo',
4 |
5 | 'has_slider' => false,
6 |
7 | 'references' => [
8 | [
9 | 'title' => 'سایت رسمی جنتو',
10 | 'url' => 'https://www.gentoo.org/'
11 | ],
12 | [
13 | 'title' => 'جنتو (ویکی پدیا)',
14 | 'url' => 'https://fa.wikipedia.org/wiki/%D8%AC%D9%86%D8%AA%D9%88_%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3/'
15 | ],
16 | [
17 | 'title' => 'پنج دلیل برای استفاده از جنتو لینوکس',
18 | 'url' => 'https://faceit.ir/news/6727/5-Reasons-why-use-Gentoo-Linux/'
19 | ],
20 | [
21 | 'title' => 'Gentoo Linux چیست؟',
22 | 'url' => 'https://parsdev.com/blog/linux-gentoo'
23 | ]
24 | ],
25 |
26 | 'references_description' => 'بازم مثل همیشه از زیر منابع مرتبط رو میتونید ببینید :',
27 |
28 | 'quizzes' => [
29 | 'جنتو از چه پکیج منیجری استفاده میکنه؟'
30 | ],
31 |
32 | 'next_lesson' => [
33 | 'url' => 'ArchLinux',
34 | 'title' => 'آرچ لینوکس - ArchLinux',
35 | 'is_season' => False
36 | ]
37 | ];
--------------------------------------------------------------------------------
/Lessons/CommandLine/cp-command/metadata.php:
--------------------------------------------------------------------------------
1 | 'دستور cp',
4 |
5 | 'has_slider' => false,
6 |
7 | 'references' => [
8 | [
9 | 'title' => 'منبع اولی',
10 | 'url' => 'https://phoenixnap.com/kb/cp-command'
11 | ],
12 | [
13 | 'title' => 'منبع دومی',
14 | 'url' => 'https://www.geeksforgeeks.org/cp-command-linux-examples/'
15 | ],
16 | [
17 | 'title' => 'و منبع سومی',
18 | 'url' => 'https://www.freecodecamp.org/news/the-linux-cp-command-how-to-copy-files-in-linux/'
19 | ]
20 | ],
21 |
22 | 'references_description' => ' این زیر دوتا لینک گذاشتم برای اطلاعات بیشتر در مورد این دستور:',
23 |
24 | 'exercises' => [
25 | 'چندین فایل رو کپی کنید و حتما از راهنماش استفاده کنید تا ببنید فلگ های مختلف کاری میکنن یا نه؟'
26 | ],
27 |
28 | 'quizzes' => [
29 | 'دستور cp میتونه چندین فایل رو هم کپی کنه؟',
30 | 'فلگ r چیکار میکنه؟',
31 | 'اگه نخوایم توی کپی کردن ررونویسی اتفاق بیوفته باید چیکار کنیم؟'
32 | ],
33 |
34 | 'next_lesson' => [
35 | 'url' => 'mv-command',
36 | 'title' => 'دستور mv',
37 | 'is_season' => False
38 | ]
39 | ];
--------------------------------------------------------------------------------
/assets/css/MainMeta.php:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Lessons/GettingStart/RedHat/metadata.php:
--------------------------------------------------------------------------------
1 | 'ردهت - Red Hat',
4 |
5 | 'has_slider' => false,
6 |
7 | 'references' => [
8 | [
9 | 'title' => 'سایت اصلی ردهت',
10 | 'url' => 'https://www.redhat.com/en'
11 | ],
12 | [
13 | 'title' => 'RedHat چیست؟ معرفی لینوکس توزیع RHEL به زبان بسیار ساده',
14 | 'url' => 'https://linux.tosinso.com/fa/articles/23094/RedHat-%DA%86%DB%8C%D8%B3%D8%AA%D8%9F-%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D8%AA%D9%88%D8%B2%DB%8C%D8%B9-RHEL-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D8%A8%D8%B3%DB%8C%D8%A7%D8%B1-%D8%B3%D8%A7%D8%AF%D9%87'
15 | ],
16 | [
17 | 'title' => 'توزیع رد هت چیست و چه کاربردی دارد',
18 | 'url' => 'https://blog.shetabanhost.com/what-is-red-hat/'
19 | ]
20 | ],
21 |
22 | 'references_description' => 'این زیرم براتون چنتا لینک مرتبط گذاشتم ، که اگه دوست داشتید دنبال کنید :',
23 |
24 | 'quizzes' => [
25 | 'پکیج منیجر ردهت چیه ؟',
26 | 'ردهت از چه خانواده لینوکسیه ؟'
27 | ],
28 |
29 | 'next_lesson' => [
30 | 'url' => 'Ubuntu',
31 | 'title' => 'ابونتو - Ubuntu',
32 | 'is_season' => False
33 | ]
34 | ];
--------------------------------------------------------------------------------
/Lessons/GettingStart/OpenSUSE/metadata.php:
--------------------------------------------------------------------------------
1 | 'اپن سوزه - OpenSUSE',
4 |
5 | 'has_slider' => false,
6 |
7 | 'references' => [
8 | [
9 | 'title' => 'سایت رسمی اپن سوزه',
10 | 'url' => 'https://www.opensuse.org/'
11 | ],
12 | [
13 | 'title' => 'اپنسوزه (ویکیپدیا)',
14 | 'url' => 'https://fa.wikipedia.org/wiki/%D8%A7%D9%BE%D9%86%E2%80%8C%D8%B3%D9%88%D8%B2%D9%87'
15 | ],
16 | [
17 | 'title' => 'Open SUSE چیست؟',
18 | 'url' => 'https://linux.tosinso.com/fa/articles/23101/Open-SUSE-%DA%86%DB%8C%D8%B3%D8%AA%D8%9F-%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D8%AA%D9%88%D8%B2%DB%8C%D8%B9-Open-SUSE-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D8%A8%D8%B3%DB%8C%D8%A7%D8%B1-%D8%B3%D8%A7%D8%AF%D9%87'
19 | ]
20 | ],
21 |
22 | 'references_description' => 'مثل همیشه ، منابع مرتبط این زیر هستن (برای دکور نمیزارما! یه نگا بندازید) :',
23 |
24 | 'quizzes' => [
25 | 'این توزیع از چه توزیعی ساخته شده ؟',
26 | 'این توزیع از چه پکیج منیجری استفاده میکنه؟'
27 | ],
28 |
29 | 'next_lesson' => [
30 | 'url' => 'CommandLine',
31 | 'title' => 'خط فرمان - CommandLine',
32 | 'is_season' => true
33 | ]
34 | ];
--------------------------------------------------------------------------------
/src/Footer.php:
--------------------------------------------------------------------------------
1 |
33 |
--------------------------------------------------------------------------------
/assets/css/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | overflow-x: hidden;
3 | }
4 | /* Header Style */
5 | header {
6 | position: sticky;
7 | top: 0;
8 | z-index: 999999999;
9 | }
10 | #side-menu {
11 | height: 100%;
12 | width: 20vw;
13 | position: fixed;
14 | top: 0;
15 | bottom: 0;
16 | transform: translateX(20vw);
17 | transition: all 1s;
18 | overflow: auto;
19 | }
20 | .side-menu-enable {
21 | transform: unset !important;
22 | }
23 | @media screen and (max-width: 640px) {
24 | #side-menu {
25 | width: 50vw;
26 | transform: translateX(50vw);
27 | top: 12%;
28 | }
29 | }
30 | #close-side-menu-btn:hover , #open-side-menu-btn:hover {
31 | transition: all .5s;
32 | filter: hue-rotate(110deg);
33 | }
34 | li.openSubMenu ul.subMenuD{
35 | display: none;
36 | }
37 |
38 | /* Slider Images Lessons */
39 | swiper-container::part(bullet-active) {
40 | background-color: red ;
41 | }
42 |
43 | /* Prism Custom */
44 | .token.class-name { /* Change Color */
45 | color: rgb(239 68 68 / 1);
46 | }
47 | .token.function, .token.class-name, .token.variable{
48 | font-weight: bolder;
49 | }
50 |
51 | /**/
52 | .main_content ul {
53 | list-style-type: circle;
54 | margin: 0 2rem;
55 | }
56 | .main_content li::marker {
57 | color: rgb(239 68 68 / 1);
58 | }
59 |
60 | swiper-slide {
61 | display: flex ;
62 | flex-direction: column;
63 | }
--------------------------------------------------------------------------------
/Lessons/GettingStart/History/metadata.php:
--------------------------------------------------------------------------------
1 | 'تاریخچه لینوکس خوشگلمون',
4 |
5 | 'has_slider' => false,
6 |
7 | 'references' => [
8 | [
9 | 'title' => 'تاریخچه لینوکس (ویکی پدیا)',
10 | 'url' => 'https://fa.wikipedia.org/wiki/%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE%DA%86%D9%87_%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3'
11 | ],
12 | [
13 | 'title' => 'نگاهی به تاریخچهی لینوکس (دیجی مگ)',
14 | 'url' => 'https://www.digikala.com/mag/%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE%DA%86%D9%87-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85%E2%80%8C%D8%B9%D8%A7%D9%85%D9%84-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3/'
15 | ],
16 | [
17 | 'title' => 'تاریخچه کامل لینوکس',
18 | 'url' => 'https://tehrantrain.com/learning/unix-linux-history/'
19 | ],
20 | [
21 | 'title' => 'سیستم عامل گنو',
22 | 'url' => 'https://en.wikipedia.org/wiki/GNU'
23 | ]
24 | ],
25 |
26 | 'references_description' => 'اگه علاقه داشتید تاریخچه رو به صورت کامل تر بخونید حتما لینک های زیر رو دنبال کنید!',
27 |
28 | 'quizzes' => [
29 | 'سازنده هسته لینوکس چه نام داشت؟',
30 | 'هسته لینوکس در چه سالی تولید شد؟',
31 | 'لینوکس به چه دلیل ساخته شد؟'
32 | ],
33 |
34 | 'next_lesson' => [
35 | 'url' => 'choosing-a-linux-distribution',
36 | 'title' => 'انتخاب توزیع لینوکس',
37 | 'is_season' => False
38 | ]
39 | ];
--------------------------------------------------------------------------------
/Lessons/GettingStart/Ubuntu/metadata.php:
--------------------------------------------------------------------------------
1 | 'اوبونتو - Ubuntu',
4 |
5 | 'has_slider' => false,
6 |
7 | 'references' => [
8 | [
9 | 'title' => 'سایت رسمی اوبونتو',
10 | 'url' => 'https://ubuntu.com/'
11 | ],
12 | [
13 | 'title' => 'انجمن اوبونتو فارسی',
14 | 'url' => 'https://www.ubuntu.ir/'
15 | ],
16 | [
17 | 'title' => 'سیستم عامل Ubuntu چیست؟',
18 | 'url' => 'https://www.doris.host/ubuntu-%DA%86%DB%8C%D8%B3%D8%AA-%D8%9F/'
19 | ],
20 | [
21 | 'title' => 'اوبونتو (ویکی پدیا)',
22 | 'url' => 'https://fa.wikipedia.org/wiki/%D8%A7%D9%88%D8%A8%D9%88%D9%86%D8%AA%D9%88'
23 | ],
24 | [
25 | 'title' => 'رابط کاربری گرافیکی لینوکس',
26 | 'url' => 'https://webpouyan.com/blog/%D8%B1%D8%A7%D8%A8%D8%B7-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%DB%8C-%DA%AF%D8%B1%D8%A7%D9%81%DB%8C%DA%A9%DB%8C-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3/'
27 | ]
28 | ],
29 |
30 | 'references_description' => 'بازم این زیر میتونید منابع مرتبط رو دنبال کنید :',
31 |
32 | 'quizzes' => [
33 | 'اوبونتو بر پایه چه توزیعی شکل گرفته ؟',
34 | 'رابط کاربری گرافیکی اوبونتو چیه؟',
35 | 'این توزیع از چه پکیج منیجری استفاده میکنه؟'
36 | ],
37 |
38 | 'next_lesson' => [
39 | 'url' => 'Fedora',
40 | 'title' => 'فدورا - Fedora',
41 | 'is_season' => False
42 | ]
43 | ];
--------------------------------------------------------------------------------
/Lessons/GettingStart/LinuxMint/metadata.php:
--------------------------------------------------------------------------------
1 | 'لینوکس مینت - Linux Mint',
4 |
5 | 'has_slider' => false,
6 |
7 | 'references' => [
8 | [
9 | 'title' => 'سایت رسمی لینوکس مینت',
10 | 'url' => 'https://linuxmint.com/'
11 | ],
12 | [
13 | 'title' => 'لینوکس مینت (ویکی)',
14 | 'url' => 'https://fa.wikipedia.org/wiki/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3_%D9%85%DB%8C%D9%86%D8%AA'
15 | ],
16 | [
17 | 'title' => 'لینوکس Mint چیست ؟',
18 | 'url' => 'https://linux.tosinso.com/fa/articles/25201/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-Mint-%DA%86%DB%8C%D8%B3%D8%AA-%D8%9F-%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D8%AA%D9%88%D8%B2%DB%8C%D8%B9-%D9%85%DB%8C%D9%86%D8%AA-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D8%A8%D8%B3%DB%8C%D8%A7%D8%B1-%D8%B3%D8%A7%D8%AF%D9%87'
19 | ],
20 | [
21 | 'title' => 'لینوکس مینت چیست؟ اوبونتو بهتر است یا مینت؟',
22 | 'url' => 'https://maktabkhooneh.org/mag/all-about-linux-mint/'
23 | ]
24 | ],
25 |
26 | 'references_description' => 'این زیر هم چنتا چیز هست میتونید نگاه کنید :)',
27 |
28 | 'quizzes' => [
29 | 'توزیع لینوکس مینت از چی ساخته شده ؟',
30 | 'لینوکس مینت از چه پکیج منیجیری استفاده میکنه؟'
31 | ],
32 |
33 | 'next_lesson' => [
34 | 'url' => 'Gentoo',
35 | 'title' => 'جنتو - Gentoo',
36 | 'is_season' => False
37 | ]
38 | ];
--------------------------------------------------------------------------------
/Lessons/CommandLine/The-Shell/metadata.php:
--------------------------------------------------------------------------------
1 | 'پوسته - Shell',
4 |
5 | 'has_slider' => false,
6 |
7 | 'references' => [
8 | [
9 | 'title' => 'شل چیست ؟',
10 | 'url' => 'https://sokanacademy.com/plus/mehrdad.mohammadi/shell-%DA%86%DB%8C%D8%B3%D8%AA-%D9%88-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF-%D8%A2%D9%86-%D8%AF%D8%B1-%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2-%D9%88-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-1003'
11 | ],
12 | [
13 | 'title' => 'صب پوسته zsh',
14 | 'url' => 'https://parsclick.net/article/%D9%86%D8%B5%D8%A8-%D9%88-%D8%B3%D9%88%D8%A7%D8%B1-%DA%A9%D8%B1%D8%AF%D9%86-zsh-%D8%A8%D8%B1-%D8%B1%D9%88%DB%8C-shell'
15 | ],
16 | [
17 | 'title' => 'Shell (WikiPediA)',
18 | 'url' => 'https://en.wikipedia.org/wiki/Shell_(computing)'
19 | ],
20 | [
21 | 'title' => 'صفحه گیت هاب oh my zsh',
22 | 'url' => 'https://github.com/ohmyzsh/ohmyzsh'
23 | ]
24 | ],
25 |
26 | 'references_description' => 'اینجا توضیخات و منابع تکمیلی رو براتون گذاشتم و همینطور نصب پوسته جدید روی لینوکس!',
27 |
28 | 'exercises' => [],
29 |
30 | 'quizzes' => [
31 | 'آیا ترمینال همان پوسته است ؟',
32 | 'فقط یدونه پوسته داریم؟ آیا میشه پوسته جدیدی نصب کرد؟ پوسته پیشفرض لینوکس چیه؟'
33 | ],
34 |
35 | 'next_lesson' => [
36 | 'url' => 'pwd-command',
37 | 'title' => 'دستور pwd',
38 | 'is_season' => False
39 | ]
40 | ];
--------------------------------------------------------------------------------
/Lessons/GettingStart/Debian/metadata.php:
--------------------------------------------------------------------------------
1 | 'دبیان - Debian',
4 |
5 | 'has_slider' => false,
6 |
7 | 'references' => [
8 | [
9 | 'title' => 'سایت اصلی دبیان',
10 | 'url' => 'https://www.debian.org/'
11 | ],
12 | [
13 | 'title' => 'سایت اصلی دبیان (فارسی)',
14 | 'url' => 'https://www.debian.org/index.fa.html'
15 | ],
16 | [
17 | 'title' => 'دبیان (ویکی پدیا)',
18 | 'url' => 'https://fa.wikipedia.org/wiki/%D8%AF%D8%A8%DB%8C%D8%A7%D9%86'
19 | ],
20 | [
21 | 'title' => 'دبیان چیست؟ معرفی لینوکس توزیع دبین به زبان بسیار ساده',
22 | 'url' => 'https://linux.tosinso.com/fa/articles/23089/Debian-%DA%86%DB%8C%D8%B3%D8%AA%D8%9F-%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D8%AA%D9%88%D8%B2%DB%8C%D8%B9-%D8%AF%D8%A8%DB%8C%D9%86-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D8%A8%D8%B3%DB%8C%D8%A7%D8%B1-%D8%B3%D8%A7%D8%AF%D9%87'
23 | ]
24 | ],
25 |
26 | 'references_description' => 'لینک های مرتبط با دبیان رو این پایین براتون گذاشتم ، همچنین اگه میخواید بیشتر بدونید هم چنتا لینک گذاشتم :',
27 |
28 | 'quizzes' => [
29 | 'دبیان از چه پکیج منیجری استفاده میکنه؟',
30 | 'چه توزیع هایی از دبیان ساخته شده اند ؟',
31 | 'دبیان چند نسخه برای دانلود دارد ؟'
32 | ],
33 |
34 | 'next_lesson' => [
35 | 'url' => 'RedHat',
36 | 'title' => 'ردهت - RedHat',
37 | 'is_season' => False
38 | ]
39 | ];
--------------------------------------------------------------------------------
/Lessons/GettingStart/Fedora/metadata.php:
--------------------------------------------------------------------------------
1 | 'فدورا - Fedora',
4 |
5 | 'has_slider' => true,
6 | 'slider_images' => [
7 | [
8 | 'src' => 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Fedora_Workstation_38_Desktop_English.png/1200px-Fedora_Workstation_38_Desktop_English.png',
9 | 'alt' => 'fedora'
10 | ],
11 | [
12 | 'src' => 'https://upload.wikimedia.org/wikipedia/commons/f/fc/Fedora_Linux_35_%28Workstation%29.png',
13 | 'alt' => 'fedora'
14 | ]
15 | ],
16 |
17 | 'references' => [
18 | [
19 | 'title' => 'سایت رسمی فدورا',
20 | 'url' => 'https://fedoraproject.org/'
21 | ],
22 | [
23 | 'title' => 'لینوکس فدورا چیست؟ چه ویژگی هایی fedora را متفاوت می کند؟',
24 | 'url' => 'https://asamserver.com/blog/what-is-fedora/'
25 | ],
26 | [
27 | 'title' => 'فدورا لینوکس (ویکی پدیا)',
28 | 'url' => 'https://fa.wikipedia.org/wiki/%D9%81%D8%AF%D9%88%D8%B1%D8%A7_%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3'
29 | ]
30 | ],
31 |
32 | 'references_description' => 'این زیرم براتون چنتا لینک مرتبط گذاشتم ، که اگه دوست داشتید دنبال کنید :',
33 |
34 | 'quizzes' => [
35 | 'چه شرکتی از فدورا حمایت میکند؟',
36 | 'پکیج منیجر خانواده فدروا چیست ؟'
37 | ],
38 |
39 | 'next_lesson' => [
40 | 'url' => 'LinuxMint',
41 | 'title' => 'لینوکس مینت - LinuxMint',
42 | 'is_season' => False
43 | ]
44 | ];
--------------------------------------------------------------------------------
/Lessons/GettingStart/choosing-a-linux-distribution/metadata.php:
--------------------------------------------------------------------------------
1 | 'انتخاب توزیع لینوکس',
4 |
5 | 'has_slider' => false,
6 |
7 | 'references' => [
8 | [
9 | 'title' => 'انتخاب توزیع های لینوکسی',
10 | 'url' => 'https://4xmen.ir/%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8-%D8%AA%D9%88%D8%B2%DB%8C%D8%B9-%D9%87%D8%A7%DB%8C-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D8%AF%D8%B1-%DB%8C%DA%A9-%D9%86%DA%AF%D8%A7%D9%87-%DA%A9%D9%84%DB%8C-%D8%AA/'
11 | ],
12 | [
13 | 'title' => 'بهترین توزیع لینوکس برای شما کدام است؟',
14 | 'url' => 'https://blog.iranserver.com/linux-distributions/'
15 | ],
16 | [
17 | 'title' => 'توزیع لینوکس چیست و بهترین انواع آن کدام اند؟',
18 | 'url' => 'https://www.zoomit.ir/computer-learning/24677-best-linux-distributions/'
19 | ],
20 | [
21 | 'title' => 'چگونه لینوکس را در کنار ویندوز نصب کنیم؟',
22 | 'url' => 'https://digiato.com/article/2022/09/28/install-linux-on-windows'
23 | ]
24 | ],
25 |
26 | 'references_description' => 'اگه میخواید توزیع های مختلف رو بشناسید و چک کنید چه مواردی میتونه براتون مناسب باشه لینک های زیر رو از دست ندید :',
27 |
28 | 'exercises' => [],
29 |
30 | 'quizzes' => [
31 | 'سه بخش اساسی در سیستم های لینوکس ؟',
32 | 'آیا لینوکس یک سیستم عامل است ؟'
33 | ],
34 |
35 | 'next_lesson' => [
36 | 'url' => 'Debian',
37 | 'title' => 'دبیان - Debian',
38 | 'is_season' => False
39 | ]
40 | ];
--------------------------------------------------------------------------------
/Lessons/CommandLine/menu1.php:
--------------------------------------------------------------------------------
1 |
4 | خب خب ، تا حالا در مورد خیلی چیزا یاد گرفتیم و تا حالا فهمیدیم چجوری یه فایل بسازیم و چجوری بفهمیم که چه نوع فایلیه!
5 | ولی اگه حواستون باشه یچیزی کمه!! فرضا کنید یه فایل متنی درست کردید یا یه عکس دانلود کردید، خیلی راحت میتونید با دستور file ببیند چه فرمتی داره
6 | اما اگه بخوایم فایل متنیمون رو بخونیم باید چیکار کنیم؟ هان؟
7 |
8 | آفرین ، دستور امروز همین کارو میکنه و باعث میشه بتونیم یه فایل رو بخونیم. بزارید باز مثال بزنیم و توی کد بیشتر باهاش آشنا بشیم :
9 |
11 |
12 | touch my.txt
13 | cat my.txt
14 | # اگه تا اینجا تست کنید متوجه میشید که فایل خالی خروجی نداره که عجیبم نیست
15 | # اما حالا یه فایل متنی از قبل آماده کردیم و اون رو صدا میزنیم
16 | cat hi.txt
17 | Hello World
18 | # داخل فایل صدا زده شده دقیقا همین متن نوشته شده.
19 |
20 |
21 |
26 |
27 | cat hi.txt bay-bay.txt
28 | Hello World
29 | Buy Buy Single Life :)
30 |
31 |
32 |
33 | این دستور همینقدر ساده است (فعلا برای مقدمات ساده است) !!! همچنین بدونید که دستور cat به معنای گربه نیست و مخفف concatenate (به هم چسبوندن) است که بالاترم گفتیم وقتی دوتا یا چنتا فایلو باهم صدا بزنید بهم وصلشون میکنه!
34 | و هیچ ربطی به گربه و حیوانات نداره!
35 |
--------------------------------------------------------------------------------
/Lessons/GettingStart/ArchLinux/metadata.php:
--------------------------------------------------------------------------------
1 | 'آرچ لینوکس - Arch Linux',
4 |
5 | 'has_slider' => true,
6 | 'slider_images' => [
7 | [
8 | 'src' => 'https://www.debugpoint.com/wp-content/uploads/2023/05/XeroLinux-Desktop.jpg',
9 | 'alt' => 'arch linux'
10 | ],
11 | [
12 | 'src' => 'https://upload.wikimedia.org/wikipedia/commons/3/34/Arch_Linux_ISOLINUX_screenshot.png',
13 | 'alt' => 'arch linux'
14 | ]
15 | ],
16 |
17 | 'references' => [
18 | [
19 | 'title' => 'سایت رسمی آرچ لینوکس',
20 | 'url' => 'https://archlinux.org/'
21 | ],
22 | [
23 | 'title' => 'ویکی آرچ لینوکس',
24 | 'url' => 'https://wiki.archlinux.org/'
25 | ],
26 | [
27 | 'title' => 'آرچ لینوکس (ویکی پدیا)',
28 | 'url' => 'https://fa.wikipedia.org/wiki/%D8%A2%D8%B1%DA%86_%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3'
29 | ],
30 | [
31 | 'title' => 'آرچ لینوکس چیست و مناسب کدام دسته از کاربران است؟',
32 | 'url' => 'https://digiato.com/article/2021/10/25/%D8%A2%D8%B1%DA%86-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%DA%86%DB%8C%D8%B3%D8%AA-%D9%88-%D9%85%D8%B2%D8%A7%DB%8C%D8%A7%DB%8C-%D8%A2%D9%86'
33 | ],
34 | [
35 | 'title' => 'آموزش نصب آرچ لینوکس || Arch Linux',
36 | 'url' => 'https://iranicaserver.com/Blog/install-arch-linux/'
37 | ]
38 | ],
39 |
40 | 'references_description' => 'اینجا هم منابع مرتبط و آموزشی رو براتون گذاشتم :',
41 |
42 | 'quizzes' => [
43 | 'آرچ لینوکس از چه پکیج منیجری استفاده میکنه؟',
44 | 'رو مشاهده پاسخ نزن!'
45 | ],
46 |
47 | 'next_lesson' => [
48 | 'url' => 'OpenSUSE',
49 | 'title' => 'اپن سوزه - OpenSUSE',
50 | 'is_season' => False
51 | ]
52 | ];
--------------------------------------------------------------------------------
/Lessons/GettingStart/Fedora/content.php:
--------------------------------------------------------------------------------
1 |
4 | قبلا گفتیم توزیع رد هت از توزیع فدورا شکل گرفته. پروژه Fedora اواخر سال 2003 شروع به کار کرد و درست زمانی بود که Red Hat متوقف شده بود.
5 | برای همین شرکت RedHat تصمیم گرفت محصول جدید خودش رو از توزیع Fedora بسازه(البته اینم بگم پشتیبان و حمایت کننده Fedora خود شرکت RedHat ؛ اصلا خود فدورا به معنای کلاه میشه که از ردهت اومده که اونم یعنی کلاه قرمز!)
6 |
7 | اگه بخوام از اول اول تعریف کنم نسخه اولیه Fedora به عنوان یه پروژه دانشجویی شروع شد و هدفشم این بود که بتونه نرم افزار های RedHat رو روی یه سیستم عامل جدید دریافت کنه و آماده به توسعه باشه!
8 | اما فرق اساسی فدورا با ردهت این بود که فدورا رایگان و ردهت تجاری بود برای همین داخل ردهت بخش همکاری در توسعه وجود نداشت!
9 | اما همین بخش در فدورا باعث پیشرفت این توزیع شد، تا جایی که RedHat محصول اولیه خودش رو حذف کرد و نسخه جدید رو بر پایه فدورا ساخت!
10 |
11 | این از تاریخچه ارتباط بین ردهت و فدورا ، ولی اگه بخوایم در مورد خود فدورا صحبت کنیم ، باید بگیم این توزیع دقیقا از هسته اصلی لینوکس (Kernel) ساخته شده و از بقیه توزیع ها استفاده نکرده.
12 | همچنین از محیط های گرافیکی متفاوتی مثل GNOME ، KDE ، MATE و غیره پشتیبانی میکنه!
13 | و مهم تر از همه اینکه برخلاف ردهت رایگان رایگانه!
14 | و اینم بگم که این توزیع ، توزیع مورد علاقه پدر لینوکس دنیا ینی خود لینوس توروالدزه!
15 |
18 | فدورا هم مثل رد هت از پکیج منیجیر RPM استفاده میکنه.(پکیج منیجر RPM برای خانواده فدوراست، یادتون باشه!) 19 |
20 |
22 | استفاده از فدورا هم مثل بقیه توزیع ها آسونه و دانش فنی خاصی برای نصب نیاز نداره. همچنین یه نسخه Live داره که میتونید
23 | روی فلش یا DVD رایت کنید و ازش به صورت زنده استفاده کنید.(حالت زنده یعنی با ریبوت کردن اطلاعات شما از بین میره و فقط تا زمانی اطلاعات رو دارید که فلش یا سی دی شما در حال کاره!)
24 |
25 | کلا اگه میخواید یه چیزی مشابه با RedHat استفاده کنید ، ولی بخاطرش پول ندید این توزیع مناسب شماست :)
26 |
4 | احتمالا که نه،بلکه حتما اسم اوبنتو به گوشتون خورده! این توزیع یکی از محبوب ترین توزیع های لینوکسیه که همه جا در دسترسه و بر پایه توزیع Debian ساخته شده.
5 | این توزیع از محیط گرافیکی مخصوص به خودش به نام Unity استفاده میکنه (بقیه توزیع ها هم محیط گرافیکی (رابط کاربری گرافیکی) خودشون مثل GNOME رو دارن که باید توجه کنید هر توزیع برای خودش محیط گرافیکی نمیزنه و از موارد موجود استفاده میکنن و فقط شخصی سازی روش انجام میدن)
6 |
7 | از اوبونتو میشه روی سرور ، سیستم خانگی و حتی برای افراد مبتدی و پیشرفته استفاده کرد ، یعنی یه توزیع همه فن حریفه و Community (انجمن) قوی داره
8 | که به صورت رایگان در دسترس همه است!
9 |
10 | زیاد توضیح خاصی ندارم بدم(البته درمورد این توزیع خیلی چیزا میشه گفت ، ولی اگه دوس دارید میتونید سرچ بزنید!) چون واقعا از همه نظر عالیه
11 | و برای شما عزیزان هم بهترین گزینه برای شروعه!
12 |
15 | همونطور که قبلا هم گفتیم این توزیع بر پایه دبیانه پس از پکیج منیجر همون توزیع هم استفاده میکنه، یعنی dpkg و APT. 16 |
17 |19 | بالاتر گفتم این توزیع یه توزیع همه فن حریفه ، پس همه جا استفاده میشه و برای نصبش هم محیط گرافیکی خیلی ساده ایی داره 20 | و پیچدگی زیادی برای نصب و استفاده ازش ندارید! 21 |
22 | 23 | 24 |
28 |
32 |
36 |
4 | این توزیع هم مثل توزیع دبیان و فدروا از کرنل اصلی لینوکس ساخته شده و یک محصول مستقل به حساب میاد.این پروژه یه پروژه کاملا اجتماعی
5 | و انجمن محور بوده ، پس کاملا هم رایگانه!
6 | این توزیع 3 هدف اصلی داشت : ساده و آسون باشه ، که یعنی هرکسی به راحتی بتونه دانلود و نصبش کنه. دوم اینکه تلاش کنه به عنوان یه توزیع رایگان بیشترین استفاده رو داشته باشه.
7 | و سوم اینکه بتونه برای برنامه نویسا و توسعه دهنده ها محیط خوبی رو ایجاد کنه.(در کل دوست داشته اول به حساب بیاد ، منم عصبی شدم آخر گذاشتمش :( )
8 |
9 | این توزیع انعطاف پذیری بالایی داره و بروزرسانی خوبی ر هم دریافت میکنه ، اما از مشکلاتش میشه به سرعت کمتر نسبت به بقیه توزیع ها اشاره کرد(که زیاد خوشایند نیست!).
10 | همچنین یکی از موارد خیلی مهم دراین توزیع امنیته ، یعنی کوچک ترین کاری بدون اطلاع به کاربر توی سیستم عامل انجام نمیشه! و همچنین جزو معدود
11 | توزیع هاییه که موقعه نصب میتونید بسته های نرم افزاری خودتون رو تک به تک انتخاب کنید.
12 |
15 | این توزیع پکیج منیجر مخصوص خودش رو نداره و از پکیج منیجر RPM استفاده میکنه. 16 |
17 |
19 | همونجوری که گفتیم این توزیع خیلی آسونه و برای کاربران جدید یه انتخاب عالیه! همچنین یه برنامه گرافیکی به نام
20 | YaST داره که کار مدیریت سیستم و برنامه هارو براتون خیلی آسون میکنه!
21 |
22 | این توزیع رو هم میشه در سرور و هم به صورت خانگی استفاده کرد و به گفته بعضی از سایت ها جزو 10 توزیع برتر لینوکس به حساب میاد.
23 |
34 |
4 | اول بگیم که اسم کامل این توزیع Red Hat Enterprise Linux است که به مختصر بهش RHEL گفته میشه.قبل از بررسی
5 | پیشرفته باید بگم که این توزیع یکی از محدود توزیع هایه که از قوانین و لایسنس GNU پیروی نمیکنه(بخوام خیلی آسون بهتون بگم ، یعنی خیلی آزاد و رایگان نیست!)،
6 | همچنین این توزیع از توزیع Fedora شکل گرفته که در درس های بعدی حتما باهاش سروکار داریم!
7 | همچنین این توزیع هم میتونه به عنوان سرور مجازی و هم سرور خانگی استفاده بشه؛ ولی یادتون باشه گفتم این توزیع رایگان نیست و باید بخریدش!
8 |
9 | مورد بعدی اینکه این توزیع رو با توزیع Red Hat خالی اشتباه نگیرید (اسم کاملش Red hat Commercial Linux بود) ، توزیع Red Hat قبلی از سال 2004 به بعد تولید نشد و این محصول جدیدیه
10 | که اسم کاملشم بالاتر گفتیم.
11 |
14 | ردهت اولین توزیع از لینوکس بود که از پکیج منیجر جدیدی استفاده کرد و همین کار باعث شد توزیع های جدیدتر هم از این قالب بندی استفاده کنن. 15 | پکیج منیجری که ردهت (و خانواده فدورا) ازش استفاده میکنه RPM Package Manager است که با این پکیج منیجرم در فصل های بعدی آشنا میشیم، پس فعلا فقط اینارو بدونید! 16 |
17 |19 | استفاده از ردهت یکمی سختتر از دبیانه ولی بازم نمیشه گفت برای استفاده خیلی پیچیده است ، بلکه با کمی دانش فنی پایه میشه راحت ازش استفاده کرد. 20 | و توجه کنید که این توزیع بیشتر برای سرور استفاده میشه (همونطوری که از اسم کاملشم مشخصه) پس اگه سرور دارید یا سیستم قوی دارید از این 21 | توزیع استفاده کنید.(البته مشخصات سیستمی قوی هم نیاز نداره ، اما برای شروع هزینه نکنید بهتره و با چیزای رایگان هم کارتون راه میوفته!) 22 |
23 | 24 |
28 |
32 | 4 | توی بخش قبلی اومدیم گفتیم چجوری میشه فولدر رو پاک کرد، اونم تازه فولدری که خالی باشه! در 99 درصد مواقع فایل و فولدرهای ما خالی نیستن! 5 | پس اونوقته که نیاز به یه دستور جدید داریم! اسم این دستور rm عه که مخفف همون remove عه. 6 | ساده ترین شکل استفادش به شکل زیره: 7 |
8 |
9 |
10 | rm file1
11 |
12 |
13 |
14 | اینو حتما پس ذهنتون داشته باشید! چیو؟ اینکه ما توی ترمینال سطل زباله جادویی نداریم! پس یعنی وقتی فایل رو پاک کردی
15 | باید کلا باهاش خدافسی کنی! پس حواست باشه چجوری و کی داری از این دستور استفاده میکنی!
16 |
17 |
18 | خوشبختانه لینوکس یه چنتا کار امنیتی کرده! یعنی یه کاربر معمولی نمیتونه فایل های مهم رو همینجوری پاک کنه! ولی خب برای فایل های خودتون
19 | همچین ویژگی نزاشته (متاسفانه)، همچنین اگه یه فایل دسترسی نوشته شدن نداشته باشه هم نمیزاره اون فایل رو پاک کنید. (در مورد دسترسی هر فایل هم بعدا صحبت میکنیم)
20 |
21 | حالا فرض کنید، که حتما میخواید یه فایل رو پاک کنید و لینوکس بهتون اجازه نمیده، اینجاست که یه فلگ داریم به نام f که مخفف force عه، کارش اینه که
22 | حتما براتون اون فایل رو پاک میکنه!
23 | مثل زیر:
24 |
26 |
27 | rm -f flanFile flanFile2
28 |
29 |
30 |
31 | مثل خیلی از دستورات دیگه، این دستور هم فلگ i داره و ازتون قبل از انجام کار میپرسه! تا شاید نظرتون عوض بشه...
32 |
33 | حالا فرض کنید میخواید یه پوشه رو پاک کنید که خالی نیست! خب صد در صد که نمیتونید از rmdir استفاده کنید، پس میمونه rm، ولی وقتی این کارو میکنید یدفعه جواب میاد که این پوشه پُره!
34 | برای اینکه بتونید یه پوشه پُر رو پاک کنید باید از فلگ r استفاده کنید که مخفف recursive عه، معنیش هم میشه بازگشتی!
35 |
37 |
38 | rm -r folderName
39 |
40 |
41 | 42 | به صورت منطقی هم بخوایم بهش نگاه کنیم، خیلی ساده است! برای اینکه یه پوشه رو پاک کنید، باید محتویات اون پوشه رو هم پاک کنید! اینجاست که از فلگ r استفاده میکنیم 43 | و این یعنی به صورت بازگشتی (توابع بازگشتی رو یه سرچ بزنید) محتوا رو براتون پاک میکنه. 44 |
-------------------------------------------------------------------------------- /Lessons/CommandLine/file-command/content.php: -------------------------------------------------------------------------------- 1 |
4 | یه دستور خیلی خوب و جذاب داریم به نام file که کارش اینه بهتون فرمت و نوع فایل رو بگه! مثلا اگه یه فایل pdf داشته باشید
5 | با این دستور متوجه میشید که این فایل واقعا pdf هست یا نه! توی درس قبلی با دستور touch آشنا شدید و اگه واقعا تمرین کرده باشید
6 | میدونید که اگه یه فایل text.jpg بسازید ، شاید فرمتش رو رعایت کرده باشید اما واقعا یه عکس تولید نکردید!
7 |
8 | برای همین دستور file بهتون کمک میکنه که فرمت واقعی فایل هارو شناسایی کنید، بزارید این زیر یه مثال بزنم :
9 |
11 |
12 | touch text.txt
13 | file text.txt
14 | text.txt: empty
15 | # میتونید ببینید که وقتی یه فایل خالی ایجاد میکنیم
16 | # نوع فایل هم خالی حساب میشه
17 | touch jojo.jpg
18 | file jojo.jpg
19 | jojo.jpg: empty
20 |
21 |
22 | 23 | حالا ما رفتیم چنتا فایل واقعی پیدا کردیم! مثلا 2 عکس دانلود کردیم و یدونه pdf ، حالا خروجی دستور زیر رو ببینید : 24 |
25 |
26 |
27 | ls
28 | hand.avif
29 | hello-world.pdf
30 | v.jpg
31 |
32 | file v.jpg
33 | v.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI),
34 | density 72x72, segment length 16, Exif Standard:
35 | [TIFF image data, little-endian, direntries=2,
36 | copyright=Rawpixel Ltd.],
37 | progressive, precision 8, 800x533, components 3
38 |
39 | file hello-world.pdf
40 | hello-world.pdf: PDF document, version 1.4, 1 pages
41 |
42 | file hand.avif
43 | hand.avif: ISO Media, AVIF Image
44 |
45 |
46 |
47 | میبینید که دستور file علاوه بر نوع فرمت فایل، یه اطلاعات دیگه هم بهتون میده که بدردتون میخوره!
48 | مثلا برای pdf بهتون میگخ چند صفحه است و برای jpg مشخصات کامل عکس و اندازه رو میده(که واقعا خیلی باحاله!)
49 |
--------------------------------------------------------------------------------
/Lessons/CommandLine/exit-command/content.php:
--------------------------------------------------------------------------------
1 |
4 | لینوکس مینت بر پایه اوبنتو ساخته شده و خود ابونتو هم از دبیان ساخته شده ، پس هردوشون یه توزیع بر پایه دبیان هستن!
5 | طراحان لینوکس مینت میخواستن یه توزیع مدرن و زیبا معرفی کنن که علاوه بر محیط قشنگش ، کار باهاش راحت باشه.
6 | این توزیع رابط های متفاوتی برای آسون کردن کارها داره و همچنین میتونید منوها و خود Desktop رو هم شخصی سازی کنید.
7 |
8 | همچنین یه مورد خیلی خوب در این توزیع سازگاری کامل با مخازن ابونتو است (در بخش پکیج منیجر ها در مورد مخزن ها هم صحبت میکنیم ، ولی تا فعلا بدونید هر توزیع برای خودش یه مخزن داره و میتونید از اونجا توزیع رو آپدیت کنید یا برنامه ایی رو نصب کنید!)
9 |
10 | در کل این توزیع یه توزیع خیلی قوی مثل اوبونتوعه (و در خیلی چیزا مشابه است) و حتی ممکنه ظاهر قشنگ تریم داشته باشه ، برای همین اگه نظر من رو بخواید میتونید با این توزیع شروع کنید.(خودم چنتا توزیع دارم ولی با کالی لینوکس (یه توزیع برای هک) و مینت بیشتر کار میکنم! البته اگه اصلا میخواستید بدونید من با چی کار میکنم!)
11 |
14 | چون این توزیع هم بر پایه دبیان است پس از پکیج منیجر خانواده دبیان یعنی APT و dpkg استفاده میکنه! 15 |
16 |18 | از این توزیع هم میشه روی سرور استفاده کرد ، اما به ندرت استفاده میشه و برای سیستم های رومیزی و خونگی خیلی بهتره! 19 |
20 | 21 | منم تو این آموزش از توزیع های بر پایه دبیان استفاده میکنم! یعنی از خود مینت استفاده میکنم! 22 | 23 | 24 | 25 |
29 |
33 |
37 |
4 | لینوکس مینت بر پایه اوبنتو ساخته شده و خود ابونتو هم از دبیان ساخته شده ، پس هردوشون یه توزیع بر پایه دبیان هستن!
5 | طراحان لینوکس مینت میخواستن یه توزیع مدرن و زیبا معرفی کنن که علاوه بر محیط قشنگش ، کار باهاش راحت باشه.
6 | این توزیع رابط های متفاوتی برای آسون کردن کارها داره و همچنین میتونید منوها و خود Desktop رو هم شخصی سازی کنید.
7 |
8 | همچنین یه مورد خیلی خوب در این توزیع سازگاری کامل با مخازن ابونتو است (در بخش پکیج منیجر ها در مورد مخزن ها هم صحبت میکنیم ، ولی تا فعلا بدونید هر توزیع برای خودش یه مخزن داره و میتونید از اونجا توزیع رو آپدیت کنید یا برنامه ایی رو نصب کنید!)
9 |
10 | در کل این توزیع یه توزیع خیلی قوی مثل اوبونتوعه (و در خیلی چیزا مشابه است) و حتی ممکنه ظاهر قشنگ تریم داشته باشه ، برای همین اگه نظر من رو بخواید میتونید با این توزیع شروع کنید.(خودم چنتا توزیع دارم ولی با کالی لینوکس (یه توزیع برای هک) و مینت بیشتر کار میکنم! البته اگه اصلا میخواستید بدونید من با چی کار میکنم!)
11 |
14 | چون این توزیع هم بر پایه دبیان است پس از پکیج منیجر خانواده دبیان یعنی APT و dpkg استفاده میکنه! 15 |
16 |18 | از این توزیع هم میشه روی سرور استفاده کرد ، اما به ندرت استفاده میشه و برای سیستم های رومیزی و خونگی خیلی بهتره! 19 |
20 | 21 | منم تو این آموزش از توزیع های بر پایه دبیان استفاده میکنم! یعنی از خود مینت استفاده میکنم! 22 | 23 | 24 | 25 |
29 |
33 |
37 |
4 | لینوکس مینت بر پایه اوبنتو ساخته شده و خود ابونتو هم از دبیان ساخته شده ، پس هردوشون یه توزیع بر پایه دبیان هستن!
5 | طراحان لینوکس مینت میخواستن یه توزیع مدرن و زیبا معرفی کنن که علاوه بر محیط قشنگش ، کار باهاش راحت باشه.
6 | این توزیع رابط های متفاوتی برای آسون کردن کارها داره و همچنین میتونید منوها و خود Desktop رو هم شخصی سازی کنید.
7 |
8 | همچنین یه مورد خیلی خوب در این توزیع سازگاری کامل با مخازن ابونتو است (در بخش پکیج منیجر ها در مورد مخزن ها هم صحبت میکنیم ، ولی تا فعلا بدونید هر توزیع برای خودش یه مخزن داره و میتونید از اونجا توزیع رو آپدیت کنید یا برنامه ایی رو نصب کنید!)
9 |
10 | در کل این توزیع یه توزیع خیلی قوی مثل اوبونتوعه (و در خیلی چیزا مشابه است) و حتی ممکنه ظاهر قشنگ تریم داشته باشه ، برای همین اگه نظر من رو بخواید میتونید با این توزیع شروع کنید.(خودم چنتا توزیع دارم ولی با کالی لینوکس (یه توزیع برای هک) و مینت بیشتر کار میکنم! البته اگه اصلا میخواستید بدونید من با چی کار میکنم!)
11 |
14 | چون این توزیع هم بر پایه دبیان است پس از پکیج منیجر خانواده دبیان یعنی APT و dpkg استفاده میکنه! 15 |
16 |18 | از این توزیع هم میشه روی سرور استفاده کرد ، اما به ندرت استفاده میشه و برای سیستم های رومیزی و خونگی خیلی بهتره! 19 |
20 | 21 | منم تو این آموزش از توزیع های بر پایه دبیان استفاده میکنم! یعنی از خود مینت استفاده میکنم! 22 | 23 | 24 | 25 |
29 |
33 |
37 |
4 | لینوکس مینت بر پایه اوبنتو ساخته شده و خود ابونتو هم از دبیان ساخته شده ، پس هردوشون یه توزیع بر پایه دبیان هستن!
5 | طراحان لینوکس مینت میخواستن یه توزیع مدرن و زیبا معرفی کنن که علاوه بر محیط قشنگش ، کار باهاش راحت باشه.
6 | این توزیع رابط های متفاوتی برای آسون کردن کارها داره و همچنین میتونید منوها و خود Desktop رو هم شخصی سازی کنید.
7 |
8 | همچنین یه مورد خیلی خوب در این توزیع سازگاری کامل با مخازن ابونتو است (در بخش پکیج منیجر ها در مورد مخزن ها هم صحبت میکنیم ، ولی تا فعلا بدونید هر توزیع برای خودش یه مخزن داره و میتونید از اونجا توزیع رو آپدیت کنید یا برنامه ایی رو نصب کنید!)
9 |
10 | در کل این توزیع یه توزیع خیلی قوی مثل اوبونتوعه (و در خیلی چیزا مشابه است) و حتی ممکنه ظاهر قشنگ تریم داشته باشه ، برای همین اگه نظر من رو بخواید میتونید با این توزیع شروع کنید.(خودم چنتا توزیع دارم ولی با کالی لینوکس (یه توزیع برای هک) و مینت بیشتر کار میکنم! البته اگه اصلا میخواستید بدونید من با چی کار میکنم!)
11 |
14 | چون این توزیع هم بر پایه دبیان است پس از پکیج منیجر خانواده دبیان یعنی APT و dpkg استفاده میکنه! 15 |
16 |18 | از این توزیع هم میشه روی سرور استفاده کرد ، اما به ندرت استفاده میشه و برای سیستم های رومیزی و خونگی خیلی بهتره! 19 |
20 | 21 | منم تو این آموزش از توزیع های بر پایه دبیان استفاده میکنم! یعنی از خود مینت استفاده میکنم! 22 | 23 | 24 | 25 |
29 |
33 |
37 |
4 | لینوکس مینت بر پایه اوبنتو ساخته شده و خود ابونتو هم از دبیان ساخته شده ، پس هردوشون یه توزیع بر پایه دبیان هستن!
5 | طراحان لینوکس مینت میخواستن یه توزیع مدرن و زیبا معرفی کنن که علاوه بر محیط قشنگش ، کار باهاش راحت باشه.
6 | این توزیع رابط های متفاوتی برای آسون کردن کارها داره و همچنین میتونید منوها و خود Desktop رو هم شخصی سازی کنید.
7 |
8 | همچنین یه مورد خیلی خوب در این توزیع سازگاری کامل با مخازن ابونتو است (در بخش پکیج منیجر ها در مورد مخزن ها هم صحبت میکنیم ، ولی تا فعلا بدونید هر توزیع برای خودش یه مخزن داره و میتونید از اونجا توزیع رو آپدیت کنید یا برنامه ایی رو نصب کنید!)
9 |
10 | در کل این توزیع یه توزیع خیلی قوی مثل اوبونتوعه (و در خیلی چیزا مشابه است) و حتی ممکنه ظاهر قشنگ تریم داشته باشه ، برای همین اگه نظر من رو بخواید میتونید با این توزیع شروع کنید.(خودم چنتا توزیع دارم ولی با کالی لینوکس (یه توزیع برای هک) و مینت بیشتر کار میکنم! البته اگه اصلا میخواستید بدونید من با چی کار میکنم!)
11 |
14 | چون این توزیع هم بر پایه دبیان است پس از پکیج منیجر خانواده دبیان یعنی APT و dpkg استفاده میکنه! 15 |
16 |18 | از این توزیع هم میشه روی سرور استفاده کرد ، اما به ندرت استفاده میشه و برای سیستم های رومیزی و خونگی خیلی بهتره! 19 |
20 | 21 | منم تو این آموزش از توزیع های بر پایه دبیان استفاده میکنم! یعنی از خود مینت استفاده میکنم! 22 | 23 | 24 | 25 |
29 |
33 |
37 |
4 | لینوکس مینت بر پایه اوبنتو ساخته شده و خود ابونتو هم از دبیان ساخته شده ، پس هردوشون یه توزیع بر پایه دبیان هستن!
5 | طراحان لینوکس مینت میخواستن یه توزیع مدرن و زیبا معرفی کنن که علاوه بر محیط قشنگش ، کار باهاش راحت باشه.
6 | این توزیع رابط های متفاوتی برای آسون کردن کارها داره و همچنین میتونید منوها و خود Desktop رو هم شخصی سازی کنید.
7 |
8 | همچنین یه مورد خیلی خوب در این توزیع سازگاری کامل با مخازن ابونتو است (در بخش پکیج منیجر ها در مورد مخزن ها هم صحبت میکنیم ، ولی تا فعلا بدونید هر توزیع برای خودش یه مخزن داره و میتونید از اونجا توزیع رو آپدیت کنید یا برنامه ایی رو نصب کنید!)
9 |
10 | در کل این توزیع یه توزیع خیلی قوی مثل اوبونتوعه (و در خیلی چیزا مشابه است) و حتی ممکنه ظاهر قشنگ تریم داشته باشه ، برای همین اگه نظر من رو بخواید میتونید با این توزیع شروع کنید.(خودم چنتا توزیع دارم ولی با کالی لینوکس (یه توزیع برای هک) و مینت بیشتر کار میکنم! البته اگه اصلا میخواستید بدونید من با چی کار میکنم!)
11 |
14 | چون این توزیع هم بر پایه دبیان است پس از پکیج منیجر خانواده دبیان یعنی APT و dpkg استفاده میکنه! 15 |
16 |18 | از این توزیع هم میشه روی سرور استفاده کرد ، اما به ندرت استفاده میشه و برای سیستم های رومیزی و خونگی خیلی بهتره! 19 |
20 | 21 | منم تو این آموزش از توزیع های بر پایه دبیان استفاده میکنم! یعنی از خود مینت استفاده میکنم! 22 | 23 | 24 | 25 |
29 |
33 |
37 |
4 | لینوکس مینت بر پایه اوبنتو ساخته شده و خود ابونتو هم از دبیان ساخته شده ، پس هردوشون یه توزیع بر پایه دبیان هستن!
5 | طراحان لینوکس مینت میخواستن یه توزیع مدرن و زیبا معرفی کنن که علاوه بر محیط قشنگش ، کار باهاش راحت باشه.
6 | این توزیع رابط های متفاوتی برای آسون کردن کارها داره و همچنین میتونید منوها و خود Desktop رو هم شخصی سازی کنید.
7 |
8 | همچنین یه مورد خیلی خوب در این توزیع سازگاری کامل با مخازن ابونتو است (در بخش پکیج منیجر ها در مورد مخزن ها هم صحبت میکنیم ، ولی تا فعلا بدونید هر توزیع برای خودش یه مخزن داره و میتونید از اونجا توزیع رو آپدیت کنید یا برنامه ایی رو نصب کنید!)
9 |
10 | در کل این توزیع یه توزیع خیلی قوی مثل اوبونتوعه (و در خیلی چیزا مشابه است) و حتی ممکنه ظاهر قشنگ تریم داشته باشه ، برای همین اگه نظر من رو بخواید میتونید با این توزیع شروع کنید.(خودم چنتا توزیع دارم ولی با کالی لینوکس (یه توزیع برای هک) و مینت بیشتر کار میکنم! البته اگه اصلا میخواستید بدونید من با چی کار میکنم!)
11 |
14 | چون این توزیع هم بر پایه دبیان است پس از پکیج منیجر خانواده دبیان یعنی APT و dpkg استفاده میکنه! 15 |
16 |18 | از این توزیع هم میشه روی سرور استفاده کرد ، اما به ندرت استفاده میشه و برای سیستم های رومیزی و خونگی خیلی بهتره! 19 |
20 | 21 | منم تو این آموزش از توزیع های بر پایه دبیان استفاده میکنم! یعنی از خود مینت استفاده میکنم! 22 | 23 | 24 | 25 |
29 |
33 |
37 |
4 | توزیع های لینوکسی به خاطر سادگیشون معروف شدن اما توزیع آرچ لینوکس کلا با راحتی مشکل داره! این توزیع به کاربران اجازه میده
5 | هرچیزی که دلشون خواست رو انتخاب کنن و در عین حال عملکرد سیستم بهینه بمونه!مثل جنتو هم این توزیع برای مبتدیا مناسب نیست ، اما اگه از چالش و خرابکاری و از 0 شروع کردن خوشتون میاد میتونید این توزیع رو نصب کنید (البته اگه بتونید!)
6 |
7 | مهم ترین مورد توی آرچ ، همین شخصی سازی و اجازه به کاربرانه، تا جایی که معتقده همه ویژگی ها باید توسط کاربر شخصی سازی بشه!
8 | مثلا هیچ دستکتاپ بومی از قبل روش نصب نیست و خودتون باید انتخاب کنید که چی دوس دارید!
9 | همچنین پروسه نصب بسیار متفاوت تر از بقیه توزیع هاست که همین جالب ترش میکنه. و همچنین کمتر دارای نرم افزار های گرافیکیه تا شمارو
10 | بیشتر درگیر خط فرمان کنه!
11 |
14 | این توزیع هم مثل جنتو از پکیج منیجر مخصوص به خودش به نام pacman استفاده میکنه. 15 |
16 | 17 | 18 |
22 |
26 |
32 | استفاده از آرچ هم در حد گنتو پیچیده است و برای افراد مبتدی مناسب نیست ، اما سرعت و سبکیش میتونه برای هر سیستمی با
33 | هر مشخصاتی مناسب باشه!
34 |
35 | همچنین اگه واقعا میخواید یه سیستم عامل سبک داشته باشید و لینوکس رو قشنگ (با درد) حس کنید از آرچ لینوکس استفاده کنید.
36 | ممکنه یکم توی یادگیریش و نصبش به مشکل بخورید ولی همین حل کردن مشکل میتونه به یادگیریتون خیلی کمک کنه!
37 |
38 | (نصب کننده گرافیکی هم برای آرچ وجود داره ، ولی اگه میخواید واقعا چالش داشته باشید ازش استفاده نکنید و برای نصب از
39 |
40 | Arch Wiki
41 |
42 | استفاده کنید)
43 |
4 | دستور less یکی دیگه از دستور های جالب لینوکسه! توی درس قبلی با دستور cat آشنا شدید که فایل رو براتون میخونه. دستور less هم همین
5 | کار رو میکنه، با این تفاوت که برای فایل های حجیم کاربرد داره! یعنی چی؟ یعنی وقتی یه فایلی رو با less باز میکنید، میتونید
6 | توی ترمینال بالا، پایین برید و کم کم یه قسمتی از متن رو بخونید.
7 |
8 |
9 | البته این دستور ویژگی های منحصر به فرد خودشم داره، که با چنتاش الان آشنا میشیم. فقط قبل از استفاده، باید بگم که این دستور
10 | مثل یه دستور دیگست به اسم more که شاید بعدا در موردش صحبت کردیم، ولی فعلا اینو بدونید که شبیه بهم کار میکنن و فرق اساسیشون اینه که
11 | دستور more صفحه بندی نمیکنه و فقط میتونید توی فایل بالا پایین برید (در کل دستور less کاربردی تره)
12 |
13 |
14 | بزارید استفاده کلیشو این زیر بهتون نشون بدم:
15 |
17 |
18 | less [option] [path]
19 | # آپشن همون فلگه
20 | # ------------------
21 | # فرض کنید یه فایل 1000 خطی داریم
22 | less 1000_line.txt
23 |
24 |
25 |
26 | خروجی دستور بالا، مثل cat فایل رو برامون باز میکنه!
27 | با این تفاوت که فقط چند خط اول رو بهمون نشون میده و با جهت نماهای روی کیبورد میتونیم پایین و بالا، چپ و راست بریم.
28 | همچنین اگه خودتون دستور رو اجرا کنید متوجه میشید که که یه : (دو نقطه) پایین دستور وجود داره
29 | که اگه q رو تایپ کنید از اجرا دستور خارج میشه.(عبارت های Q و ZZ هم همین کارو میکنن)
30 |
31 | جلوی دو نقطه میتونید از این موارد استفاده کنید (چنتاشو مینویسم):
32 |
41 | برای شروع هم من یه آپشن (فِلَگ) معرفی میکنم برای این دستور به نام n که مخفف line number عه! یعنی علاوه بر محتویات فایل 42 | شماره خط رو هم بهتون نشون میده :) 43 |
-------------------------------------------------------------------------------- /Lessons/GettingStart/Gentoo/content.php: -------------------------------------------------------------------------------- 1 |
4 | جنتو یکی دیگه از توزیع های قدرتمند و قابل شخصی سازی در دنیای لینوکس است. این توزیع به طور ویژه کاربران حرفه ایی تر رو هدف قرار داده، پس اگه
5 | عاشق چالشید برید سمتش!
6 |
7 | اما جدا از سختی های این توزیع میشه گفت ، جنتو کنترل بالایی داره! حالا کنترل یعنی چی؟ یعنی شما رو جزئی ترین کارای سیستم عاملتون دسترسی مستقیم دارید.
8 | یکی دیگه از فایده های جنتو بهینهسازی و سرعت زیادشه(شاید بگید همه مگه از هسته لینوکس ساخته نشدن؟ باید بگم چرا ساخته شدن ، اما شخصی سازی ها و ابزارهای داخلی هر توزیع شبیه به هم نیست!)
9 |
10 | و مورد آخر هم اینکه شاید این توزیع سخت باشه ، ولی بعد از یادگیری دیگه ازش دست برنمیدارید! (اگه یچیز آماده در اختیارتون باشه سریع ارزشش کم میشه ، اما وقتی ریز به ریز جزئیات رو خودتون درک کنید ارزش کارتون بالاتر میره!)
11 |
14 | بر خلاف خانواده دبیان و فدورا ، جنتو از پکیج منیجر مخصوص خودش به نام Portage استفاده میکنه. 15 |
16 | 17 | 18 |
22 | 28 | استفاده از جنتو مثل توزیع های قبلی آسون نیست! و کلا برای کاربران مبتدی مناسب نیست، حتی برای نصب هم باید از دستورات استفاده کنید 29 | و از محیط گرافیکی خبری نیست! ولی در هر صورت اگه از چالش خوشتون میاد و یادگیری براتون لذت بخشه میتونید این توزیع رو استفاده کنید و لذت ببرید. 30 |
31 | 32 | 33 |
37 |
41 |
45 | 4 | این دستور هم دقیقا مشابه با دستور cp کار میکنه! فلگ ها و آپشن هایی که داره هم مشابه با دستور cp عه. پس به طور کلی 5 | درکش ایزیه (سادست). 6 | فقط باید توجه کنید که این دستور علاوه بر اینکه میتونه فایل هارو براتون جابه جا کنه، میتونه اسم فایلتونم خیلی سریع 7 | عوض کنه! پس حواستون باشه چجوری 8 | ازش استفاده میکنید قشنگا. 9 | با مثال زیر میتونید اسم فایلتون رو تغییر بدید: 10 |
11 |
12 |
13 | mv oldFileName newFileName
14 |
15 |
16 |
17 | به طور کلی هم اگه بخوایم بهش نگاه کنیم، جابه جایی فایل توی مسیر قبلی، باید روی فایل قبلی جایگزین بشه، پس وقتی با اسم دیگه ایی جابه جایی رو انجام میدیم
18 | اسم فایل تغییر میکنه.
19 |
20 | به شکل زیر میتونیم فایلمون رو بندازیم یه جای دیگه:
21 |
23 |
24 | mv fileName /home/AmirRoox/Documents
25 | # دستور بالا با نام قبلی جابه جایی رو انجام میده
26 | mv fileName /home/AmirRoox/Documents/newFileName
27 | # دستور بالایی هم با اسم جدید این کارو انجام میده
28 |
29 |
30 | 31 | همچنین میتونید چنتا فایل رو باهم منتقل کنید، که کارو ساده تر موکونه! 32 |
33 |
34 |
35 | mv fileName1 fileName2 /home/AmirRoox/Documents
36 |
37 | mv *.txt /home/AmirRoox/Documents/text
38 | # دستور بالا که توش از ستاره استفاده شده، میاد هرچیزی که آخرش تی اکس تی داره رو انتخاب میکنه و میفرسته تو اون مسیری که من میخوام، جالبه.
39 |
40 |
41 | 42 | همچنین این دستور فقط برای فایل نیست و به راحتی میتونید دایرکتوری هارو هم جابه جا کنید. دقیقا مثل دستور cp دستور mv هم یه فلگ داره به نام i که موقعه جابه جایی 43 | ازتون سوال میکنه که اگه فایل یا پوشه از قبل وجود داشته باشه، بازنویسی انجام بده یا نه! اینجاهم مثالشو زدم: 44 |
45 |
46 |
47 | mv fileName1 fileName2 /home/AmirRoox/Documents
48 |
49 | mv *.txt /home/AmirRoox/Documents/text
50 | # دستور بالا که توش از ستاره استفاده شده، میاد هرچیزی که آخرش تی اکس تی داره رو انتخاب میکنه و میفرسته تو اون مسیری که من میخوام، جالبه.
51 |
52 |
53 |
54 | یه فلگ خیلی سوپرمن (اسپایدر من، من فن اینم) داریم که خیلی جالبه. شما میتونید از فلگ b استفاده کنید.
55 | این فلگ چیکار میکنه؟ فرض کنید یه فایل دارید و میخواید رو یه فایل دیگه بازنویسی کنید، مثلا فایل t1.txt رو دارید میخواید تو یه مسیر دیگه به نام t1.txt ذخیرش کنید.
56 | حالا تو اون مسیر یه فایل به نام t1.txt از قبل وجود داره و نمیخواید محتواش از دست بره! میاید از فلگ b استفاده میکنید و توی مسیر جدید فایل t1.txt به شکل ~t1.txt ذخیره میشه!
57 |
58 | واضح تر بگم، یعنی فایل t1.txt که میخواستید جابه به جا کنید به همین نام ذخیره میشه تو مسیر جدید و فایل قبلی توی ~t1.txt ذخیره میشه! یک تیر و دو نشون! مثالشم این زیره:
59 |
61 |
62 | mv -b t1.txt /home/AmirRoox/Documents/t1.txt
63 |
64 |
--------------------------------------------------------------------------------
/Lessons/CommandLine/cp-command/content.php:
--------------------------------------------------------------------------------
1 | 4 | همونجور که متوجه شدید دستور cp مخفف کلمه copy عه! و چیکار میکنه؟ براتون همه چیزو کپی میکنه. خداییش کنترل سی و کنترل وی هم خوبه ها، اما تو ترمینال یه حال دیگه میده. 5 | این دستور خیلی ساده است، دستور رو مینوسیم ، آرگومان اولی که بهش پاس میدیم فایل اصلیمونه و آرگومان دومی که بهش میدیم مسیر و اسمیه که میخوایم اونجا کپی بشه. 6 | برای بهتر متوجه شدن بازم این زیر مینویسم عشق کنید: 7 |
8 |
9 |
10 | cp maintext.txt /home/download/
11 | # اگه مثل بالا وارد کنید به همون نام توی مسیر کپی میکنه
12 | cp maintext.txt /home/download/newfile.txt
13 | # اگه هم مثل بالا بزارید به نامی که شما دوست دارید کپی میکنه
14 |
15 |
16 | 17 | حالا کجا این دستور جذاب تر میشه؟ وقتی میخواید چندین فایل با الگو خاص رو کپی کنید! 18 | فرض کنید تو یه پوشه 600 تا عکس با فرمت jpg دارید و میخواید کپیش کنید تو یه مسیر دیگه، از دستور زیر میتونید استفاده کنید: 19 |
20 |
21 |
22 | cp *.jpg /home/temp/Pic
23 |
24 |
25 | 26 | حالا شاید بگید ستاره یعنی چی؟ ستاره یعنی همه چیز! یعنی هرچیزی به هر تعدادی، بعدشم فرمت فایل اومده، پس یعنی هرچیزی که فرمتش jpg بود رو برام انتخاب کن 27 | و تو مسیری که بهت گفتم کپی کن. 28 | حالا اگه همین رو برعکس کنیم هم جالب میشه، مثل زیر: 29 |
30 |
31 |
32 | cp jpg.* /home/temp/Pic
33 |
34 |
35 | 36 | دستور بالا میاد فقط فایل هایی رو میگیره که اسمشون jpg عه و فرمتشون میتونه هر چیزی باشه! تازه جالب تر هم میشه، مثلا میخواید فایل هایی رو کپی کنید که اولشون ab داره 37 | برای این کارم از دستور زیر استفاده میکنید: 38 |
39 |
40 |
41 | cp ab*.jpg /home/temp/Pic
42 |
43 |
44 |
45 | کنترل سی، کنترل وی، تو خوابشم نمیتونست از این چیزا ببینه!
46 |
47 | تازه یه فلگ باحال هم داره، برای زمانی استفاده میشه که شما چنتا پوشه دارید که داخلش چنتا پوشه دیگست و داخل هرکدومش چندین فایل و پوشه دیگه دارید (داخل نیوفولدر 1 ، نیوفولدر 2 و الی آخر (اکثر چیز خوبی تو اینا نبود!))،
48 | برای همچین کاری از فلگ r استفاده میکنیم که مخفف recursive یا بازگشتیه:
49 |
51 |
52 | cp -r newFolder1/ /home/temp/Pic
53 | # تمامی فایل و پوشه های داخل اون فولدر رو به همراه خود فولدر کپی میکنه
54 |
55 |
56 | شاید بگید ، بدون این فلگ خب همین کارو میکنیم، که باید بگم تست کنید و اگه شد خبر بدید :)
57 | 59 | حالا ممکنه یچیزی رو کپی کنید یه جایی ولی یه فایل با همون نام وجود داشته باشه، که خب خیلی راحت رونویسی میشه، برای اینکه این اتفاق نیوفته هم میتونید از فلگ i استفاده کنید 60 | اینجوری قبل از رونویسی ازتون میپرسه که رونویسی کنم یا نه. 61 |
-------------------------------------------------------------------------------- /Lessons/CommandLine/The-Shell/content.php: -------------------------------------------------------------------------------- 1 |3 | اولین بحثی که میخوایم در موردش صحبت کنیم ، پوسته (Shell) است ؛ ولی اصلا پوسته یعنی چی ؟ 4 | شما وقتی لینوکس خودتون رو نصب میکنید از طریق برنامه ایی به نام ترمینال (توی ویندوز بهش میگن CMD) با هسته لینوکس ارتباط برقرار میکنید. 5 | و دستوراتی رو میتونید توی ترمینال (خط فرمان) وارد کنید. صد در صد تا حالا دیگه ترمینال رو یبار باز کردید و یچیزی شبیه مورد زیر مشاهده کردید : 6 |
7 |
8 |
9 | username@hostname:current_directory $
10 |
11 | Amirroox@Linux: /home/Desktop $
12 |
13 |
14 |
15 | خط اولی که نوشتم حالت کلی نمایشه ، و خط دومی که نوشتم توی ترمینال خودمه!
16 | به طور کلی توی ترمینال ، قسمت اول اسم یوزر میاد، بعد یه @ قرار میگیره و اسم هاست لینوکس میاد.
17 | بعد از اون هم یه دو نقطه قرار میگیره و مسیری که توش هستید نمایش داده میشه؛ و در آخر هم یه علامت دلار چاپ میشه (البته در پوسته های مختلف علامت های مختلفی وجود داره!) که بعد از اون میتونید
18 | دستورات خودتونو وارد کنید!
19 |
20 |
21 | توجه کنید که گفتم مسیری که توش هستید؛ مثلا اگه توی دسکتاپ یه پوشه بسازید به نام "فلان" و داخل این پوشه
22 | هم یه پوشه دیگه به نام "فلان 2" بسازید، اگه برید داخل پوشه "فلان 2" مسیری که توش هستید برابر میشه با : "دسکتاپ / فلان / فلان 2"
23 |
24 |
25 | حالا اینایی که گفتیم چه ربطی به پوسته داشت؟ کامپیوتر فقط 0 و 1 رو میفهمه و ماهم نمیتونیم تمام دستورات 0 و 1 رو حفظ کنیم!
26 | پس پوسته به وجود اومد تا بتونه کار مارو راحت کنه و دستوراتی که وارد میکنیم رو به زبان کاپیوتر (0 و 1) ترجمه کنه!
27 |
28 |
29 | پس به طور کلی Shell یعنی یه رابط کاربری بین کاربر و هسته لینوکس! یا بخوایم یکم بازترش کنیم، میتونیم بگیم
30 | یه قطعه نرم افزاره که به من و شما اجازه میده دسترسی مستقیم داشته باشیم به سیستم عامل!
31 |
32 |
33 | شما وقتی ترمینال روباز میکنید به طور خودکار پوسته Bash اجرا میشه (البته پوسته های مختلف دیگه ایی هم مثل zsh داریم، اما به طور پیشفرض اکثر توزیع های لینوکس از پوسته bash استفاده میکنن!)
34 |
35 | حالا که فهمیدیم پوسته چیه بیاین اولین دستورمونو توی ترمینال بنویسیم :
36 |
38 |
39 | echo Hello World
40 | hello World
41 |
42 |
43 |
44 | فعلا زیاد درگیر echo نشید ، ولی در همین حد بدونید که اگه جلوی دستور echo هر چیزی رو وارد کنیم ، برامون چاپش میکنه!
45 |
46 |
47 | توجه کنید که به حروف بزرگ و کوچیکم حساسه! پس کلمه echo رو همینجوری که نوشتم بنویسید!
48 |
49 |
56 |
60 | 3 | خب ، توی بخش قبلی یا بهتره بگیم درس قبلی با تاریخچه لینوکس آشنا شدیم ولی یه چیزی رو یادمون رفت بگیم که بهتره اینجا تصحیحش کنیم و اونم 4 | اینه که لینوکس به خودی خودش یه سیستم عامل نیست و وقتی میگیم لینوکس به هسته سیستم عامل اشاره داریم. حالا بعضیا میان و از این هسته 5 | استفاده میکنن و انواع مختلف سیستم عامل رو میسازن! برای همین معمولا لینوکس به سیستم عامل مشهوره (ولی یادتون باشه گفتم هسته سیستم عامل لینوکسه ، یعنی ازش به عنوان پایه ایی برای ساخت سیستم عامل استفاده میشه!) 6 | حالا که تصحیح کردیم گفته های قبلمون رو بیاید یه صحبتی در مورد خود لینوکس داشته باشیم. سیستم لینوکس (چیزی که از لینوکس ساخته شده) 7 | خودش دارای 3 بخش اصلیه (البته بخش های خیلی زیادی داره اما فعلا اساسی تریناشو میگم تا برسیم به وقتش) : 8 |
9 |
19 |
21 | حالا که اساس سیستم عامل رو فهمیدیم باید یه توزیع انتخاب کنیم (توزیع یه سیستم عامل با هسته لینوکسه و تعدادشونم خیلی زیاده!!) و بعد از انتخاب
22 | اونو نصبش کنیم. ما توزیع های زیادی از لینوکس داریم ، مثل Fedora ، Ubuntu ، centos ، Kali Linux و ... ولی ما که نمیتونیم همشونو توضیح بدیم! پس چنتا از مهم تریناشونو
23 | توی درس های بعدی معرفی میکنیم و با علاقه خودتون یکی رو انتخاب کنید (البته توجه داشته باشید که بعدا متوجه میشید بعضی از دستورات توی بعضی از توزیع ها متفاوته!)
24 |
25 | توجه کنید که برای نصب هر توزیع یه سرچ کوچیک تو نت بزنید آموزش های قوی و قشنگی رو پیدا میکنید ، ماهم قرار نیست نصب لینوکسو اینجا یاد بدیم
26 | فقط میخوایم توزیعاشو معرفی کنیم و خودتون انتخاب کنید و نصبش کنید و بعد باهم برسیم سر چیزای اصلی تر و سخت تر!!!
27 |
38 |
42 |
46 |
4 | دبیان یکی از اولین توزیع های لینوکسه که خیلی هم خوبه (چون کاملا رایگان و اپن سورسه!) ، وقتی میخواستن این توزیع رو بسازن
5 | اصلا به فکر تجاری کردنش نبودن و حتی پشتیبانی مالی هم نداشتن ، اما تونستن یه یچیز فوقالعاده درست کنن که در دسترس همه باشه تا جایی
6 | که الان خیلی از توزیع های دیگه از همین توزیع شکل گرفتن.
7 |
8 | نکته دیگه ایی که در مورد این توزیع لینوکسی میشه داد ، اینه که این توزیع هم سمت سرور و هم سمت کاربر میتونه اجرا بشه (سمت سرور یعنی روی یه سرور مجازی و سمت کاربر هم یعنی به صورت خونگی استفاده بشه!)؛
9 | خود توزیع دبیان 3 تا نسخه متفاوت برای دانلود داره به نام های پایدار (Stable) ، ناپایدار (Unstable) و تست (Testing) که یه فرق های
10 | ریزی باهم دیگه دارن. اما اگه بخوام به طور خلاصه فرق هاشون رو براتون توضیح بدم اینجوریه که نسخه پایدار بیشترین امنیت و کمترین باگ رو داره ولی آخرین نسخه منتشر شده نیست!
11 | از یه طرف دیگه یه نسخه ناپیدار داره که آخرین نسخه است ولی ممکنه باگ داشته باشه! و نسخه تست هم برای توسعه دهندگانه و میشه گفت یچیزی بین پایدار و ناپایداره!
12 |
15 | همونطوری که بالاتر اشاره کردم دبیان یه توزیع پایه است و خیلی از توزیع های دیگه بر پایه دبیان به وجود اومدن. مثلا توزیع قدرتمند اوبنتو 16 | که احتمالا اسمشم شنیدید از دبیان ساخته شده و توزیع مینت (Mint) هم از ابونتو ساخته شده که یعنی توزیع مینت هم پایه اصلیش از دبیان میاد! 17 |
18 |20 | پکیج منیجر رو اگه بخوام به طور خلاصه توضیح بدم یعنی نرم افزاری داخل سیستم عامل که میتونید باهاش نرم افزار ها و پیکج های مختلف رو دانلود و نصب کنید(ولی به صورت کلی یعنی مدیریت بسته های نصبی - یجور مدیریت برنامه هامونه). 21 | هر توزیع پکیج منجیر مخصوص خودش رو داره و حتی ممکنه دستورات نصب متفاوتی داشته باشه ولی فعلا این مبحثو پس ذهنتون نگه دارید تا به وقتش 22 | به درس پکیج منیجر ها برسیم. 23 | پکیج منیجری که خانواده دبیان ازش استفاده میکنه dpkg و ابزار APT است. 24 | (dpkg مخفف Debian package است!) 25 |
26 | 27 |
31 | 36 | استفاده و نصب هم از دبیان خیلی آسونه و طریقه سختی نداره ، چون به صورت گرافیکیه و مراحل پیچیده ایی برای نصب نداره. همینطور پیکربندی 37 | و تنظیماتشم پیچدیدگی بالایی نداره و ارتباط خوبی با هسته لینوکس برقرار میکنه! 38 |
39 | 40 | توجه داشته باشید نیاز نیست بقیه توزیع هارو هم یاد بگیرید فقط اطلاعات کافی در موردش داشته باشید بد نیست. 41 | در هر صورت میتونید برید درس بعد یا اگه حوصله ندارید برید فصل بعدی تا با چیزای اساسی و مهم آشنا بشیم! 42 | 43 | 44 | 45 |
49 |
53 |
4 | تا حالا خیلی از دستورات رو باهمدیگه کار کردیم و من ینفر که لذت بردم (امیدوارم شما هم برده باشید)
5 | اما یکی از دستورات پر کاربرد توی لینوکس دستور history که همونطور که از اسمش پیداست تاریخچه دستوراتی که قبلا زدید رو بهتون میده.
6 |
7 | توجه داشته باشید که حتی اگه logout یا shutdown هم کنید، دستورات باقی میمونن و میتونید ازشون استفاده کنید
8 |
9 | من این زیر دستور رو وارد میکنم و خروجی رو هم بهتون نشون میدم:
10 |
12 |
13 | history
14 |
15 |
16 | خروجی:
17 |
18 |
19 | 1 exit
20 | 2 sudo apt install figlet lolcat
21 | 3 clear
22 | 4 apt install gedit
23 | 5 gedit .zshrc
24 | 6 exit
25 |
26 |
27 |
28 | اینجوری اگر چیزی رو اشتباه اجرا کرده باشید یا کدی رو زده باشید که یادتون نیاد، خیلی راحت میتونید دوباره ازش استفاده کنید.
29 | حالا چجوری میشه ازش استفاده کرد؟ چنتا روش خیلی ساده داره
30 | اولین روش که عشقمونه ، کپی پیسته! یعنی دستور رو سلکت میکنیم و کپیش میکنیم و دوباره توی ترمینال پیستش میکنیم و فکر نمیکنم این بخش نیاز به آموزش داشته باشه!
31 |
32 | قبل از اینکه روش بعدی رو بگم یه دستور دیگه هم بهتون بگم:
33 |
35 |
36 | !!
37 |
38 |
39 |
40 | دستور بالا میاد و آخرین دستوری که وارد کردید رو اجرا میکنه
41 | و چون آخرین دستوری که وارد کردیم، دستور history بود، پس توی ترمینال این دستور رو به ما نشون میده.
42 |
43 | اگر توجه کرده باشید ، وقتی دستور رو اجرا کردیم، بغل هر دستور یه عدد زده، ما با استفاده از اون اعداد هم میتونیم دستور خودمون رو اجرا کنیم، مثلا توی مثال بالا میخوام دستور clear رو دوباره اجرا کنم،
44 | عددی که بغلش نوشته شده 3 عه پس به شکل زیر میتونم اجراش کنم:
45 |
47 |
48 | !3
49 | # اول یه علامت تعجب و بغلش عددش که داخل هیستوری بود
50 |
51 |
52 |
53 | حالا که دستور clear رو هم دیدیم ، بهتون بگم که این دستورم ترمینال رو براتون پاک میکنه (اگه خیلی اسکرول خورده باشه، تمام اسکرول هارو پاک میکنه، که عالیه!)
54 |
55 | یه روش دیگه هم داریم که میتونیم از اون هم استفاده کنیم، اگه فلش های بالا پایین کیبورد رو هم بزنید، به دستورات قبلی و بعدی میرسید که دقیقا از روی همون history خونده میشه!
56 |
57 | حالا که تا اینجا اومدیم یه دستور ترکیبی هم بهتون میگم، اگه ctrl + R رو فشار بدید هم میتونید توی تاریخچه سرچ کنید (هرچیزی تایپ کنید ، داخل history میگرده و مشابه اون رو میاره و اگه یبار دیگه ctrl + R رو بزنید مورد مشابه بعدی رو براتون پیدا میکنه)
58 |
65 | آه، بازم یه چیز دیگه یادم اومد بگم و خالی از لطف نیست، اگه دستور هیستوری رو با فلگ c (حرف سی کوچیک) استفاده کنید، تاریخچه رو براتون پاک میکنه. و بد نیست خودتون به هلپش نگاه کنید. 66 |
67 | -------------------------------------------------------------------------------- /templates/lesson-layout.php: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 |= $metadata['references_description'] ?>
55 | 56 | = $this->renderReferences($metadata['references']) ?> 57 | 58 | 59 | 60 |
4 | همه چیز توی لینوکس یه فایله! هرچقدر جلوتر بریم با این مفهوم بیشتر آشنا میشید، ولی فعلا فقط در نظر بگیرید که دنیای لینوکس
5 | دنیای فایل هاست! توی ویندوز وقتی مای کامپیوتر رو باز میکنید درایوهاتون رو میتونید ببنید و هرکدوم رو که باز کنید
6 | پوشه بندی های خودشون رو دارن؛ توی لینوکس هم همین شکلیه با این تفاوت که فقط درایو های ذخیره سازی وجود نداره و یکمی درایو بندی ها پیچیده ترن!
7 |
8 | من قرار نیست فعلا در مورد پوشه بندی ها صحبت کنم ، اما موارد پایه رو میگم تا در جریان باشید!
9 |
10 | توی ویندوز، مای کامپیوتر اولین دایرکتوی (پوشه ریشه (root Directory)) برای شماست ، اما توی لینوکس اولین دایرکتوری رو با / مشخص میکنن! و این دایرکتوی فایل ها و پوشه های زیادی داره
11 | که من چنتاش رو این زیر گذاشتم:
12 |
14 |
15 | / (Root)/
16 | bin/
17 | x11/
18 | 7z.txt
19 | apt.bash
20 | apt-clone.py
21 | ...
22 | boot/
23 | .../
24 | ...
25 | dev/
26 | .../
27 | ...
28 | etc/
29 | .../
30 | ...
31 | home/
32 | amirroox (Users)/
33 | Documents/
34 | Desktops/
35 | Downloads/
36 | Music/
37 | lib/
38 | .../
39 | .../
40 | .../
41 | .../
42 | ...
43 | .../
44 | usr/
45 | .../
46 | .../
47 | ...
48 | .../
49 | var/
50 | .../
51 | .../
52 | .../
53 |
54 |
55 |
56 | پوشه های بالا چنتا از پوشه های داخل ریشه (root) هستن، و از این به بعد به مسیر هر فایل میگیم Path.
57 |
58 | مثلا تو قسمت بالا یه پوشه به نام home داریم که داخلش یه پوشه دیگه به نام amirroox هست و داخل اون هم یه پوشه به نام Download ، حالا اگه بریم داخل پوشه Download
59 | مسیر ما یا همون Path چی میشه؟ آفرین میشه home/amirroox/Download .
60 |
61 | حالا همه اینارو گفتیم که به چی برسیم؟ ما دستوری داریم به نام pwd که این دستور مسیر شمارو نشون میده ، توی مثال زیر فرض کنید داخل همون پوشه Download هستیم.
62 |
64 |
65 | pwd
66 | /home/amirroox/Download
67 |
68 |
69 |
70 | توجه کنید که دستور pwd مسیر شما رو از ریشه به دست میاره (ینی دقیقا از ریشه مسیریابی میکنه و path کامل رو در اختیارتون میزاره)
71 |
72 |
73 |
77 |
81 |
3 | اگه بخوایم الان در مورد تاریخچه لینوکس صحبت کنیم من ینفر محتوا کم میارم(همینجوری هم همیشه محتوا کم دارم!)
4 | اما چون قراره باهم دیگه لینوکس کار کنیم ، بلخره باید یه چیزایی رو از تاریخچه و شکل گیری این سیستم عامل
5 | هم بدونیم!
6 |
7 | حرف اضافه نمیزنم میریم سر تاریخچه لینوکس : لینوکس در سال 1991 (که خیلی ام ازش نمیگذره) توسط لینوس توروالدز (Linus Torvalds)
8 | ساخته شد؛اما این همه داستان نیست و داستان شکل گیری لینوکس به قبل از همه اینا برمگیرده! تا قبل از سال 1991 سیستم عامل هایی
9 | داشتیم مثل Mac (که مثل الان ، همون موقعه هم گرون بودن!) یا سیستم عاملی مثل Dos که امپراطوری میکرد (اما آنچنان ارزون و قابل دسترس نبود)
10 | برای همین موارد وجود یه چیز رایگان و سریع و به طور کلی عالی ، کم بود!
11 |
12 | از یه طرفی سیستم عامل Unix وجود داشت ، اما قیمت خیلی بالایی داشت که بازم برای همه نمیصرفید!کم کم سیستم عاملی به نام Minix ساخته شد که در واقع ساختش
13 | توسط یه پروفسور بود که میخواست عملکر درونی یه سیستم واقعی رو به دانشجوهاش نشون بده (بعد تو ایران ... بگذریم) ،
14 | از یه طرفی وقتی Minix سر و صدا به پا کرد ، اولین سیستم عاملی بود که به صورت متن باز (اوپن سورس - کلا سورسش در دسترس همه) در دسترس عموم
15 | قرار میگرفت و همین انقلابی در مورد آزادی و جامعه اپن سورس بود!
16 | خالق Minix یه کتاب برای کمک به درک کد های سیستم عامل نوشت و یکی از کسانی که اون کتاب رو خوندن ، لینوس توروالدز بود!
17 |
18 | حالا مسیرو تغییر میدیم تا ببینم این لینوکس عزیزمون چجوری ساخته شد! لینوس یه هکر خود آموخته و دانشجو سال دوم علوم کامپیوتر توی دانشگاه هلسینکی (فنلاند)
19 | بود و خیلی به برداشتن محدودیت های سیستم های عامل علاقه داشت (محدودیت اصلا خوب نیستتت!) ؛ از یه طرفی Minix سیستم عامل خوبی بود
20 | اما آموزشی بود و برای مصارف تجاری و یا عمومی گزینه مناسبی نبود!
21 | همچنین تو اون زمان سیستم عامل GNU هم ساخته شده بود که حرف اول توی سیستم عامل های متن باز و اوپن سورس رو میزد.
22 | (گنو در سال 1983 ساخته شد اما بازم کاملا اوپن سورس نبود و حتی Minix هم قرار بود لایسنس دار بشه ، پس کلا نیاز داشتیم یچیزی کاملا رایگان به وجود بیاد!)
23 | حالا از گنو بگذریم لینوس قصه ما بلخره توی سال 1991 به گروه خبری Minix یه متنی رو ارسال کرد که اگه بخوام خلاصه بگم اینو گفت : من یه سیستم عامل کاملا آزاد برای سرگرمی ساختم
24 | و قرار نیست تجاری باشه ولی چون شبیه Minix ، میخواستم بازخورد های شما رو داشته باشم و بدونم مردم چه فیچر هایی رو دوست دارن.
25 | حتی خود لینوس هم فک نمیکرد یه تایمی سیستم عاملش انقدر بزرگ بشه که یکی از اون سر دنیا در مورد تاریخچش فقط این همه بنویسه!
26 | در هر صورت کد های سیستم عامل لینوکس تو اینترنت آپلود شد و خیلی زود فراگیر شد و استقبال پرشوری هم داشت! اما خیلی زود خالق Minix (اسم اون پرفسور ، اندرو تاننبوم بود) جواب لینوس رو خیلی تند داد ، به طور خلاصه هم اینو گفت :
27 | طراحی یه هسته یکپارچه توی سال 1991 یه اشتباه محضه و خدارو شکر که دانشجو من نیستی وگرنه نمره بالایی نمیگرفتی.(خدایی ناراحت شدم :( )
28 |
29 | تاننبوم قطعا پرفسور معروفی بود و حرفش اهمیت زیادی داشت ، اما در مورد Linux اشتباه میکرد و همچنین لینوس هم با این بادا نلرزید و به کارش ادامه داد. طرفدارای لینوکس هرروز اضافه میشد و دیگه اسباب بازی برای
30 | هکر ها نبود و واقعا یه سیستم عامل کاربردی شده بود! در آخر هم لینوکس مجوز عمومی GNU رو گرفت و جزو یه سیستم عامل واقعی شد که برای استفاده و توسعه رایگان بود!
31 |
32 | اما همینجوری نموند و بعضی از شرکت ها اومدن و نسخه های خودشون رو ارائه دادن (بر پایه لینوکس) و با قیمت های خودشون به فروش رسوندن ، اما هنوز که هنوزه
33 | لینوکس یه سیستم عامل رایگانه که میتونید همه جا راحت دانلودش کنید و هر بلایی خواستید سرش بیارید.(من از طرف شما از لینوس تشکر میکنم!)
34 |
41 |
45 |
49 |
4 | خب تو درس قبلی فهمیدیم میتونیم مسیر حال حاضرمونو پیدا کنیم ولی چجوری میتونیم مسیرمونو تغییر بدیم؟
5 | توی ویندوز وقتی روی درایو یا پوشه ایی دوبار کلیک کنیم، واردش میشیم اما توی خط فرمان لینوکس که نمیتونیم روی چیزی کلیک کنیم! پس باید چیکار کنیم؟
6 | هیچی خیلی راحت از دستور cd استفاده میکنیم که مخفف Change Directory !
7 |
8 | مثال زیر رو فرض کنید ، اول مسیر حال حاضرمون رو چک میکنیم و بعد میبینید چجوری وارد یه مسیر دیگه میشیم :
9 |
11 |
12 | pwd
13 | /home/amirroox
14 | cd Download
15 | pwd
16 | /home/amirroox/Download
17 |
18 |
19 |
20 | خب میبینید بعد از دستور cd یچیزی وارد کردیم و اون چیزی نیست جز جایی که میخوایم واردش بشیم! از قبل دیدیم که توی پوشه amirroox یه پوشه به نام Download وجود داره
21 | پس با دستور cd وارد اون پوشه شدیم و با دستور pwd چک کردیم که توی مسیر هستیم یا نه!
22 |
23 |
24 | بیاین یکم علمی تر بررسی کنیم! برای وارد شدن به یه مسیر توی لینوکس دوتا روش دارید که این زیر مشخصه :
25 |
26 |
43 | خب احتمالا خودتونم بگید که کلیک کردن خیلی سادهتر بود تا اینکه کل مسیرو خودمون وارد کنیم! لینوکس برای این سختی هم یه فکری کرده 44 | و چنتا علامت گذاشته برای میانبر، که این زیر میبنید: 45 |
46 |
64 |
65 | # استفاده از نقطه (.)
66 | pwd
67 | home/amirroox
68 | cd .
69 | pwd
70 | home/amirroox
71 | # میبینید که مسیر هیچ تغییری نکرد
72 |
73 | # استفاده از دو نقطه (..)
74 | pwd
75 | home/amirroox
76 | cd ..
77 | pwd
78 | home
79 | # میبینید که ایندفعه یه خونه عقب رفت
80 |
81 | # استفاده از مدک (~)
82 | pwd
83 | home
84 | cd ~
85 | pwd
86 | home/amirroox
87 | # میبنید که ایندفعه وارد یوزر شد
88 |
89 | # استفاده از خط تیره (-)
90 | pwd
91 | home
92 | cd etc/group
93 | pwd
94 | etc/group
95 | cd -
96 | pwd
97 | home
98 | # میبیند که بدون توجه به مسیر دقیقا به مسیر قبلی رفت
99 |
100 |
101 |
102 | حتما حتما این دستورات رو انجام بدید تا قشنگ ملکه ذهنتون بشه!
103 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [نسخه فارسی مستندات](./README_fa.md)
2 |
3 | # Linux Learning Project
4 |
5 | This project provides educational content about various Linux command-line commands. Each lesson is structured to explain a specific command, its usage, and examples.
6 |
7 | ---
8 |
9 | ## 🔧 Features
10 |
11 | - php pure backend for serving lessons (Without framework - Simple).
12 | - Learn about essential Linux commands.
13 | - Structured lessons for easy understanding.
14 | - Includes practical examples and explanations.
15 | - Responsive design for better accessibility.
16 | - Uses Tailwind CSS for styling.
17 | - Organized project structure for easy navigation.
18 | - Supports multiple lessons on different commands.
19 | - Interactive examples to practice commands.
20 |
21 | ---
22 |
23 | ## 📦 Dependencies
24 |
25 | Make sure the following tools are installed:
26 |
27 | - **PHP**: For running the backend logic.
28 | - **Node.js**: For running npm scripts.
29 | - **npm**: For managing frontend dependencies.
30 | - **Composer**: For managing PHP dependencies.
31 | - **Tailwind CSS**: For styling the frontend.
32 |
33 | ---
34 |
35 | ## 📁 Directory Structure
36 |
37 | ```
38 | .
39 | ├── Lessons/ # Includes relevant lessons
40 | .
41 | ├── Lessons/GettingStart/ # Directory for Getting Start part
42 | ├── Lessons/CommandLine/ # Directory for command-line-related part
43 | └── .... # Directory for other part
44 | ├── templates/ # Templates
45 | .
46 | ├── templateLesson # Copy this file for each lesson to edit
47 | └── lesson-layout.php # Main template for generating each lesson
48 | ├── Constants.php # Global constants used across the project
49 | ├── assets/ # Shared assets like CSS, JavaScript, and images
50 | ├── src/ # Reusable components like header and footer
51 | ├── package.json # npm dependencies and scripts
52 | ├── tailwind.config.js # Tailwind CSS configuration file
53 | ├── composer.json # PHP dependencies and autoloading
54 | ├── composer.lock # Locked versions of PHP dependencies
55 | ├── index.php # Main entry point for the application
56 | ├── .gitignore # Git ignore file
57 | ├── README_fa.md # Persian project documentation
58 | └── README.md # Project documentation (This File)
59 | ```
60 |
61 | ## 📁 Lessons Structure
62 | ```
63 | .
64 | ├── Lessons/GettingStart/ # Directory for Getting Start lessons
65 | .
66 | ├── Lessons/GettingStart/History # Directory for lesson 1
67 | .
68 | ├── Lessons/GettingStart/index.php # Constructor
69 | ├── Lessons/GettingStart/content.php # Main Content
70 | ├── Lessons/GettingStart/metadata.php # Required metadata for each lesson
71 | └── Lessons/GettingStart/Quiz # answer content
72 | .
73 | ├── Lessons/GettingStart/Quiz/1.txt # q1 answer content
74 | ├── Lessons/GettingStart/Quiz/2.txt # q1 answer content
75 | └── ... # other answer content
76 | ├── Lessons/GettingStart/ArchLinux # Directory for lesson 2
77 | └── .... # Directory for other lessons
78 | ```
79 |
80 | ---
81 |
82 | ## 🚀 How to Add Lesson
83 |
84 | #### Basic:
85 | 1. Clone the repository
86 | 2. cd to `Lessons` Directory
87 | 3. Create or navigate to the desired part (example: GettingStart)
88 | 4. Create or navigate to the lesson directory (example: History)
89 | 5. Add the main content in `content.php` and place the answers in the `Quiz` directory.
90 | 6. Edit the `metadata.php` file to edit exercises, resources, tests, and metadata.
91 | 7. Commit and push your changes.
92 |
93 | #### 🧠 Tip:
94 | **To add a new lesson (section), copy the contents of the `templateLesson` folder into the `templates` folder, then create the contents of `content.php` and `metadata.php`. Also, the answers are saved as text in the `Quiz` directory.**
--------------------------------------------------------------------------------
/Lessons/CommandLine/touch-command/content.php:
--------------------------------------------------------------------------------
1 | 4 | خب خب به یه دستور باحال رسیدیم! تا الان یاد گرفتیم توی مسیرهای مختلف وارد بشیم و فایل های درون مسیرها رو 5 | ببینیم، اما امروز میخوایم یاد بگیریم چجوری یه فایل بسازیم! قبل از کار با دستور touch بیاید با دستور ls -l چک کنیم چه فایل هایی توی مسیرمونه : 6 |
7 |
8 |
9 | pwd
10 | home/amirroox/Desktop/NewFolder
11 | ls -l
12 | drwxrwxr-x 2 amirroox amirroox 4096 Jul 24 19:41 big
13 | -rw-rw-r-- 1 amirroox amirroox 9077 Jul 24 19:05 maa.txt
14 | -rw-rw-r-- 1 amirroox amirroox 9077 Jul 24 19:05 may.txt
15 | -rw-rw-r-- 1 amirroox amirroox 9077 Jul 24 19:05 my(6th).txt
16 | -rw-rw-r-- 1 amirroox amirroox 9077 Jul 24 19:05 my(7th).txt
17 | -rw-rw-r-- 1 amirroox amirroox 9077 Jul 24 19:05 my.jpg
18 | -rw-rw-r-- 1 amirroox amirroox 9077 Jul 24 19:05 my(copy).jpg
19 | -rw-rw-r-- 1 amirroox amirroox 9077 Jul 24 19:05 my.txt
20 | -rw-rw-r-- 1 amirroox amirroox 9077 Jul 24 19:05 myy.txt
21 | drwxrwxr-x 2 amirroox amirroox 4096 Jul 25 15:03 new
22 |
23 |
24 |
25 | تو قسمت بالا اگه توجه کنید یه تاریخ میبینید که تاریخ ایجاد یا ویرایش اون فایل رو نشون میده! مثلا برای فایل maa.txt تاریخ ایجاد(آخرین ویرایش) برابر با 24 Jul و ساعت 19 و 5 دقیقه است.
26 | حالا چرا اینو گفتم؟ چون دستور امروز ما دوتا کار میکنه،
27 |
28 | اول اینکه میتونید باهاش یه فایل خالی بسازید و دومین کار اینه که میتونید تاریخ فایل رو عوض کنید.
29 |
30 |
31 |
32 | توجه کنید که به این تاریخ میگن timestamp (مهر زمانی) ، پس از الان اسم درستشو میگیم تا اینکه بگیم تاریخ!
33 |
34 |
35 | خب بریم که با این دستور کار کنیم ، تو دستورات زیر چنتا فایل متفاوت میسازیم :
36 |
38 |
39 | pwd
40 | home/amirroox/Desktop
41 | ls -l
42 | drwxrwxr-x 4 amirroox amirroox 4096 Jul 25 15:03 NewFolder
43 |
44 | # در زیر یه فایل خالی ایجاد کردیم
45 | touch newFile
46 | ls -l
47 | -rw-rw-r-- 1 amirroox amirroox 0 Jul 25 15:14 newFile
48 | drwxrwxr-x 4 amirroox amirroox 4096 Jul 25 15:03 NewFolder
49 |
50 | # در زیر چنتا فایل رو همزمان میسازیم
51 | touch ax.jpg new.txt my.pdf
52 | ls -l
53 | -rw-rw-r-- 1 amirroox amirroox 0 Jul 25 15:16 ax.jpg
54 | -rw-rw-r-- 1 amirroox amirroox 0 Jul 25 15:16 my.pdf
55 | -rw-rw-r-- 1 amirroox amirroox 0 Jul 25 15:14 newFile
56 | -rw-rw-r-- 1 amirroox amirroox 0 Jul 25 15:16 new.txt
57 | drwxrwxr-x 4 amirroox amirroox 4096 Jul 25 15:03 NewFolder
58 |
59 |
60 |
61 | 62 | خب اگر توجه کنید سمت چپ تاریخ، برای فایل هایی که ایحاد کردیم عدد 0 نوشته شده که حجم فایل رو مشخص میکنه 63 | پس نتیجه میگیریم که فایل های ما خالی خالی هستن! 64 | دومین کاری هم که دستور touch انجام میده ، اینه که timestamp فایل هارو عوض میکنه(بدون اینکه به محتواشون دست بزنه!) مثال 65 | زیر رو یه نگاه بندازید : 66 |
67 |
68 |
69 | ls -l
70 | -rw-rw-r-- 1 amirroox amirroox 0 Jul 25 15:16 ax.jpg
71 | -rw-rw-r-- 1 amirroox amirroox 0 Jul 25 15:16 my.pdf
72 | -rw-rw-r-- 1 amirroox amirroox 0 Jul 25 15:14 newFile
73 | -rw-rw-r-- 1 amirroox amirroox 0 Jul 25 15:16 new.txt
74 | drwxrwxr-x 4 amirroox amirroox 4096 Jul 25 15:03 NewFolder
75 |
76 | # تاریخ فایل رو دقت کنید
77 | # دستور تاچ رو 4 دقیقه بعد دوباره زدیم
78 | touch new.txt
79 | ls -l
80 | -rw-rw-r-- 1 amirroox amirroox 0 Jul 25 15:16 ax.jpg
81 | -rw-rw-r-- 1 amirroox amirroox 0 Jul 25 15:16 my.pdf
82 | -rw-rw-r-- 1 amirroox amirroox 0 Jul 25 15:14 newFile
83 | -rw-rw-r-- 1 amirroox amirroox 0 Jul 25 15:20 new.txt
84 | drwxrwxr-x 4 amirroox amirroox 4096 Jul 25 15:03 NewFolder
85 | # توجه کنید که محتویات فایل عوض نمیشن و فقط تاریخ بروز میشه
86 |
87 |
--------------------------------------------------------------------------------
/src/Header.php:
--------------------------------------------------------------------------------
1 | 4 | خب تا حالا فهمیدیم چجوری میتونیم وارد یه پوشه بشیم و همینطور میدونیم که چجوری میشه ببینیم تو چه مسیری هستیم! 5 | ولی توی ویندوز، وقتی وارد یه پوشه میشید میتونید ببینید که داخل اون پوشه چه فایل ها و پوشه هایی وجود داره، حالا توی لینوکس و خط فرمان چجوری میتونیم ببینم توی مسیرمون چه چیز هایی وجود داره؟ 6 | آفرین، دستور امروز ما همینکارو میکنه و به ما نشون میده چه چیز هایی توی مسیرمون هست. 7 | بیاید یه مثال ساده رو این زیر ببینیم : 8 |
9 |
10 |
11 | pwd
12 | /
13 | ls
14 | bin dev etc home root sbin tmp usr var
15 |
16 |
17 |
18 | با توجه به دستورات بالا متوجه میشید که ما توی مسیر ریشه هستیم و با دستور ls میتونیم پوشه ها و فایل های
19 | داخل ریشه رو مشاهده کنیم(به همین سادگی!)
20 |
21 |
22 | اما توجه داشته باشید که دستور ls به تنهایی نمیتونه تموم فایل هارو نشون بده (مثلا فایل هایی که با نقطه شروع میشن و مخفی هستن!)
23 |
24 |
25 | برای حل این مشکل هم میتونیم از پرچم ها (flag) استفاده کنیم.(پرچم ها ویژگی هایی جدیدی به دستور اضافه میکنن که جلوتر متوجه میشیم!)
26 | ولی فعلا بیاید روی همین ls مانور بدیم!
27 | اولین پرچم برای ls پرچم a هست که مخفف کلمه all ، که همونطور که از اسمش پیداست باعث میشه همه فایل هارو بتونید مشاهده کنید(حتی فایل هایی که با نقطه شروع میشن!) این زیر مثالشو میبینید :
28 |
30 |
31 | pwd
32 | /
33 | ls -a
34 | . bin dev etc home root sbin tmp usr var
35 |
36 |
37 |
38 | با توجه به استفاده از فِلَگ a میتونید ببینید که یه . به دایرکتوری ها اضافه شده!
39 |
40 | حالا بیاید یه پرچم دیگرو بررسی کنیم! این پرچم رو با l نشون میدن و مخفف long ، که یعنی جزئیات دایرکتوری هارو هم به شما نشون میده!
41 | مثال این پرچم رو هم میتونید این پایین ببینید :
42 |
44 |
45 | pwd
46 | /
47 | ls -l
48 | drwxrwxrwx 2 root wheel -------- 2003/11/05 12:00:00 bin
49 | drwxrwxr-x 2 root system -------- 2003/11/05 12:00:00 dev
50 | drwxrwxrwt 2 root system -------- 2023/07/24 14:01:24 etc
51 | drwxrwxrwx 2 root wheel -------- 2023/07/24 14:01:24 home
52 | drwx------ 2 root system -------- 2003/11/05 12:00:00 root
53 | drwxrwxr-x 2 root system -------- 2003/11/05 12:00:00 sbin
54 | drwxrwxrwt 2 root system -------- 2003/11/05 12:00:00 tmp
55 | drwxrwxrwx 2 root wheel -------- 2003/11/05 12:00:00 usr
56 | drwxrwxrwx 2 root wheel -------- 2023/07/24 14:01:20 var
57 |
58 |
59 | 60 | خب ، ایندفعه میبینید که جزئیات زیادی بهشون اضافه شده! در سمت چپ یه چیزایی عجیبی میبینید مثل drwxrwxrwx که خیلی 61 | عجیبم نیست و بعدا باهاش آشنا میشیم (ولی فعلا بدونید که سطح دسترسی رو نشون میده!) و قسمت های مختلف دیگه ایی هم وجود داره که از بحث الان ما خارجه! 62 |
63 |
73 |
74 | pwd
75 | /
76 | # تمامی دستورات پایین یه خروجی دارن
77 | ls -la یا ls -l -a یا ls -a -l یا ls -al
78 | drwxrwxrwt 2 root system -------- 2003/11/05 12:00:00 .
79 | drwxrwxrwx 2 root wheel -------- 2003/11/05 12:00:00 bin
80 | drwxrwxr-x 2 root system -------- 2003/11/05 12:00:00 dev
81 | drwxrwxrwt 2 root system -------- 2023/07/24 14:01:24 etc
82 | drwxrwxrwx 2 root wheel -------- 2023/07/24 14:01:24 home
83 | drwx------ 2 root system -------- 2003/11/05 12:00:00 root
84 | drwxrwxr-x 2 root system -------- 2003/11/05 12:00:00 sbin
85 | drwxrwxrwt 2 root system -------- 2003/11/05 12:00:00 tmp
86 | drwxrwxrwx 2 root wheel -------- 2003/11/05 12:00:00 usr
87 | drwxrwxrwx 2 root wheel -------- 2023/07/24 14:01:20 var
88 |
89 |
90 |
91 | تا یادم نرفته اینم بگم که دقیقا مثل دستور cd توی دستور ls هم میتونید مسیر مستقیم بدید مثل زیر :
92 |
93 |
94 |
95 | ls -a home/amirroox/desktop
96 | NewFolder Hack.py Plus.bash
97 |
98 |
--------------------------------------------------------------------------------
/assets/img/icon.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/assets/helper/LessonHelper.php:
--------------------------------------------------------------------------------
1 | lessonPath = $lessonDir;
12 | $this->seasonPath = dirname($lessonDir);
13 | $this->lessonName = basename($lessonDir);
14 | $this->seasonName = basename($this->seasonPath);
15 | $this->menu_num = $menu_num;
16 | }
17 |
18 | /**
19 | * Load MetaData
20 | */
21 | public function loadMetadata() {
22 | $metadataFile = $this->lessonPath . '/metadata.php';
23 |
24 | if (file_exists($metadataFile)) {
25 | return include $metadataFile;
26 | }
27 |
28 | // Default Value
29 | return [
30 | 'title' => $this->lessonName,
31 | 'has_slider' => false,
32 | 'slider_images' => [],
33 | 'references' => [],
34 | 'quizzes' => [],
35 | 'answers' => [],
36 | 'next_lesson' => null
37 | ];
38 | }
39 |
40 | /**
41 | * Load Content
42 | */
43 | public function loadContent() {
44 | $contentFile = $this->lessonPath . '/content.php';
45 |
46 | if (file_exists($contentFile)) {
47 | ob_start();
48 | include $contentFile;
49 | return ob_get_clean();
50 | }
51 |
52 | return 'محتوایی یافت نشد!
'; 53 | } 54 | 55 | /** 56 | * Load Menu 57 | */ 58 | public function loadSeasonMenu() { 59 | $menuFile = $this->seasonPath . "/menu{$this->menu_num}.php"; 60 | 61 | if (file_exists($menuFile)) { 62 | include $menuFile; 63 | } 64 | } 65 | 66 | /** 67 | * Get Answer Quiz 68 | */ 69 | public function getQuizAnswer($quizNumber) { 70 | $quizFile = $this->lessonPath . "/Quiz/{$quizNumber}.txt"; 71 | 72 | if (file_exists($quizFile)) { 73 | return file_get_contents($quizFile); 74 | } 75 | 76 | return 'پاسخی یافت نشد!'; 77 | } 78 | 79 | /** 80 | * Rendering Reference 81 | */ 82 | public function renderReferences($references) { 83 | if (empty($references)) { 84 | return ''; 85 | } 86 | 87 | $html = '%s
32 | این توزیع هم مثل توزیع دبیان و فدروا از کرنل اصلی لینوکس ساخته شده و یک محصول مستقل به حساب میاد.این پروژه یه پروژه کاملا اجتماعی
33 | و انجمن محور بوده ، پس کاملا هم رایگانه!
34 | این توزیع 3 هدف اصلی داشت : ساده و آسون باشه ، که یعنی هرکسی به راحتی بتونه دانلود و نصبش کنه. دوم اینکه تلاش کنه به عنوان یه توزیع رایگان بیشترین استفاده رو داشته باشه.
35 | و سوم اینکه بتونه برای برنامه نویسا و توسعه دهنده ها محیط خوبی رو ایجاد کنه.(در کل دوست داشته اول به حساب بیاد ، منم عصبی شدم آخر گذاشتمش :( )
36 |
37 | این توزیع انعطاف پذیری بالایی داره و بروزرسانی خوبی ر هم دریافت میکنه ، اما از مشکلاتش میشه به سرعت کمتر نسبت به بقیه توزیع ها اشاره کرد(که زیاد خوشایند نیست!).
38 | همچنین یکی از موارد خیلی مهم دراین توزیع امنیته ، یعنی کوچک ترین کاری بدون اطلاع به کاربر توی سیستم عامل انجام نمیشه! و همچنین جزو معدود
39 | توزیع هاییه که موقعه نصب میتونید بسته های نرم افزاری خودتون رو تک به تک انتخاب کنید.
40 |
43 | این توزیع پکیج منیجر مخصوص خودش رو نداره و از پکیج منیجر RPM استفاده میکنه. 44 |
45 |
47 | همونجوری که گفتیم این توزیع خیلی آسونه و برای کاربران جدید یه انتخاب عالیه! همچنین یه برنامه گرافیکی به نام
48 | YaST داره که کار مدیریت سیستم و برنامه هارو براتون خیلی آسون میکنه!
49 |
50 | این توزیع رو هم میشه در سرور و هم به صورت خانگی استفاده کرد و به گفته بعضی از سایت ها جزو 10 توزیع برتر لینوکس به حساب میاد.
51 |
58 |
66 | 78 | مثل همیشه ، منابع مرتبط این زیر هستن (از فصل های بعدی دیگه منابع نداریم! و به جاش تمرین دارید) : 79 |
80 |
32 | توزیع های لینوکسی به خاطر سادگیشون معروف شدن اما توزیع آرچ لینوکس کلا با راحتی مشکل داره! این توزیع به کاربران اجازه میده
33 | هرچیزی که دلشون خواست رو انتخاب کنن و در عین حال عملکرد سیستم بهینه بمونه!مثل جنتو هم این توزیع برای مبتدیا مناسب نیست ، اما اگه از چالش و خرابکاری و از 0 شروع کردن خوشتون میاد میتونید این توزیع رو نصب کنید (البته اگه بتونید!)
34 |
35 | مهم ترین مورد توی آرچ ، همین شخصی سازی و اجازه به کاربرانه، تا جایی که معتقده همه ویژگی ها باید توسط کاربر شخصی سازی بشه!
36 | مثلا هیچ دستکتاپ بومی از قبل روش نصب نیست و خودتون باید انتخاب کنید که چی دوس دارید!
37 | همچنین پروسه نصب بسیار متفاوت تر از بقیه توزیع هاست که همین جالب ترش میکنه. و همچنین کمتر دارای نرم افزار های گرافیکیه تا شمارو
38 | بیشتر درگیر خط فرمان کنه!
39 |
42 | این توزیع هم مثل جنتو از پکیج منیجر مخصوص به خودش به نام pacman استفاده میکنه. 43 |
44 | 45 | 46 |
50 |
54 |
60 | استفاده از آرچ هم در حد گنتو پیچیده است و برای افراد مبتدی مناسب نیست ، اما سرعت و سبکیش میتونه برای هر سیستمی با
61 | هر مشخصاتی مناسب باشه!
62 |
63 | همچنین اگه واقعا میخواید یه سیستم عامل سبک داشته باشید و لینوکس رو قشنگ (با درد) حس کنید از آرچ لینوکس استفاده کنید.
64 | ممکنه یکم توی یادگیریش و نصبش به مشکل بخورید ولی همین حل کردن مشکل میتونه به یادگیریتون خیلی کمک کنه!
65 |
66 | (نصب کننده گرافیکی هم برای آرچ وجود داره ، ولی اگه میخواید واقعا چالش داشته باشید ازش استفاده نکنید و برای نصب از
67 |
68 | Arch Wiki
69 |
70 | استفاده کنید)
71 |
77 |
85 | 97 | اینجا هم منابع مرتبط و آموزشی رو براتون گذاشتم : 98 |
99 |
32 | توزیع های لینوکسی به خاطر سادگیشون معروف شدن اما توزیع آرچ لینوکس کلا با راحتی مشکل داره! این توزیع به کاربران اجازه میده
33 | هرچیزی که دلشون خواست رو انتخاب کنن و در عین حال عملکرد سیستم بهینه بمونه!مثل جنتو هم این توزیع برای مبتدیا مناسب نیست ، اما اگه از چالش و خرابکاری و از 0 شروع کردن خوشتون میاد میتونید این توزیع رو نصب کنید (البته اگه بتونید!)
34 |
35 | مهم ترین مورد توی آرچ ، همین شخصی سازی و اجازه به کاربرانه، تا جایی که معتقده همه ویژگی ها باید توسط کاربر شخصی سازی بشه!
36 | مثلا هیچ دستکتاپ بومی از قبل روش نصب نیست و خودتون باید انتخاب کنید که چی دوس دارید!
37 | همچنین پروسه نصب بسیار متفاوت تر از بقیه توزیع هاست که همین جالب ترش میکنه. و همچنین کمتر دارای نرم افزار های گرافیکیه تا شمارو
38 | بیشتر درگیر خط فرمان کنه!
39 |
42 | این توزیع هم مثل جنتو از پکیج منیجر مخصوص به خودش به نام pacman استفاده میکنه. 43 |
44 | 45 | 46 |
50 |
54 |
60 | استفاده از آرچ هم در حد گنتو پیچیده است و برای افراد مبتدی مناسب نیست ، اما سرعت و سبکیش میتونه برای هر سیستمی با
61 | هر مشخصاتی مناسب باشه!
62 |
63 | همچنین اگه واقعا میخواید یه سیستم عامل سبک داشته باشید و لینوکس رو قشنگ (با درد) حس کنید از آرچ لینوکس استفاده کنید.
64 | ممکنه یکم توی یادگیریش و نصبش به مشکل بخورید ولی همین حل کردن مشکل میتونه به یادگیریتون خیلی کمک کنه!
65 |
66 | (نصب کننده گرافیکی هم برای آرچ وجود داره ، ولی اگه میخواید واقعا چالش داشته باشید ازش استفاده نکنید و برای نصب از
67 |
68 | Arch Wiki
69 |
70 | استفاده کنید)
71 |
78 |
86 | 98 | اینجا هم منابع مرتبط و آموزشی رو براتون گذاشتم : 99 |
100 |