بایگانی

نوشته های برچسب زده شده ‘خط فرمان’

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

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

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

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

۳ تیر ۱۳۹۰ ۱ دیدگاه

سلام
برای نمایش آخرین فایل یا مسیری که تغییر کرده بزنید:


$ ls -t1 | head -n1

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

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

سلام
برای اینکه بدونید چه کاربرانی رو کدام ورودی ها وارد شدن بزنید:


$ w