گنوم ترمینال باز شود و دستوری را اجرا کند

ممکنه لازم داشته باشیم برای اجرای یک دستوری، gnome-terminal رو باز کنیم و دستور داخلش اجرا بشه. مثلا یک شورتکات ساختیم که برای اجرا شدن نیاز به باز شدن ترمینال داره. یا میخوایم در run (Alt+F2) دستوری رو اجرا کنیم که ترمینال باز بشه باهاش.

برای اینکار در گنوم، در سال ۲۰۲۳! باید از این راه استفاده کنیم:

gnome-terminal -- /bin/sh -c 'echo test; exec bash'

اگر بخواید ترمینال بعد از اجرای دستور بسته بشه، عبارت exec bash رو بردارید

ترفندهای ترمینال

در موقع کار با terminal حتما براتون پیش اومده که دنبال یه دستوری که چند روز پیش وارد کردید بگردید. کافیه شما یکی دو کلمه از دستور یادتون مونده باشه. پس وقتی terminal بازه توش کلید control رو به همراه r فشار بدید! بعد یه همچین چیزی میبینید: (reverse-i-search)` حالا اون کلمه رو تایپ کنید. میبینید که دستورتون رو براتون پیدا میکنه! با فشردن مجدد این ترکیب، بقیه دستوراتی که این کلمه رو دارن یکی یکی بهتون نشون میده. برای خروج از این حالت هم Esc رو بزنید.

شده بخواید کرسر ماوس رو ببرید اول خط دستور؟ به راحتی Ctrl+a رو بگیرید سریع اینکار رو براتون انجام میده. Ctrl+e هم میبرتش ته خط!

برای توقف یک پروسه ای که در حال اجرا هست، کافیه Ctrl+c یا  Ctrl+v رو بگیرید

برای کپی کردن یک عبارت Shift+Ctrl+c و برای چسباندن! یک عبارت Ctrl+Shift+v رو بگیرید

ساخت hash پسورد وردپرس در لینوکس

اگر صاحب یک وبلاگ وردپرس شخصی هستید، تا به حال شده که رمز عبورتون رو فراموش کنید؟ یا آیا تا به حال شده که بخواید رمز عبور یکی از کاربرانتون رو تغییر بدید؟
خب خیلی ساده میزنید رمز عبور خود را فراموش کرده ام و یک رمز عبور جدید برای خودتون میسازید. اما با اون کاربر چه کار میکنید؟ یا اگه پیشخوان خراب شده باشه و نتونید از این طریق عمل کنید؟!
باید برید سراغ database وبلاگتون. به table کاربران وردپرس برسید و کاربر مورد نظر رو پیدا کنید و روی ویرایشش کلیک کنید.
در قسمت user_pass یه عبارت عجیب غریبی نوشته. مثلا این طوری: ۸۷۲b874f55d13597526df5217dd3d597 این همون پسورد شماست که به صورت کد hash در اومده. حالا اگه این رو بردارید و رمز عبور جدیدتون رو جاش بنویسید مسلما کار نخواهد کرد! باید رمز عبورتون رو به این کد تبدیل کنید.
اگر لینوکس دارید کار خیلی ساده است:
یک فایل مثلا با نام pass.txt بسازید و پسوردتون رو بذارید توش و save کنید. توجه کنید که فقط و فقط عبارت پسورد توش باشه. هیچ فاصله ای قبل و بعدش نباشه.
حالا در خط فرمان:
md5sum pass.txt
و بعد هم پاکش کنید:
rm pass.txt
البته سایت هایی هستند که این کار رو میکنند. مثلا این

ویرایش دسته جمعی تصاویر در ترمینال

از دستور for استفاده میکنیم تا عکس ها رو در یک فولدر پیدا کنه و بعد تغییرات خودمون رو روی عکس ها میدیم. تغییراتی که خودم لازم داشتم، یکی تغییر اندازه ی عکس ها به ۸۰۰×۶۰۰ بود و یکی گذاشتن یک watermark روی تک تک عکس ها. برای این کار اول باید imagemagic رو نصب کنیم.

بعد از اینکه در ترمینال به فولدر حاوی عکسها رفتیم:

for k in $(ls *.JPG); do convert -resize 800x600 -quality 90 $k re-$k; done

با این دستور عکس های با پسوند JPG (دقت کنید که به حروف بزرگ و کوچیک حساسه) تبدیل به عکس هایی با اندازه ی ۸۰۰×۶۰۰ با کیفیت ۹۰٪ میشن که اول اسمشون re داره. یعنی فایل اصلی دست نخورده باقی میمونه.

حالا میخوایم به عکس های جدید یک watermark بیفزاییم! یعنی مثلا اسم خودتون، یا وبسایتتون… بطن کار اینه که دستور پایینی دو تا عکس رو با درجه شفافیتی که تعیین میکنیم میندازه روی هم.  پس ما یه عکس کوچیک میسازیم که توش نوشته مثلا linuxvaman.ir . اندازه این عکس wm.png مثلا هست ۱۲۷×۲۷ و بعد اون رو با درجه شفافیت ۸۰% میندازیم روی عکس ها.

for k in $(ls re*.JPG); do composite -watermark 80% wm.png $k wm-$k; done

نتیجه ی این دستور، فایهایی هستند به نام wm-re-FILENAME.JPG که دارای سایز ۸۰۰×۶۰۰ و مارک دلخواه شما هستند. بنا بر این الآن سه گروه فایل داریم. یک گروه فایل اصلی (اولیه) و دست نخورده. یک گروه عکس هایی که فقط تغییر اندازه پیدا کردن و یک گروه عکس هایی که تغییر اندازه پیدا کردن و watermark روشون قرار گرفته. میتونید گروه دوم یا اول رو حذف کنید.

ادامه مطلب

حذف پسورد فایل PDF

حتما با PDF هایی که پسورد دارند مواجه شدید. بسته به سطح دسترسی که سازنده تعیین کرده، شما به یک سری چیزها دسترسی دارید یا ندارید. مثلا میتونید پرینت کنید یا نمی تونید و … اگر پسورد فایل رو ندونید هیچ کاری نمیتونید بکنید. در ویندوز نرم افزارهای خنده داری هستند که پسورد فایل PDF رو پیدا میکنند. اما در لینوکس یک چیز بسیار ساده و فوق العاده ای هست که به راحتی و با یک خط دستور در ترمینال فایل PDF شما رو بعله…
برای اینکار، در Terminal دستور بفرمایید:
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=/home/amin/bedoone-password.pdf -c .setpdfwrite -f  /home/amin/Desktop/baa-password.pdf
هم اکنون برید حالش رو ببرید.

استخراج ایمیلها از یک فایل متنی

یک فایل متنی داریم. آت و آشغال زیاد داره. اما کلی ایمیل توش هست که ما به اونها نیاز داریم.
perl -wne’while(/[\w\.]+@[\w\.]+/g){print “$&\n”}’ ‘/textfile.txt’ > /email-list.txt
دستور بالا یک فایل به شما میده که در هر خط یک ایمیل وجود داره. حالا میخوایم بعد از هرایمیل، یه کاما بذاره که بشه اونارو توی compose گذاشت و ایمیل زد بهشون. با این دستور:
awk -F”,” ‘{ if( NR == 3 ) { val=$2 }  if( NR <= 3 ) { print } else {print val”,”$0} }’ /email-list.txt > /new-email-list.txt
والله بنده اصلا نمیدونم این دستورات چی هستن! من فقط search کردم پیداشون کردم و استفاده کردم دیدم کار میکنه. پس اینجا نوشتم تا شما هم اگه نیاز داشتین ببینین.




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