کانال مهرداد لینوکس – Telegram
کانال مهرداد لینوکس
3.51K subscribers
713 photos
24 videos
8 files
550 links
لینوکس حرفه ای و اخبار فنی به زبان ساده
تمام محتوای کانال تحت مجوز کرییتیو کامنز (Creative Commons license) CC BY قابل استفاده است

هشتگ:
#Linux
#AI
#Python
#Programming
#DevOps
#دیوار_لینوکس
#Utility
Download Telegram
دستور grep #لینوکس
برای جستجوی متن در فایل‌ها استفاده می‌شود و grep کمک می‌کنه تا کلمات، عبارات یا الگوهای خاصی را در یک یا چند فایل پیدا کنیم.

جستجوی ساده:
grep "word" file.txt

تمام خطوطی را در فایل "file.txt" که شامل کلمه "word" هستند،

جستجوی بدون توجه به بزرگ و کوچک بودن حروف:
grep -i "word" file.txt

مانند دستور قبلی عمل می‌کند، اما حروف بزرگ و کوچک را تفکیک نمی‌کند.

جستجو در همه فایل‌های یک دایرکتوری:
grep -r "word" directory

به صورت بازگشتی در همه فایل‌های داخل دایرکتوری و زیردایرکتوری‌های آن به دنبال کلمه مورد نظر می‌گردد.

نمایش شماره خطوط:
grep -n "word" file.txt

علاوه بر نمایش خطوط حاوی کلمه مورد نظر، شماره خط هم نمایش میدهد

شمارش تعداد تطبیق‌ها:
grep -c "word" file.txt

تعداد کل خطوطی که با الگوی جستجو مطابقت دارند
جستجوی عبارات باقاعده:
grep "^[0-9]*$" file.txt

تمام خطوطی را که فقط شامل اعداد هستند را نمایش می‌دهد.

جستجوی منفی:
grep -v "word" file.txt

این دستور تمام خطوطی را که شامل کلمه مورد نظر نیستند را نمایش می‌دهد.
⁉️ اگر نکته سوال یا آموزشی مد نظر دارید در کامنت بنویسد 😍
#linux
👍7🔥1
قبلا برای مشکل Suggestion در Vscode با دکمه های Arrow keys فایل keybindings خودم را منتشر کردم اینجا
https://news.1rj.ru/str/MehrdadLinuxchannel/616
یک مشکلی که هست وقتی پروفایل میسازید که اینجا توضیح دادم
https://news.1rj.ru/str/MehrdadLinuxchannel/516
باید keybindings را دوباره بسازید 😱
اگر اون تیک keyboard را در بخش Profile بردارید مشکل حل میشه 😊
👍1
🔥 آنچه خوبان همه دارند OpenProject یکجا دارد🥰 رایگان 🤩
تست ۱۴ روزه روی سرور های خود OpenProject ،لوکال ، داکر همه جوره کار میکنه
🗓امکانات:
زمان‌بندی و برنامه ریزی پروژه
نقشه راه محصول
برنامه ریزی انتشار مدیریت کار
همکاری تیمی ردیابی زمان
آجایل و اسکرام،
گزارش هزینه و بودجه
ردیابی اشکال
تالارهای گفتمان ویکی
دستور کار جلسات و صورتجلسات جلسه

توضیحات بیشتر :
نرم افزار OpenProject گردش کار پروژه مبتنی بر وب که از مدیریت پروژه کلاسیک و چابک پشتیبانی می کنه.
میتونید تا چندین پروژه را با یک جدول زمانی مشترک به طور همزمان ایجاد، نمایش و مدیریت کنید.
برای تعریف اهداف پروژه ، زمانبندی و برنامه ریزی می توانید از نمودارهای گانت ، بسته های کاری و ویژگی های تقویم استفاده کنید

✳️ آموزش نصب :
نصب با بسته با داکر با Kubernetes با Helm همه نصب میشه
برای تست اولیه بهترین راه داکر است

✳️بخش فارسی کامل نیست و فقط ۱۱٪‌ کامل شده همکاری کنیم کامل بشه کامنت نظراتتون را بنویسید

⁉️توی شرکت یا خانه نصب میکنید؟ پروژه ها و کارهاتون را با openproject مدیریت کنید سوالی بود کامنت با هم صحبت کنیم 🥰
👍7🔥2
دستور cron در #لینوکس دستورات خاصی را به صورت خودکار و در زمان‌های مشخص اجرا میکند.

🗓 استفاده :
اجرای خودکار وظایف تکراری: پشتیبان‌گیری از داده‌ها، اجرای اسکریپت‌ها، ارسال ایمیل‌های خودکار و ...
اجرای دستورات در ساعت‌های مشخص: مثلاً اجرای یک اسکریپت هر روز ساعت ۳ صبح.

💠 ساختار cron
یک دستور cron به طور معمول شامل ۵ فیلد است که هر کدام نشان‌دهنده یک جزء زمانی خاص
که در عکس مشاهده میکنید

🔥 مثال‌
پشتیبان‌گیری روزانه از یک دایرکتوری:
0 2 * * * tar czvf /backup/mydata.tar.gz /var/www

ارسال یک ایمیل یادآور هر هفته:
0 9 * * 0 mail -s "یادآور هفتگی" your_email@example.com < reminder.txt


✳️نکات مهم:
مسیر کامل: مسیر کامل در اجرا بدهید
مجوزهای اجرا را چک کنید
خروجی‌ها در لاگ برسی کنید

💠ویرایش فایل crontab
برای ایجاد یا ویرایش دستورات cron، از دستور crontab -e استفاده کنید

🔔 استفاده بهتر cron:
عبارات باقاعده: برای تعریف الگوهای پیچیده‌تر در زمان‌بندی
متغیرهای محیطی: برای استفاده از متغیرهای محیطی در دستورات cron
تست کردن دستورات در خط فرمان

⁉️ آیا سوالی در مورد دستور cron دارید؟ در کامنت ها بپرسید

ساخت cron
👍112🔥1
😱 نقض حریم خصوصی با حداقل ۳ ربات ناشناس در تلگرام
۴ میلیون یوزر، ۴۵۰ میلیون چت، ۱۱ میلیون عکس و ۳ میلیون ویدیو

به زبان ساده :
ربات ناشناس توسط برنامه نویس خارج از تلگرام نوشته و روی بستر تلگرام اجرا و روی یک سرور شخصی ذخیره میشه
چون برنامه و سرور متعلق به برنامه نویسه
پیام های شما توسط برنامه نویس بات قابل دسترسه
حریم خصوصی و پیام های امنیتی را جدی بگیرید

🔥 اصل ماجرا ؛
۱۰ روز پیش امیر به ۳ تا از بات‌های ناشناس نفوذ کرد و صحنه‌هایی دیدیم که شکه شدیم، ..........میلیون دیتای ذخیره شده بود! یه فیچر داشت که یه یوزر رو flag می‌کرد، یعنی هر موقع پیغامی به شخص ارسال میشد طرف می‌فهمید یه فیچر دیگه هم داشت، یه API که بش یوزر تلگرام میدادی، کل چت‌ها طرف رو پَک می‌کرد تحویل می‌داد. چرا باید این همه داده ذخیره بشه؟ می‌دونین چند ٪ افراد استفاده کننده زیر ۱۸ سال هستن؟ ... ممکن بود خیلی‌ها حتی خودکشی کنن .... قسمت تلخ ماجرا این بود که ما با OSINT به شخص مورد نظر رسیدیم، یک Developer توی یکی از شرکت‌های Top 5 ایرانه. ما هم کل دیتابیس رو اداختیم و امیدوارم Backup وجود نداشته باشه.


لینک ویدیو یوتیوب
لینک پست در X
😱10👍2
رشته مهندسی کامپیوتر دانشگاه Open source 😎
زمان ۱۶۸ هفته آموزش در بهترین دانشگاه ها یعنی ۳ سال

🔥فهرستی از دوره‌های رایگان از دانشگاه‌های مثل MIT، استنفورد، و پرینستون که واحد های درسی را با مدرک کارشناسی علوم کامپیوتر، منهای آموزش عمومی، آماده کرده

💠 دسته بندی خیلی خوبی ارائه شده
https://github.com/ForrestKnight/open-source-cs
https://github.com/ossu/computer-science
4👍3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
متن داخل عکس، روی دسکتاپ، هرجا که نمیشه کپی کرد را ۳ سوت کپی کن 😎

به شدت کاربردی 😍
🔥ابزار normcap با تکنولوژی OCR از دسکتاپ شما اسکرین شات میگیره متن داخلش را استخراج میکنه کاملا آفلاین بدون نیاز به اینترنت

🗓 نصب :
برای ویندوز ، لینوکس و مک قابل استفاده و نصب است
از اینجا فایل نصب مناسب سیستم عاملت را انتخاب کن و نصب کن

✳️ برای فارسی :
موقع نصب فقط روی انگلیسی کار میکنه ، برای اضافه کردن فارسی روی چرخ دنده کلیک کنید و مدل ترین شده فارسی را اضافه کنید

⁉️اگر سوالی بود در بخش کامنت ها بپرسید 😎
#AI #OCR
👍5🔥2
در موسیقی وصدا دستی بر آتش دارید 😎؟
نرم افزار DISTRHO Cardinal مبتنی بر سینتی سایزر ماژولار مجازی VCV Rack به صورت آنلاین یا سلف هاست
آزاد و متن باز شما را به ۱۰۰ها پلاگین synthesizer متصل میکنهنسخه لایو به راحتی قابل تست است
#موسیقی #music
ابزار doggo مثل dig و nslookup در #لینوکس برای Query گرفتن از DNS با امکانات بیشتر

🗓 با go نوشته شده خروجی کنترل شده داره
از DoH DoT DoQ و DNSCrypt هم پشتیبانی میکنه

✳️بخش وب این ابزار را در اینجا میتوانید تست کنید

✳️ خروجی JSON
با اپشن JSON میتوانید خروجی را jSON پردازش کنید
doggo mehrdadlinux.ir --json | jq '.responses[0].answers[].address'

🔥 چرا به نظر من خوبه ؟
پشتیبانی از خروجی JSON برای اسکریپت‌نویسی و تجزیه آسان
پروتکل‌های انتقال چندگانه: DoH، DoT، DoQ، TCP، UDP، DNSCrypt
پشتیبانی از تنظیمات ndots و جستجو
پشتیبانی از چندین رزلور با استراتژی‌های پرس‌وجوی قابل تنظیم
پشتیبانی از IPv4 و IPv6
رابط کاربری وب موجود
امکان Shell completions برای zsh و fish
جستجوی معکوس DNS
امکان query انعطاف‌پذیر شامل flagsهای مختلف DNS
حالت دیباگ برای عیب‌یابی
اندازه‌گیری زمان پاسخ
پشتیبانی از پلتفرم‌های مختلف

⁉️ اگر سوالی داشتید در بخش کامنت ها بنویسد 😎
#linux #لینوکس #DNS
👍7🔥2
کانال مهرداد لینوکس
ابزار doggo مثل dig و nslookup در #لینوکس برای Query گرفتن از DNS با امکانات بیشتر 🗓 با go نوشته شده خروجی کنترل شده داره از DoH DoT DoQ و DNSCrypt هم پشتیبانی میکنه ✳️بخش وب این ابزار را در اینجا میتوانید تست کنید ✳️ خروجی JSON با اپشن JSON میتوانید…
پیام دادن که go تحریمه و ابزار doggo نصب نمیشه. حتی Proxychain هم روش کار نمیکنه 😭

تاجایی که من میدونم
💠 نرم افزار، Proxychain کتابخانه libc را dynamic link میاد hook میکنه
💠 چون go ساختار syscall wrappers خودش را داره و static link است پس نباید کارکنه

🗓 برای حل مشکل پروکسی go : روی git یک پروکسی ست کنید
git config --global http.proxy

مشکل حل میشه 😎

⁉️ دوستان متخصص زبان گو شاید راهکار های بهتری بلد باشند که خوشحال میشوم بنویسد
اگر بوس میخواهید باید از یک جایی شروع کنید دیگه 😁 :
صدها فرشته بوسه بر آن دست می زنند کز کار خلق یک گره بسته وا کند

دوست عزیزمون Spring در کامنت ها پیشنهاد دادن از ساختار زیر استفاده کنیم
Set GOPROXY environment
Bash (Linux or macOS)
export GOPROXY=https://goproxy.io,direct
PowerShell (Windows)
$env:GOPROXY = "https://goproxy.io,direct"
🙏6🔥43👍2🥰2
در برنامه نویسی، برای مقایسه ی تغییرات یک مخزن کنترل نسخه Git با git diff روی Commit، شاخه، فایل و .. مشکل syntax-highlighting داشتم 🤔

ابزار delta این مشکل را حل کرد 😎

🗓 نصب :
برای نصب از این لینک بسته به توزیع لینوکس خودتان یا ویندوز و ... استفاده کنید
🗓 آموزش و نکات :
در فایل ~/.gitconfig باید تنظمیات را بسنه به نیاز خودتان اضافه کنید
[core]
pager = delta
[interactive]
diffFilter = delta --color-only
[delta]
navigate = true # use n and N to move between diff sections
side-by-side = true #برای نمایش به صورت کنار هم در عکس میبینید
line-numbers = true # برای شماره گذاری خطوط
# delta detects terminal colors automatically; set one of these to disable auto-detection
# dark = true
# light = true
[merge]
conflictstyle = diff3
[diff]
colorMoved = default

🗓 ابزار های دیگر :
این syntax-highlighting که انجام میشه برای خروجی ابزار های git, diff, grep, و blame هم قابل استفاده است

⁉️ اگر در مورد راه اندازی سوالی داشتید در بخش کامنت ها بپرسید با هم برسی کنیم 😎
👍11
❇️ برای پردازش موازی در #پایتون از multiprocessing استفاده میکردیم

در Python 3.12 مفهوم sub interpreters که از per-interpreter GIL برای نوشتن parallel code های سریع‌تر از multiprocessing معرفی شد

در Python 3.13 مفهوم free-threading که اختیاری GIL را حذف و واقعا parallel میشه

⁉️ آآیا این دو جایگزین هم هستند؟
🔥 جواب خیر : هدف ها متفاوت ، مکمل هم اند

در Sub Interpreters:
💠با Isolation جداگانه اجرا ، امنیت افزایش جلوگیری تعاملات ناخواسته
💠هزینه سربار Overhead برای وظایف کوچک‌تر.
💠مناسب برای سرورهای وب، اتصالات پایگاه داده، یا فرآیندهای طولانی‌مدت.

در Free-threading:
💠موازی‌سازی واقعی
💠حافظه اشتراکی
💠فعال سازی اختیاری GIL
💠 مناسب وظایف پردازش سنگین مثل محاسبات علمی، پردازش تصویر، یا شبیه‌سازی‌ها.

✳️ ترکیب Sub Interpreters و Free-threading:
🔥 در برخی موارد، ترکیب میتونه عملکرد حتی بهتری را ارائه بده
⁉️ کامل تر با توضیح بیشتر در کامنت ها نوشتم اگر سوالی داشتید در بخش کامنت ها بنویسد با هم در موردش صحبت کنیم 😎
#python
#python
👍5🔥21
کانال مهرداد لینوکس
برگردیم ۳۳ سال پیش یعنی ۳ شهریور ۱۳۷۰ لینوس توروالدز خالق سیستم عامل لینوکس linux، دانشجوی کامپیوتر دانشگاه هلسینکی، در سن ۲۱ سالگی، این ایمیل را به newsgroup minix ارسال کرد سلام به همه ی کاربران مینیکس! مشغول نوشتن یک سیستم عامل (رایگان) هستم (فقط برای…
تولد داریم چه تولدی 🎉🥳

یکشنبه، ۳ شهریور ۱۳۷۰ (August 25, 1991) لینوکس متولد شد

داستانش را اینجا قبلا نوشتم

مستند Revolution.OS درباره انقلاب سیستم عامل ها و لینوکس به همراه زیرنویس فارسی
تقدیم به شما
امیدوارم از این مستند لذت ببرید
🎉8🥰1
Revolution.OS.zip
692.9 MB
مستند انقلاب متن باز
12🎉1
به صورت خودکار دیتافریم های Pandas را visualize کن
نصب
یک فایل csv دارید میخواهید آن را تحلیل کنید
سریع ترین روش Autoprofiler است به عکس دقت کنید
pip install -U digautoprofiler

سورس
#python #Jupyter
👍81
سندباکس در لینوکس
در linux وقتی میگیم Sandboxing همه میرن سمت Chroot Jail ، seccomp، Namespace ، Incus شاید کمی سخت باشه
ابزار firejail ساده،کاربردی
firejail firefox

توضیحات فنی :
برنامه Firejail یک sandbox از نوع SUID که با محدود کردن محیط در حال اجرا برنامه‌های غیرقابل اعتماد با استفاده از namespaces لینوکس، seccomp-bpf و قابلیت‌های لینوکس، ریسک های امنیت را کاهش می‌دهد. Firejail به یک process و همه descendants آن اجازه می دهد تا private view خود را از globally shared kernel resources ، مانند network stack، process table، جدول mount داشته باشند. Firejail می تواند یا هم SELinux یا AppArmor کار کند

آموزش نصب:
در مخازن اصلی version 0.9.66 وجود دارد میتوانید با دستور
apt install firejail firejail-profiles

اگر نبود با ppa نسخه 0.9.72 را نصب کنید
sudo add-apt-repository ppa:deki/firejail
sudo apt-get update
sudo apt-get install firejail firejail-profiles

🔥حالا بزن مثلا
firejail firefox
firejail vlc

⁉️ اگر در کار با Firejail سوالی داشتید در بخش کامنت ها بپرسید با هم برسی کنیم 😎
#linux
👍10🔥31
برسی سلامت باتری لپ تا در لینوکس
دستور
upower --enumerate
را بزنید لیست را نمایش میدهد
upower -i [یکی از ادرس های که اسم باتری شما است]
👍11
کانال مهرداد لینوکس
ابزارdrawdb برای طراحی پایگاه داده عالیه آنلاین ، رایگان، ساده و بصری و امکان تولید کد های SQL https://drawdb.vercel.app/editor سورس کد https://github.com/drawdb-io/drawdb
ابزار قدرتمند ChartDB رقیب جدی Drawdb (بسیار شبیه)

یک ویرایشگر web-based طراحی دیاگرام دیتابیس، که database schema را با یک Smart Query میتواند سریع visualize کند و خروجی SQL noscripts بدهد

🔥 تمام این امکانات بدون حتی نیاز به لاگین
https://github.com/chartdb/chartdb

#Database
👍6
تکنیک پورت ناکینگ Port-Knocking
در خانه نشستی به دوستت میگی رمزی زنگ بزن ۴ بار دوتا دو بار من در پارکینگ را باز میکنم
همین داستان را میخواهیم برای مثلا پورت SSH کامپیوتر اجرا کنیم ؟
برای پورت X , Y ,x تعداد ۲ تا پکت بفرست برات SSH را باز میکنم

ابزار های پیاده سازی :
ابزار knockknock
ابزار knock
ابزار fwknop
یک خوبی که ابزار fwknop داره امکان پیاده سازی Single Package Authorization (SPA) هم هست
پیاده سازی با nftables

⁉️ سوالی داشتید در بخشی کامنت ها بپرسید با هم برسی کنیم 😎
👍71🔥1🤯1