بایگانی

بایگانی برای دسته ی ‘خط فرمان’

دستورات خط فرمان – ۱۶

۱۲ شهریور ۱۳۹۳ بدون دیدگاه

سلام
بعد از مدت ها برگشتم و یه مطلب کوتاه!
برای خواندن فایل‌های PDF برخط (online) داخل ترمینال، کافیه بزنید:


curl 'LINK' | pdftotext - - | less

به همین راحتی…

تبدیل wma به mp3 در لینوکس

۲۱ دی ۱۳۹۱ ۱ دیدگاه

سلام
باز هم مطلبی که با توجه به نیازم بهش بر خوردم.
امروز میخواستم یه فایل wma رو به mp3 تبدیل کنم.
خب اینجا لینوکسه و راه حل‌های زیادی موجوده ولی من از این روش استفاده کردم.


mplayer -vo null -vc dummy -af resample=44100 -ao pcm:waveheader FILE.wma;lame -m s -V 3 audiodump.wav;mv audiodump.mp3 FILE.mp3;rm audiodump.wav

و به راحتی کارم انجام شد.
البته فکر میکنم که نیازی به گفتن نیست که mplayer و lame باید نصب باشه…
موفق و لینوکسی باشید…

دستورات خط فرمان – ۱۵

۲۴ اردیبهشت ۱۳۹۱ ۱ دیدگاه

سلام
حتما برای شما هم پیش اومده که یه فایل که دسترسی لازم روی اون رو ندارید بدون sudo با vim باز کرده باشید! و بعد از تغییرات فراوان متوجه این موضوع بشید!
جهت ذخیره کردن تغییرات روی فایل کافیه بزنید:


:w !sudo tee %

به همین راحتی…

دستورات خط فرمان – ۱۴

۱۴ فروردین ۱۳۹۱ بدون دیدگاه

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


showkey -a

سپس هر کارکتری که می‌خواهید رو وارد کنید!
با ctrl + D هم می‌تونید از این محیط خارج بشید!

دستورات خط فرمان – ۱۳

۱۲ فروردین ۱۳۹۱ بدون دیدگاه

سلام
شما هم اگه مثل من از توزیع‌های دبیان‌بیسد استفاده می‌کنید و مشکل پر شدن فضای حافظه سیستم بوسیله کش رو دارید کافیه بزنید:


echo 3 > /proc/sys/vm/drop_caches

تغییر نام چند هزار فایل

۲۰ آذر ۱۳۹۰ ۲ دیدگاه

سلام
خیلی وقت بود که مطلبی ننوشتم… مشغله زیاد نمیذاره…
و حالا!
چندین هزار سند داریم که اسکن شده و با نام صاحب سند ذخیره شده‌اند!
حالا جریان از چه قراره؟ می خوایم تمامی اسناد رو به شماره پرونده شخص تغییر نام بدیم!!
راه حل اول، تغییر نام عکس ها بصورت دستی: اگر فرض کنیم ۱۰٫۰۰۰ سند داریم و پیدا کردن تصویر هر سند و تغییر نام اون بصورت دستی بیست ثانیه زمان ببره، چیزی بیش از ۵۰ ساعت کار مفید لازمه تا همه اسناد تغییر نام داده بشن…!!
حالا میریم سروقت راه حل دوم: اسکریپتی می نویسیم که این کار رو انجام بده!
اول میریم سراغ فایلی که مشخصات همه توش موجوده! دوتا ستون مربوط به نام و شماره پرونده رو انتخاب کرده و یه خروجی csv ازش میگیریم که میشه چیزی شبیه این:


۱۳ هادی
۱۴ مسعود
۱۵ امیر
۱۶ ساسان
۱۷ علیرضا

خب حالا برنامه!
دلم میخواست که با پایتون بنویسمش ولی نشد! پس بش!
تو خط ۶ بعد از متغیر name و num عبارت jpg. رو قرار دادم چون لیست تنها شامل نام میشه ولی فایل ها با فرمت jpg ذخیره شدن و بعد از تغییر نام هم باید مجددا پسوند رو داشته باشه تا عکس ها قابلیت نمایش داشته باشه…


#!/bin/bash
while read line
do
name=$(echo $line | awk '{print $1}')
num=$(echo $line | awk '{print $2}')
mv -v "$name".jpg "$num".jpg
done < namedb.csv

حالا کافیه که این کد رو توی یه فایل ذخیره کرده و بهش مجوز اجرا بدیم... و بعد هم اجرا...
حتی میشه اندازه گرفت که طی چه زمانی کار تغییر نام انجام میشه...!


chmod +x rename-script
time ./rename-script
`هادی.jpg' -> `13.jpg'
`مسعود.jpg' -> `14.jpg'
`امیر.jpg' -> `15.jpg'
`ساسان.jpg' -> `16.jpg'
`علیرضا.jpg' -> `17.jpg'
.
.
.
.
real 1m14.505s
user 0m13.294s
sys 0m25.628s

حیرت آوره! کمتر از دو دقیقه...! البته برنامه اصلی کمی با برنامه ای که نوشتم فرق داره! چون ساختار اسامی این شکلی نیست! اکثر از اسامی دو بخشی هستن و برخی ۳ بخشی...! حتی ممکنه که ۴ یا بیشتر هم بشه... فرق زیادی نداره و فقط خط ۴ کمی تغییر میکنه...
در پایان از جادی که با توجه مشغله زیادش برام وقت گذاشت و مهدی شیخ حسینی، که کمک کرد تا کارم رو انجام بدم سپاسگذارم...
موفق و لینوکسی باشید :)

دستورات خط فرمان – ۱۲

۱۸ مهر ۱۳۹۰ بدون دیدگاه

سلام
برای پیدا کردن شناسه پردازشی (pid) یک برنامه در حال اجرا بزنید:


$ ps -ef | grep [process name]

دستورات خط فرمان – ۱۱

۲۸ مرداد ۱۳۹۰ بدون دیدگاه

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


$ openssl rand -base64 9

و یا :


$ cat /dev/urandom | base64 | cut -c1-9 | head -1

یادآوری میکنم که تو هر دو دستور عدد ۹، طول رمز عبوره و با تغییر اون میتونید به طول مورد نظر خودتون برسید…

دستورات خط فرمان – ۱۰

۲۸ مرداد ۱۳۹۰ ۲ دیدگاه

سلام
اگه می خواید خیلی راحت و بدون تایپ help–، راهنمای دستور رو ببنید کافیه بعد از دستور بزنید:


$ COMMAND ctrl+o

دستورات خط فرمان – ۹

۲۰ مرداد ۱۳۹۰ بدون دیدگاه

سلام
برای دیدن مقدار اجرا شده از عملی در حال اجرا که نوار پیشرفت نداره می تونید از دستور pv استفاده کنید…
برای مثال استفاده در کپی فایل:


$ pv source.file > destination.file

ویا:


$ dd if=input.file |pv |dd of=output.file

پ.ن: نوار پیشرفت = progress bar