یکی از مشکلات همیشگی هنگام اتصال به سرورها از طریق شبکه، انتفال فایل است. ابزار هایی مثل 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 استفاده میکنم ولی من دوست ندارم همیشه روشن باشه و هر موقعه نیاز بهش هست روشنش میکنم بخاطر همین اینو نوشتم تا راحتر بتونم اینکار رو بکنم.
برای دیدن اسکریپت ادامه مطلب رو ببینید...
گاهی پیش میاد که لازم داریم دنبال یه عبارت خاص توی پوشه ها و فایلهایی که داریم بگردیم. خب باز کردن دونه دونه اونها و یکی یکی سرچ کردن هم سخته هم خنگولانه است!
با این روش ها میشه این کار رو راحت تر کرد:
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 ختم میشه از جست و جو خارج کن
سلام قبل از هر چیز عیدتون مبارک و برای اینکه از 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 استفاده کنید. تمام به همین راحتی
حاصل سر و کله زدن های من با لینوکس