چند ترفند ssh برای انتقال فایل

یکی از مشکلات همیشگی هنگام اتصال به سرورها از طریق شبکه، انتفال فایل است. ابزار هایی مثل sftp با وجود کارایی فراوان، مشکلاتی هم دارند، مثلا استفاده مکرر از آنها ملال‌آور است و اصلا برای اسکریپت نویسی مناسب نیستند و مشکلاتی مثل سطح دسترسی و غیره هم ممکن است رخ دهد.

یک راه حل جالب برای این مشکلات استفاده مستقیم از خود ssh است. مثلا به کمک دستور زیر میتوان فایلی را از سرور به کلاینت منتقل کرد.

ssh <server_ip> cat /path/to/file >/path/to/file/on/client

حال برای مثال اگر با فایلی مواجه باشیم که خواندن آن نیاز به دستور روت دارد به سادگی میتوان نوشت:

ssh -tt <server_name> sudo cat /path/to/file > /path/to/save/file

اما مزایای این روش فقط به همین جا محدود نمیشود میتوان کار های جالب تری انجام داد که برای sftp غیر ممکن است. مثلا:

ssh <server_ip> curl http://example.com >/path/to/save
ssh <server_ip> "dd if=/dev/sdx |gzip -c9" >/path/to/save

که از اولی میتوان برای دانلود مستقیم یک فایل به کمک ssh و از دومی برای بکاپ گرفتن از یک سیستم روی شبکه کمک گرفت. تقربیا میتوان از هر ترکیبی استفاده کرد. و stdout هر دستوری را که روی سرور اجرا میشود مستقیما روی کلاینت ذخیره کرد و از مزایای رمزنگاری و ارتباط امن ssh بهره برد.

ادامه مطلب

مخفی کردن فایلها در لینوکس بدون گذاشتن نقطه

همون طور که لینوکسی ها میدونن، برای اینکه فایل یا پوشه ای رو در لینوکس مخفی کنیم باید اول اسمش یک نقطه یعنی . بذاریم. مثلا فایل یا فولدری به نام .linuxvaman بعنوان مخفی در نظر گرفته میشه. گاهی اوقات پیش میاد که ما دوست نداریم فایلی رو ببینیم، مثلا یه فایل log از یه برنامه ایجاد میشه تا اتفاقات مربوط به اون برنامه رو در خودش نگه داره. حالا اگه ما بیایم اول اسم این فایل یک نقطه بذاریم عملا کار بیهوده ای کردیم. چون در اجرای بعدی اون برنامه دوباره فایل با نام اصلی خودش ساخته میشه.

اما یک راه بسیار ساده برای مخفی کردن فایلها و پوشه ها در لینوکس وجود داره، بدون تغییر نام اونها و بدون گذاشتن نقطه در ابتدای اسامی!

کافیه یک فایل به این اسم در پوشه ای که میخواهید فایلها و پوشه هایی رو مخفی کنید بسازید .hidden و در اون اسامی چیزهایی که میخواید هر کدوم در یک خط بنویسید و ذخیره کنید. و بعد یک بار فایل منیجر رو ببندید و باز کنید. خواهید دید که فایلها مخفی شدند. و البته با کلید Ctrl + H نمایش داده میشن.

چقدر خوب واقعا!

راحت تر کردن samba

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

برای دیدن اسکریپت ادامه مطلب رو ببینید...

ادامه مطلب

find و replace عبارت ها در ترمینال

گاهی پیش میاد که لازم داریم دنبال یه عبارت خاص توی پوشه ها و فایلهایی که داریم بگردیم. خب باز کردن دونه دونه اونها و یکی یکی سرچ کردن هم سخته هم خنگولانه است!

با این روش ها میشه این کار رو راحت تر کرد:

grep -rnw '/path/to/somewhere/' -e "pattern"

یک دستور تیپیک برای جست و جوی عبارت pattern در یک دایرکتوری.

grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"

این دستور جست و جو رو در فایلهایی انجام میده که پسوند اونها به c یا h ختم بشن

grep --exclude=*.o -rnw '/path/to/somewhere/' -e "pattern"

این دستور هم میگه که همه فایلهایی که آخرشون به O ختم میشه از جست و جو خارج کن

ادامه مطلب

گرفتن ISO از دیسک

سلام قبل از هر چیز عیدتون مبارک و برای اینکه از CD یا DVD داخل کامپیوتر نسخه ISO تهیه کنید می‌تونید از دستورات زیر استفاده کنید.

readom dev=/dev/scd0 f=/path/to/image.iso

یا

dd if=/dev/cdrom of=whatever.iso

یا

cp /dev/cdrom file.iso

افزودن هاردساب به ویدئو

گاهی اوقات پلیری پیدا می‌شه که امکان سافت ساب رو نداره بخاطر همین مجور می‌شیم فایل زیرنویس رو ، روی ویدیو بسوزونیم یا بکاریم هرچی...

برای اینکار ساده ترین راه استفاده از HandBrake است که ما توضیحی در این مورد نمی‌دیم و می‌ریم که با دستور زیر به راحتی زیرنویس رو بسوزونیم روی ویدیو

ffmpeg -i input.mp4 -vf subtitles=filename=SUBTITLE.srt:force_style='FontName=Yekan' -acodec ac3 -vcodec h264 out.mkv

برای اینکه رنگ نوشته ها رو هم عوض کنیم باید داخل فایل زیرنویس از تگ های HTML استفاده کنید. تمام به همین راحتی




حاصل سر و کله زدن های من با لینوکس