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

از دستور 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 کردم پیداشون کردم و استفاده کردم دیدم کار میکنه. پس اینجا نوشتم تا شما هم اگه نیاز داشتین ببینین.

یافتن یک عبارت در متن فایلها

تا حالا خواستین یه کلمه یا یه جمله رو بدونید تو کدوم فایل شما است بعد یکی یکی فایل ها رو باز کنید و بگردید دنبالش؟! خیلی زمان میگیره. مگه نه؟ خب با این دستور، هر عبارتی رو که بخواید توی هر فایلی براتون جست و جو میکنه. اگه در مسیری باشید که این دستور رو اجرا میکنید میره همون جا رو میگرده.
find -type f -exec grep -H ‘YOUR STATEMENT’ {} \;
اما اگه بخواید در کل کامپیوتر بگرده، اینجوری میشه:
find / -type f -exec grep -H ‘YOUR STATEMENT’ {} \;
میتونید آخرش هم بنویسید > ~/resault.txt که نتایج رو براتون تو یه فایل ذخیره کنه.

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

مانیتور هایی که دکمه ی خاموش و روشن ندارن، مثلا لپ تاپ ها، و نمیدونیم کلید میانبر این کار چیه، در xorg این دستور این کار رو انجام میده:

sleep 1 && xset dpms force off

عدد ۱ یعنی یک ثانیه صبر کن و بعد مانیتورو خاموش کن. بعدش هم با تکون دادن موس یا زدن کلید روی کیبرد، روشن میشه.  میتونید این دستور رو براش یه کلید میانبر shortcut درست کنید و راحت…

اگر دستور بالا کار نکرد این رو امتحان کنید

xset s blank ; sleep 1 ; xset s activate

و اگر در wayland  در Gnome بودید این رو امتحان کنید

busctl --user call org.gnome.Shell /org/gnome/ScreenSaver org.gnome.ScreenSaver SetActive b true

تغییر ownership یک فولدر

یک دستور خوب برای تغییر owner و group در مورد فولدر ها و فایل های درون اون ها به چیزی که خودتون میخواید. مثلا من میخوام فولدر /home/amin/bigbig رو که توسط root ساخته شده و نمیذاره که من بهش دسترسی داشته باشم، با این دستور اینکارو می کنم:
sudo chown -hR amin:amin /home/amin/bigbig
حالا محتویات این فولدره به علاوه خودش، به owner از نوع amin (اولی) , group از نوع amin (دومی) تغییر کرد.




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