اینم پنجاه کامیت اول این پروژه.
http://git.savannah.gnu.org/cgit/coreutils.git/log/?ofs=30050
#نرم_افزار_آزاد
http://git.savannah.gnu.org/cgit/coreutils.git/log/?ofs=30050
#نرم_افزار_آزاد
⚡1
fstab: file system table
سیستم عامل لینوکسی با خوندن
چیزی که در عکس(1) میبینید از فایل
منه.
اینجا هر خط یه ورودی میگیره که کافیگ مخصوص یک پارتیشن رو در خودش داره. مثلا خط سوم کانفیگ پارتیشن روت(
برای هر پارتیشن ۶ فیلد داریم که باید همه شون پر بشن. اولین فیلد، همونطور که در عکس هم پیداست برای تعیین پارتیشنه. یعنی با این فیلد میفهمیم که کدوم پارتیشن رو میخوایم تو این خط کانفیگ کنیم. توی این فیلد میتونیم
هم میتونیم اطلاعات مورد نیاز پارتیشن مثل اسم،
سیستم عامل لینوکسی با خوندن
fstab میفهمه هر پارتیشنی رو کی، چطور، کجا با چه دسترسی هایی و... مونت* کنه. چیزی که در عکس(1) میبینید از فایل
/etc/fstab منه.
اینجا هر خط یه ورودی میگیره که کافیگ مخصوص یک پارتیشن رو در خودش داره. مثلا خط سوم کانفیگ پارتیشن روت(
/) رو داره. برای هر پارتیشن ۶ فیلد داریم که باید همه شون پر بشن. اولین فیلد، همونطور که در عکس هم پیداست برای تعیین پارتیشنه. یعنی با این فیلد میفهمیم که کدوم پارتیشن رو میخوایم تو این خط کانفیگ کنیم. توی این فیلد میتونیم
UUID، اسم(/dev/sdxY) لیبل، /cdrom یا... ی پارتیشن مورد نظر رو قرار بدیم. که من فقط از UUID استفاده کردم. با کامند lsblk -f
هم میتونیم اطلاعات مورد نیاز پارتیشن مثل اسم،
UUID, لیبل، نوع فایل سیستم رو به دست بیارم. خروجیش رو برای من در عکس(2) میبینید.👍2
فیلد دوم mountpoint رو تعیین میکنه. محلیه که درنهایت پارتیشن درونش مونت میشه. بدیهیه که پارتیشن روت رو در
باشن. چرا که اینها وظیفه ی خاصی بر عهده ندارن و ارزششون به اندازهی mountpoint هایی مثل
نیست.
محل تنظیمات و فایلهای کانفیگ،
کتابخونههای اشتراکی و
باینری ها هست.
اما جایی مثل
فیلد سوم نوع فایل سیستمه. اینجا فقط نیازه که اسم فایل سیستم پارتیشن رو بنویسیم. اگر
فایل سیستم روشی یه که سیستم عامل برای ذخیره، مدیریت و منظم کردن فایل ها و دایرکتوری ها استفاده میکنه. بعضی فایل سیستم ها مثل
فایل سیستم اصلی(و انحصاری) ویندوز
هست.
فایل سیستم لینوکس در ابتدا
در لینوکس یه فایل سیستم قوی و عجیب هم هست به اسم
فایل سیستم
فیلد چهارم ویژگی های مونته.
ـ
ـ
ـ
ـ
=
ـ
فیلد پنجم تعیین میکنه از پارتیشن توسط dump backup utility یا ابزار بکاپ دامپ(=|) بکاپ بگیریم یا نه. اگه 0 باشه یعنی نه، اگه 1 باشه یعنی آره. اما این ابزار دیگه خیلی استفاده نمیشه و بهتره همه پارتیشنا رو بذاریم روی 0.
فیلد ششم ترتیب چک کردن پارتیشن ها رو توسط
اگه 0 باشه یعنی پارتیشن اصلا چک نشه.
اما بعد از صفر هرچقدر عدد بزرگتر باشه یعنی دیرتر چک بشه. به همین خاطر برای پارتیشن بوت این فیلد رو 1 قرار میدن.
#لینوکس
/ مونت میکنیم و بوت رو در /boot. بهتره که پارتیشنها رو در mountpoint های نامرتبط مونت نکنیم. مثلا یه پارتیشن که فیلم هامون رو میداریم توش نباید توی /boot مونت بشه. که باعث میشه سیستم به درستی بوت نشه. mountpoint های مناسب پارتیشن های اضافی و غیر اصلی میتونه /mnt/DIR /tmp/DIR /use/run/media باشن. چرا که اینها وظیفه ی خاصی بر عهده ندارن و ارزششون به اندازهی mountpoint هایی مثل
/etc, /lib, /binنیست.
/etc محل تنظیمات و فایلهای کانفیگ،
/libکتابخونههای اشتراکی و
/binباینری ها هست.
اما جایی مثل
/tmp فقط برای فایلهای موقتی هست که بعد از ریبوت شدن سیستم پاک میشن و مسئولیت خاصی توی سیستم بر عهده نداره. البته اینها استانداردهای سیستم های لینوکسی ین و تغییر دادنشون دست خودمونه.فیلد سوم نوع فایل سیستمه. اینجا فقط نیازه که اسم فایل سیستم پارتیشن رو بنویسیم. اگر
فایل سیستم روشی یه که سیستم عامل برای ذخیره، مدیریت و منظم کردن فایل ها و دایرکتوری ها استفاده میکنه. بعضی فایل سیستم ها مثل
ext4 میتونین دسترسی به فایل ها رو برای افراد محدود کنن، بعضی ها قابلیت journaling دارن که اتفاقات رو ضبط و ذخیره میکنن. فایل سیستم اصلی(و انحصاری) ویندوز
NTFS(New Technology File System) هست.
فایل سیستم لینوکس در ابتدا
Minix بود ولی EXT به زودی جاش رو گرفت. در حال حاضر هم معمولا از ext4 و ext2 استفاده میکنن که اینها نسخههای ارتقاء یافتهی همون EXT هستن. سیستم عامل های لینوکسی معمولا ext4 رو برای پارتیشن روت و ext2 رو برای پارتیشن بوت در نظر میگیرن.در لینوکس یه فایل سیستم قوی و عجیب هم هست به اسم
swap. این فایل سیستم میتونه به عنوان رم استفاده بشه، یعنی اگر رم پر شد میتونه مقداری از اطلاعات رم که کمتر استفاده میشن رو بریزه توی خودش تا فضای رم خالی بشه و سیستم بتونه کار کنه. اما باید در نظر داشت که اگه حافظهی زیادی بهش اختصاص بدیم در حالی که حافظهی رم پایینه ممکنه باعث کندی سیستم بشه.فایل سیستم
usb ها معمولا fat32 هست که میتونه هم در لینوکس و هم در ویندوز بدون مشکل استفاده بشه.فیلد چهارم ویژگی های مونته.
ـ
auto/noauto: اگه auto در گزینه ها باشه یعنی پارتیشن به همراه بوت شدن سیستم مونت میشه. noauto برعکسش عمل میکنه.ـ
exec/noexec: تعیین میکنه فایلهای پارتیشن قابل اجرا باشن یا نه.ـ
ro/rw: این اپشنها نوع دسترسی به فایل رو تعیین میکنن. RO مخفف read-only و RW مخفف read-write ـه. اگه ro جزو گزینه ها باشه یعنی نمیتونیم تغییری در پارتیشن ایجاد کنیم و اگه rw باشه یعنی این اجازه رو داریم.ـ
defaults:=
rw, suid, dev, exec, auto, nouser, asyncـ
x-gvfs-show: اگه چنین ویژگی ای لیست شده باشه یعنی میتونیم پارتیشن رو در لیست پارتیشن های منوی فایل منیجر ببینیم. اگه هم نه باید بریم توی جایی که مونتش کردیم که این باعث میشه گاهی چنین چیزی رو برای رسیدن بهش بنویسیم:cd /usr/run/USER/media/LABLE
فیلد پنجم تعیین میکنه از پارتیشن توسط dump backup utility یا ابزار بکاپ دامپ(=|) بکاپ بگیریم یا نه. اگه 0 باشه یعنی نه، اگه 1 باشه یعنی آره. اما این ابزار دیگه خیلی استفاده نمیشه و بهتره همه پارتیشنا رو بذاریم روی 0.
فیلد ششم ترتیب چک کردن پارتیشن ها رو توسط
fsck که مسئولیت تشخیص و تعمیر فایل سیستم رو بر عهده داره معین میکنه.اگه 0 باشه یعنی پارتیشن اصلا چک نشه.
اما بعد از صفر هرچقدر عدد بزرگتر باشه یعنی دیرتر چک بشه. به همین خاطر برای پارتیشن بوت این فیلد رو 1 قرار میدن.
#لینوکس
👍5
#شل_اسکریپت
تغییر اسم کامند
با
اول یه فایل میسازیم به اسم
اسم فایل در نهایت اسم کامند میشه. پس هرچی که باهاش راحت تر بودیم میذاریم. بعدش فایل
بعدش فایل
حالا میتونیم اجراش کنیم، اما قبلش باید بهش اجازهی اجرا شدن بدیم:
حالا میتونیم پروژه های جنگو رو با
تغییر اسم کامند
با
django-admin امتحان میکنیم. ولی برای کامندای دیگه هم میشه استفاده کرد. اول یه فایل میسازیم به اسم
dja:touch dja
اسم فایل در نهایت اسم کامند میشه. پس هرچی که باهاش راحت تر بودیم میذاریم. بعدش فایل
/bin/django-admin رو در dja کپی میکنیم:cat /bin/django-admin > dja
بعدش فایل
dja رو در دایرکتوری /bin کپی میکنیم:cp dja /bin
حالا میتونیم اجراش کنیم، اما قبلش باید بهش اجازهی اجرا شدن بدیم:
chmod +x /bin/dja
حالا میتونیم پروژه های جنگو رو با
dja بسازیم. کامند قبلی هم در دسترسه.❤2
پروژهی نئوفچ به آخر خطش رسید. توسعه دهندهش تصمیم گرفت به کشاورزی روی بیاره.
https://news.itsfoss.com/neofetch-rip/
https://news.itsfoss.com/neofetch-rip/
It's FOSS News
Oh no! Neofetch is no more!
It was a favorite to many. Now, it's gone.
دورهی فوقالعادهی آموزش بش اسکریپت:
https://youtube.com/playlist?list=PLALZo15hcTS5-tA444SsCCWik4P24olH_&si=zXRYrbEL3Pt5hIU4
و همچنین یه برگه تقلب(cheat sheet) عالی بش اسکریپت(مرسی از MH DaneshPejooh):
https://devhints.io/bash
#شل_اسکریپت
https://youtube.com/playlist?list=PLALZo15hcTS5-tA444SsCCWik4P24olH_&si=zXRYrbEL3Pt5hIU4
و همچنین یه برگه تقلب(cheat sheet) عالی بش اسکریپت(مرسی از MH DaneshPejooh):
https://devhints.io/bash
#شل_اسکریپت
برای اینکه کدهای پایتونتون مستقیما توسط پایتون اجرا بشن میتونید اول کد بنویسین
یا برای rust:
یا zsh به جای bash
این شبنگه و مفسر فایل رو تعیین میکنه. با تعیین شبنگ هر جا کد اجرا بشه مفسرش همیشه یکسان خواهد بود.
https://en.m.wikipedia.org/wiki/Shebang_(Unix)
#شل_اسکریپت
#! /usr/lib/python3
یا برای rust:
#! /usr/lib/rustc
یا zsh به جای bash
#! /usr/bin/zsh
این شبنگه و مفسر فایل رو تعیین میکنه. با تعیین شبنگ هر جا کد اجرا بشه مفسرش همیشه یکسان خواهد بود.
https://en.m.wikipedia.org/wiki/Shebang_(Unix)
#شل_اسکریپت
👏1
Dylan Araps - Pure Bash Bible (2018).pdf
271.3 KB
کتاب مقدس بش خالص
The goal of this book is to document commonly-known and lesser-known methods
of doing various tasks using only built-in bash features.
هدف این کتاب این است که متدهای شناخته شده و شناخته نشدهی انجام کارهای مختلف را تنها با خاصیت های بش معرفی کند.(از مقدمهی کتاب)
#شل_اسکریپت
#کتاب
The goal of this book is to document commonly-known and lesser-known methods
of doing various tasks using only built-in bash features.
هدف این کتاب این است که متدهای شناخته شده و شناخته نشدهی انجام کارهای مختلف را تنها با خاصیت های بش معرفی کند.(از مقدمهی کتاب)
#شل_اسکریپت
#کتاب
sudoism
Dylan Araps - Pure Bash Bible (2018).pdf
نویسندهاش از 14 سالگی مدرسه رو ول کرده بود و رفت دنبال برنامه نویسی و لینوکس و از همون بچگی تو این کار آدم موفقی بوده.
یه کتاب دیگه هم داره که مثل قبلیه ولی این بار زبانش به جای بش، shـه. مرسی از Wowland و Mr. 3.14 بابت معرفی.
https://github.com/dylanaraps/pure-sh-Bible
https://github.com/dylanaraps/pure-sh-Bible
GitHub
GitHub - dylanaraps/pure-sh-bible: 📖 A collection of pure POSIX sh alternatives to external processes.
📖 A collection of pure POSIX sh alternatives to external processes. - dylanaraps/pure-sh-bible
👏1🙏1
مدیریت پروسس ها در لینوکس
پروسس رو میشه یه برنامهی ساده در نظر گرفت. فعلا با این تعریف پیش میریم چونکه پروسس مفهمومی پیچیده است و توضیحش در حوصلهی این پست نمیگنجه.
برای گرفتن جزئیات پروسس ها از
کامند
نمایش همهی پروسس ها:
نمایش پروسس های در حال اجرا:
نمایش پروسس های همین کاربر(ما):
نمایش پروسس های همهی کاربرها:
نمایش پروسس های یه کاربر با اسم XD:
نمایش پروسس ها با جزئیات(میزان رم، سی پی یو مصرفی، PID،...):
اما حالا که اطلاعات پروسس ها رو داریم، میتونیم با سه تا کامند ساده مدیریتشون کنیم:
هر پروسس یه
کشتن[متوقف کردن] یک پروسس:
اولویت بندی پروسس ها:
اولویت بندی یعنی اینکه بررسی و اجرای یه پروسس رو در اولویت قرار بدیم نسبت به بقیه. در لینوکس این اولویت با عددی بین -20 تا 19 توصیف میشه. پروسسی که اولویت -20 رو داره اهمیتش از بقیه بالاتره و زودتر بهش رسیدگی میشه. و اونی که عدد 19 رو داره در آخرین درجهی اهمیت قرار داره.
عدد اولویت یک پروسس رو میتونیم با کامند
اجرای یه کامند با اولویت بالاتر:
این هم مثل
#کامند_قوی #روش #لینوکس
پروسس رو میشه یه برنامهی ساده در نظر گرفت. فعلا با این تعریف پیش میریم چونکه پروسس مفهمومی پیچیده است و توضیحش در حوصلهی این پست نمیگنجه.
برای گرفتن جزئیات پروسس ها از
ps و مدیریتشون از nice ،kill و renice استفاده میکنیم. کامند
ps: این کامند یه لاگ تمیز و دقیق از وضعیت فعلی پروسس ها ارائه میده. چند حرکت جذاب رو به راحتی میتونیم با این کامند انجام بدیم:نمایش همهی پروسس ها:
ps -A
نمایش پروسس های در حال اجرا:
ps -r
نمایش پروسس های همین کاربر(ما):
ps ux
نمایش پروسس های همهی کاربرها:
ps aux
نمایش پروسس های یه کاربر با اسم XD:
ps -U XD
نمایش پروسس ها با جزئیات(میزان رم، سی پی یو مصرفی، PID،...):
ps [...options] u
اما حالا که اطلاعات پروسس ها رو داریم، میتونیم با سه تا کامند ساده مدیریتشون کنیم:
هر پروسس یه
PID یا Process ID داره که برای کنترل پروسس بهش نیاز داریم. کشتن[متوقف کردن] یک پروسس:
kill PID
اولویت بندی پروسس ها:
renice -n [-20 - > 19] PID
اولویت بندی یعنی اینکه بررسی و اجرای یه پروسس رو در اولویت قرار بدیم نسبت به بقیه. در لینوکس این اولویت با عددی بین -20 تا 19 توصیف میشه. پروسسی که اولویت -20 رو داره اهمیتش از بقیه بالاتره و زودتر بهش رسیدگی میشه. و اونی که عدد 19 رو داره در آخرین درجهی اهمیت قرار داره.
عدد اولویت یک پروسس رو میتونیم با کامند
renice مشخص کنیم. البته به عنوان کاربر معمولی دسترسی مون برای این کار خیلی زیاد نیست و بهتره به عنوان root وارد عمل بشیم.اجرای یه کامند با اولویت بالاتر:
nice -n [-20 -> 19] COMMAND
این هم مثل
renice عمل میکنه، اما با این تفاوت که این یکی پروسس رو از همون ابتدا در اولویت قرار میده، اما renice برای بعد از اجرای اولیهی پروسسه.#کامند_قوی #روش #لینوکس