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
📄 دستور 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
🔔 انتشار نسخه جدید اوبونتو 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
📄 دستور strings در لینوکس
استخراج رشته‌های متنیِ قابل‌چاپ از داخل فایل‌های باینری 😎
کاربرد؟
🔥مهندسی معکوس،پیدا کردن نام توابع، پیام‌های خطا، library names.
🔥کشف URLها، توکن‌ها
🔥بررسی فایل‌های خراب یا بدافزار (اولین قدم قبل از دیباگ عمیق).

🔹 مثال‌های پایه
strings a.out              # استخراج همه رشته‌ه 
strings /bin/ls | less # خروجی طولانی
strings -n 6 file.bin # رشته‌های طول
strings -t x file.bin # offset به صورت hex
strings -f file1 file2 # قبل خروجی نام فایل

⚙️ آپشن‌های مهم
-n <num> یا --bytes=<num> : حداقل طول رشته .
-t <o|d|x> : نمایش offset رشته
-e <encoding> : تعیین encoding
-f : چاپ نام فایل قبل از خروجی.
-a : اسکن تمام بخش‌ها .
🔥 ترفندهای ترکیبی و خلاقانه
strings binary | grep -E 'https?://|https://'  # URL
strings binary | grep -iE 'token|key|password|passwd' # توکن
strings -t x binary | grep -i 'API_KEY' # offset

#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
📄 دستور diff و cmp در لینوکس
هر دو ابزار برای مقایسه فایل‌ها به‌کار می‌روند، ولی هدف و سطح جزئیاتی که می‌دهند فرق دارد:
‏diff برای نمایش اختلافات متنی (خط‌به‌خط) و تولید پچ (patch) مناسب است.
‏cmp برای مقایسه بایت‌به‌بایت و یافتن اولین بایت/آفست متفاوت طراحی شده.
کاربرد پایه
diff file1.txt file2.txt # مقایسه فایل
cmp file1.bin file2.bin
diff -r dirA dirB # مقایسه دایرکتوری

‏--brief → کم‌حرف
‏--color=auto یا استفاده از colordiff → خروجی رنگی
کاربرد هاشون خاص بود، ننوشتم شما اگر ایده ای دارید در کامنت بنویسید به پست اضافه کنم 💐


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