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
📄 دستور pwd در لینوکس
دستور pwd (Print Working Directory) در Linux مسیر جاری رو چاپ می‌کنه.
🔹مسیر منطقی (pwd یا pwd -L): مسیر بر اساس متغیر PWD (ممکنه شامل لینک سمبلیک باشه).
🔹مسیر فیزیکی (pwd -P): لینک‌های سمبلیک رو resolve می‌کنه و مسیر واقعی رو نشون میده.
cd /tmp
ln -s /var/log logs
cd logs
pwd # /tmp/logs
pwd -P # /var/log

🔥 ترکیبی و ترفندی؟
xdg-open "$(pwd)" دایرکتوری جاری با مرورگر فایل
cp -r "$(pwd)" /backup/location کپی محتویات مسیر
rsync -av "$(pwd)/" /backup/ مثال با Rsync
export PATH="$(pwd):$PATH" اضافه کردن به PATH
basename "$(pwd)" فقط نام دایرکتوری جاری
dirname "$(pwd)" فقط مسیر بالادستی
tar -czf "$(basename "$(pwd)").tar.gz" "$(pwd)"

🔥 در اسکریپت های خیلی کاربرد داره
SCRIPT_DIR="$(pwd)"

آیا میدانید ما دو دستور pwd در لینوکس داریم که در بعضی موارد با هم فرق میکنند ؟😎

#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
دستور cd مخفف Change Directory در Linux
💠 پاس دادن آرگومان
mkdir /tmp/newdir
cd !$ # این معادل است با: cd /tmp/newdir
mkdir /home/user/myfolder
cd !!:$ # معادل cd /home/user/myfolder

💠خروجی یک دستور
cd "$(mktemp -d)"

💠 رفتن به خانه
cd ~   # یا cd خالی
cd ~root # root رفتن به دایرکتوری خانه کاربر

دستور cd مقدار $HOME را میخواهد
ولی دستور ~ cd مقدار ~ که معادل دقیق مسیر home که یک شورت کات دایرکتوری اصلی خانه است را میخواند
export HOME=/tmp
cd # به /tmp میره
cd ~ # همچنان به /home/user میره

💠 بازگشت به مسیر قبلی - cd
اگر دوباره اجرا شود، به مسیر فعلی بازمی‌گردد.

💠 تغییر سریع دایرکتوری
cd /home/user/Documents
cd .. # حالا در /home/user هستید
cd ../.. # رفتن دو سطح به بالا
cd ... # معادل دستور قبل در بعضی شل ها
cd ./ # مسیر فعلی کاربرد اسکریپت‌نویسی
cd / # رفتن به ریشه


🔥چقدر از این ترفند ها را بلد بودید ؟😎 ⁉️ مثلا کار این دستور چیه ؟ (لطفا در گروه جواب ها را spoiler بزنید)
cd !!:2

#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
📄 دستور ls در لینوکس
از پرکاربرد ترین دستورات در لینوکس برای لیست فایل ها و دایرکتوری ها
اپشن های متداول:
ls -la    مخفی ها،مجوزها،مالک و زمان آخرین تغییر
ls -lh اندازه فایل‌ها
ls -li inode هر فایل
ls -lt آخرین تغییر ls -lc ls -lu
ls -lhS اندازه فایل‌ها ls -lhtr
ls -R ساختار درختی
ls -d */ فقط دایرکتوری‌
ls *.jpg بر اساس اکستنشن

ترفند های ترکیبی در Linux
ls | nl    نمایش با شماره خط
ls -1 | wc -l چه تعداد فایل توی دایرکتوری
ls -lh | less مرور لیست بزرگ فایل‌ها

پیشنهاد می‌کنم یک alias برای راحتی در .bashrc یا zshrc تعریف کنید، مثلا:
alias ll='ls -lh --color=auto'

پیشنهاد alias شما ؟

🔥
جایگزین ls به نام exa
شما از چه ترفند ترکیبی یا تکنیکی از دستور ls استفاده میکنید؟
آموزشی برای ls جا مونده ؟ در کامنت ها بگید 💐

#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
🔥 معرفی zoxide دستور CD هوشمند تر با پشتیبانی از انواع shell

دستور cd و امکانات آن را قبلا اینجا معرفی کرده بودم
و دستور cd در مقابل pushd و popd و معرفی dirs اینجا معرفی کرده بودم
و البته ابزار enhancd را معرفی کرده بودم🫠

چقدر در مورد cd مطلب نوشتم، علاقه خاصی به جابه جایی دارم 😁


ابزار zoxide یک دستور cd هوشمندتره که از z (z - jump around یا z.lua ) و autojump الهام گرفته شده.
این دستور دایرکتوری‌هایی را که بیشتر استفاده می‌کنید به خاطر می‌سپاره، پس می‌توانید تنها با چند ضربه کلید به آنها "پرش" کنید.

راستی zoxide روی تمام پوسته‌های اصلی کار می‌کند.😎

فیلم کار با این ابزار در اینجا قابل دیدن است

مثل همیشه از لینوکس لذت ببرید ابزار bd command یک معادل دیگه cd را یعنی معرفی کنم 🧐؟
سایت اصلی

#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
📄 دستور mkdir در لینوکس
دستور mkdir (make directory) در Linux برای ساختن دایرکتوری استفاده میشه
اپشن‌های متداول:
mkdir test ساخت دایرکتوری 
mkdir dir1 dir2 dir3 چند دایرکتوری
mkdir -p a/b/c پوشه‌های تو در تو
mkdir -m 700 private دسترسی خاص
mkdir -v newdir با گزارش

🔥 ترفندهای ترکیبی و حرفه‌ای:
mkdir project_{A,B,C} → ساخت با الگو 
mkdir release_{01..12} → پوشه‌های شماره‌دار ۰۱ تا ۱۲
mkdir "$(date +%Y-%m-%d)" → نام تاریخ امروز
mkdir "$(whoami)_data" → اسم کاربر فعلی
mkdir new && cd $_ → ساخت پوشه و ورود

🔥 برای اسکریپت‌نویسی خیلی کاربردیه، مثلا ساخت ساختار پروژه😎:
mkdir -p project/{src/{lib,tests},docs,bin}

عالیه تا اینجا آمدی 💐 به نظرت کار دستور زیر چیه ؟ و کاربردش چیه؟
TMPDIR=$(mktemp -d /tmp/mydir.XXXXXX) 

#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
📄 دستور 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