Dev Perfects
40 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://t.iss.one/dev_perfects/455


ارتباط:
https://t.iss.one/HidenChat_Bot?start=936082426
Download Telegram
📸دیدن دوربین‌های مداربسته با RSTP در لینوکس 😎

⛔️نه لازم نیست Internet Explorer 6 پلاگین نصب کنی 🥴
🚫 لازم نیست حتما نرم افزار gDMSS یا XVR و ... نصب کنی

برای دیدن دوربین های مدار بسته معمولا میتوانید از
پروتکل هایی مثل RTSP استفاده کنید پروتکل RTSP (Real-Time Streaming Protocol) یکی از رایج‌ترین استانداردها برای پخش زنده تصویر و صدا از دوربین‌های مداربسته (IP Camera) است.
البته که روش های دیگر مثل RTMP ، ONVIF، HLS هم هست

با داشتن آدرس RTSP و یوزر/پسورد دوربین، می‌توانید به راحتی در لینوکس تصویر زنده را ببینید.

استفاده از VLC
vlc rtsp://UseR:Pass@IP:PORT

استفاده ffplay
ffplay rtsp://UseR:Pass@IP:PORT

استفاده از mplayer
mplayer rtsp://UseR:Pass@IP:PORT

با این سه ابزار ساده و قدرتمند می‌توانید بدون نیاز به نرم‌افزارهای اختصاصی، روی هر سیستم لینوکسی به دوربین‌های IP دسترسی داشته باشید.

🔥 مطمئن هستید نام و رمز عبور دوربین ها خودتان را قوی تنظیم کردید؟
@MehrdadLinuxchannel
#Linux #لینوکس
#Utility
📄 دستور rmdir در لینوکس (دستور rd و rm)

دستور rmdir برای حذف دایرکتوری خالی در لینوکس استفاده میشه.
اگر دایرکتوری فایل یا زیرشاخه داشته باشه، rmdir کار نمی‌کنه و خطا میده.

اپشن‌های متداول:
rmdir testdir     حذف یک دایرکتوری خالی
rmdir dir1 dir2 dir3 حذف چند دایرکتوری
mkdir -p project/src/code
rmdir -p project/src/code حذف تو در تو

👉 همه‌ی مسیرهای خالی (code, src, project) حذف میشن.

🔥 ترفندها و تکنیک‌های ترکیبی
با دستور find بهتر میتوانید پوشه های خالی را پیدا و حذف کنید

1️⃣ حذف همه‌ی دایرکتوری‌های خالی یک مسیر را پیدا و حذف کرد:
find . -type d -empty -delete

5️⃣ پاکسازی پروژه‌های قدیمی:
find ~/projects -type d -empty -print -exec rmdir {} \;

💡 نکته:
‏rmdir فقط روی دایرکتوری خالی کار می‌کنه.
برای حذف دایرکتوری‌های غیرخالی باید از rm -r استفاده کنید (با احتیاط ⚠️).
دستور rd در بعضی linux ها یک alias است
rd is an alias for rmdir

#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
📄 دستور touch در لینوکس

دستور touch در لینوکس بیشتر برای ایجاد فایل خالی یا تغییر زمان آخرین دسترسی/تغییر (timestamp) استفاده میشه.

اپشن‌های متداول:
touch file.txt
touch file1.txt file2.txt file3.txt
touch -t 202509261230 file.txt تغییر زمان
touch -r source.txt target.txt کپی زمان از یک فایل دیگه

🔥 ترفندهای ترکیبی و خلاقانه
touch file{1..5}.txt سری فایل
touch * به‌روزرسانی زمان همه فایل ها

برای مدیریت فایل های پروژه
touch project/{src/main.py,README.md,docs/guide.md} 


#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
📄 دستور cp در لینوکس
دستور cp برای کپی کردن فایل‌ها و دایرکتوری‌ها استفاده میشه.

📚اپشن‌های متداول:
cp file1.txt backup.txt    کپی ساده
cp a.txt b.txt /backup/ کپی فایل هابه یک مسیر
cp -r mydir /backup/ کپی کامل دایرکتوری
cp -a mydir /backup/ حفظ مجوزها و مالکیت‌ها
cp -u file.txt /backup/ فقط اگر فایل جدیدتره
cp -v file.txt /backup/ کپی یا گزارش

🔥 ترفندهای ترکیبی و خلاقانه
cp file.txt{,.bak}  کپی brace expansion
cp *.jpg /backup/images/ کپی پسوند خاص
cat list.txt | xargs cp -t /backup/ کپی گروهی

پیشنهاد مهردادلینوکس
برای حجم بالا یا شبکه بهتره از rsync به جای cp استفاده کنید (کارآمدتر و امن‌تر).


#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
📄 دستور mv در لینوکس
دستور mv برای جابجایی فایل‌ها و دایرکتوری‌ها استفاده میشه.
⚡️ ولی کاربرد دومش هم خیلی مهمه: تغییر نام (rename)

اپشن‌های متداول:
mv file.txt /backup/   جابجایی
mv oldname.txt newname.txt تغییر نام
mv file1.txt file2.txt /backup/ جابجایی چند فایل
mv -v file.txt /backup/ با گزارش
mv -n file.txt /backup/ عدم overwrite
mv -i file.txt /backup/ پرسش قبل از overwrite
mv -f file.txt /backup/ اجبار به overwrite

🔥 ترفندهای ترکیبی و خلاقانه
mv data.db data_$(date +%F).db  تغییر نام با تاریخ
cat list.txt | xargs -I {} mv {} /backup/ جابجایی بر اساس لیست


اگر یک گروه از فایل ها را میخواهید تغییر نام بدید
for f in *.txt; do mv "$f" "${f%.txt}.md"; done

#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
📄 دستور cat در لینوکس
کلمه‌ی cat مخفف concatenate هست، یعنی به هم چسباندن.

کار اصلی این دستور نمایش محتوا و یا اتصال چند فایل متنی به هم است.
اپشن‌های متداول:
cat a.txt  نمایش
cat a.txt b.txt چند فایل با هم
cat > c.txt ایجاد فایل
cat >> file.txt اضافه کردن
cat a.txt b.txt > c.txt ترکیب
cat -n file.txt شماره گذاری
cat -v file.txt نمایش غیرقابل چاپ

⚙️ آپشن‌های پرکاربرد
-n → شماره‌گذاری همه خطو
-b → شماره‌گذاری فقط خطوط غیرخالی
-s → حذف خطوط خالی تکراری
-E → نمایش $ در انتهای هر خط
-T → نمایش تب‌ها به شکل ^I
-A → ترکیب همه (نمایش همه کاراکترهای خاص)

🔥 پیشنهاد مهرداد لینوکسی😎
میتوانید از bat به جای cat استفاده کنید و در شل cat را alias کنید
رنگی است و خروجی مرتب تری داره
alias cat="batcat"

ابزار tac (راهنمایی سایت گنو اینجا) عکس این دستور است
#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
📄 دستور less در لینوکس

دستور less برای مرور فایل‌های متنی بزرگ استفاده میشه، بدون اینکه کل فایل یک‌باره توی حافظه بارگذاری بشه. (برخلاف cat)

📌 کاربردهای پایه:
less file.txt      # باز کردن فایل
less +100 file.txt # شروع از خط 100
less -N file.txt # نمایش شماره خط‌ها

🔥 کلیدهای پرکاربرد داخل less

🔹 حرکت:
j → یک خط پایین⬇️ یا
k → یک خط بالا⬆️ یا
Space → یک صفحه جلو
b → یک صفحه عقب
g → رفتن به ابتدای فایل
G → رفتن به انتهای فایل

🔹 جستجو:
/pattern → جستجو به جلو
?pattern → جستجو به عقب
n → تکرار جستجو (بعدی)
N → تکرار جستجو (قبلی)

🔹ویرایش:
v → ورود به محیط ویرایشگر

🔹 خروج:
q → خروج از less

🔥 ترفندهای ترکیبی و خلاقانه
dmesg | less        # مرور لاگ کرنل
less +F logfile.log # حالت Follow مثل tail -f
ps aux | less -S # بدون شکست خطوط طولانی


🔹 باز کردن چند فایل با هم:
less file1.txt file2.txt

:n # فایل بعدی
:p # فایل قبلی


🔹 نمایش رنگ در خروجی (مثلاً برای کدها):
less -R colored.txt

#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
📄 دستور head در لینوکس
دستور head در linux برای نمایش ابتدای فایل استفاده میشه.
به‌طور پیش‌فرض ۱۰ خط اول فایل رو نشون میده.

📌 مثال‌های پایه:
head file.txt        # نمایش 10 خط اول
head -n 20 file.txt # نمایش 20 خط اول
head -c 50 file.txt # نمایش 50 بایت اول
head -v example1.txt # اسم فایل

🔥 ترفندهای ترکیبی و خلاقانه
head -n 5 a.txt b.txt  # چند فایل پشت سر هم
head -n 1 data.csv # فقط هدر CSV
head -n 50 logfile.log | less
ps aux | head -n 15 # فقط 15 پروسه اول
top -bn1 | head -n 5
ls -t /etc | head -n 3 | sort # برای پایپ کردن
head -q -n 3 a.txt b.txt > c.txt

📌 نکته جذاب:
با head -c می‌تونی بخشی از فایل باینری رو ببینی، خیلی کاربردی برای تشخیص فرمت فایل‌ها:
head -c 8 image.png

#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
📄 دستور tail در لینوکس

دستور tail برای نمایش انتهای فایل‌ها در linux استفاده میشه.
به‌صورت پیش‌فرض، ۱۰ خط آخر فایل رو نشون میده.
خیلی کاربردی برای خواندن لاگ‌ها، مانیتور کردن تغییرات، و مشاهده آخرین رکوردها.

📌 مثال‌های پایه:
tail file.txt           #  10 خط آخر
tail -n 20 file.txt # 20 خط آخر
tail -c 50 file.txt # 50 بایت آخر
tail -n 5 file1.txt file2.txt # نتهای چند فایل

🔥 ترفندهای ترکیبی و خلاقانه
tail -f /var/log/syslog  مانیتورینگ لحظه‌ای
tail -f a.log b.log چند فایل همزمان
tail -n 50 -f access.log ۵۰ خط آخر و ادامه‌ی
tail -f /log/syslog | grep "error" فیلتر لحظه ای
tail -f app.log | tee -a errors.txt ذخیره خطا

📌 نکات حرفه‌ای:
می‌تونی از ‎--pid استفاده کنی تا تا وقتی یک پردازش در حال اجراست مانیتور کنی:
tail --pid=1234 -f logfile.log

💡 مثال واقعی در کار با سرورها:
sudo tail -f /var/log/auth.log | grep "Failed password"

نمایش زنده‌ی لاگ‌های ورود ناموفق SSH 😎
#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
📏 دستور wc — شمارنده‌ی همه‌چیز در فایل‌ها 😁

دستور wc (مخفف Word Count) برای شمردن تعداد خط‌ها، کلمات، و بایت‌ها یا کاراکترها در فایل‌ها استفاده می‌شه.
🧩 ساختار کلی
wc [OPTION] [FILE...]
wc file.txt #مثال
5 42 276 file.txt # خروجی

📤 خروجی شامل ۳ عدد :
1️⃣ تعداد خطوط
2️⃣ تعداد کلمات
3️⃣ تعداد بایت‌ها

🔍 گزینه
-l فقط شمارش تعداد خطوط (lines)
-w فقط شمارش کلمات (words)
-c شمارش بایت‌ها (bytes)
-m شمارش کاراکترها (characters) — مناسب برای فایل‌های UTF-8
-L نمایش طول بلندترین خط

📘 مثال‌های کاربردی
wc -l /etc/passwd 
تعداد خطوط فایل (تعداد کاربران سیستم)
grep "bash" /etc/passwd | wc -l
چند کاربر از bash استفاده میکنند؟
ls | wc -l تعداد فایل های یک پوشه
wc -c < file.txt اندازه فایل

⚠️ نکات حرفه‌ای
‏wc تفاوتی بین tab و space قائل نیست — همه‌ی فاصله‌ها را معادل یک جداکننده‌ی کلمه حساب می‌کند.
برای فایل‌های غیر UTF-8، بهتر است از -c استفاده کنید نه -m.
در ترکیب با pipe‌ها (|) فوق‌العاده قدرتمنده — مثلاً با grep, awk, یا sort.

#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
🔔 انتشار Python 3.14.0
پشتیبانی از حالت Free-Threaded (بدون GIL)
در برنامه‌ای محاسباتی، می‌توانید در چند نخ به صورت واقعی روی چند هسته اجرا شود
پیش‌فرض فعال نیست.هنگام ساخت یا با تنظیمات

رشته‌های Template یا t-strings
مشابه f-strings با امکان کنترل بیشتر و ارزیابی دلخواه در زمان اجرا

ارزیابی تنبلی برای annotationها (Deferred Annotations)
به جای اینکه annotationها بلافاصله در زمان تعریف تابع/کلاس ارزیابی شوند، ذخیره و زمان لازم پردازش میشن

دیباگر خارجی امن (Zero-overhead external debugger interface)
اتصال دیباگر به فرایند Python در حال اجرا بدون افزودن سربار زیاد
باید محیط اجرا اجازه اتصال بدهد

ماژول compression.zstd
پشتیبانی از الگوریتم فشرده‌سازی Zstandard در کتابخانه استاندارد

پشتیبانی از چند مفسر (Multiple Interpreters)
ماژول concurrent.interpreters در کتابخانه استاندارد امکان ایجاد چند مفسر در یک فرآیند

بهبود پیام‌های خطا و پیشنهاد اصلاحات
اگر کد اشتباه بنویسی، گاهی خطا به‌صورت «آیا منظور شما … بود؟» پیشنهاد می‌دهد

@MehrdadLinuxchannel
#Linux #لینوکس
#news
🔔 انتشار نسخه جدید اوبونتو Ubuntu 25.10 🎉
با اسم Questing Quokka

کرنل Linux 6.17
پشتیبانی از سخت‌افزارهای جدید، بهبود در عملکرد و درایورهای گرافیکی

حذف GNOME روی Xorg
گزینه “Ubuntu on Xorg” در صفحه ورود حذف و GNOME بر بستر Wayland

ترمینال جدید: Ptyxis
ترمینال Ptyxis جایگزین GNOME Terminal

تصویرنمای جدید Loupe
‏Loupe به عنوان تصویرنمای پیش‌فرض جایگزین Eye of GNOME

سوئیچ به sudo-rs
جایگزینی نسخه sudo در C، با sudo-rs

استفاده از Dracut برای initramfs
به جای initramfs-tools، از Dracut به عنوان ابزار تولید initial RAM filesystem

بهبود در رمزگذاری کامل دیسک با پشتیبانی TPM
امکان استفاده از TPM برای رمزگذاری کامل دیسک

تغییرات در Coreutils → Rust Coreutils
انتقال اجزای پایه‌ای مانند Coreutils به نسخه‌های نوشته‌شده در Rust

تغییرات دیگر قابل توجه
– حذف ابزار Startup Applications؛ مدیریت برنامه‌های خودکار در بخش Settings
– پشتیبانی RISC-V محدود به شبیه‌ساز QEMU
– تقویت پشتیبانی NVIDIA روی Wayland و بهینه‌سازی تجربه دسکتاپ

@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
🔢 دستور nl در لینوکس - شماره‌گذاری هوشمند خطوط فایل‌ها

دستور nl (مخفف number lines) برای چاپ محتوای فایل با شماره‌گذاری خودکار خطوط استفاده میشه، اما بر خلاف cat -n، می‌تونه فقط خطوط واقعی (غیر خالی) رو شماره‌گذاری کنه،
📘 مثال پایه‌ای
nl notes.txt
nl -b a file.txt # شماره گذاری همه خطوط
nl -s ": " file.txt # جدا کننده سفارشی
nl -i 10 example.txt
nl -nrz -w3 -s". "
nl -nln

⚙️ آپشن‌های مهم و حرفه‌ای
-b a همه‌ی خطوط را شماره‌گذاری کن (حتی خالی‌ها)
-b t فقط خطوط غیر خالی را شماره‌گذاری کن (پیش‌فرض)
-n ln شماره در سمت چپ (Left)
-n rn شماره در سمت راست (Right)
-n rz سمت راست با صفر پر شود (مثلاً 001، 002)
-w N عرض شماره‌ها را مشخص کن (مثلاً -w 3)
-s SEP تعیین جداکننده بین شماره و متن (مثلاً `-s "

📚 مثال‌های کاربردی و 🔥 ترفندهای ترکیبی و خلاقانه
ls | nl -s ". "  # شماره برای یک دستور دیگر
grep "error" logfile | nl شماره برای تطابق

#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
This media is not supported in your browser
VIEW IN TELEGRAM
دنبال یک جایگزین برای grep در ترمینال لینوکس هستی ؟
همه CGrep،ngrep،vgrep،bingrep و ... را امتحان کردید راضی نبودید !!!

این شما و این هم ugrep
مستندات عالی
https://ugrep.com/
سازگاری کامل با GNU grep
یک سویچ -Q بزار جلوش یک query TUI to search میده باقلوا

semantic-grep
ripgrep

نصب کن حالشو ببر
#linux #لینوکس