ارسال ایمیل از طریق شل

همه ما انقدر خوش شانس نیستیم که از یک mail client گرافیکی با تمامی امکانات مانند thunderbird و یا kmail و از این نظیر برنامه‌ها برای ارسال ایمیل استفاده کنیم. گروهی از افراد بدشانس به نام system administrator وجود دارند (مثل من :دی) که باید از command line و یا اسکریپت برای ارسال ایمیل استفاده کنند. اگر شما هم مثل من جز این دسته از افراد بد شانس هستید توصیه می‌کنم ادامه مطلب را بخوانید.

ادامه مطلب...
۲۳ اسفند ۹۳ ، ۲۲:۳۳
مهدی غفاری

تکرار کردن دوره‌ای تعدادی از کامندها

خیلی از مواقع شما نیاز دارید مثلا ۴ دستور گذشته خود را به صورت پشت سر هم تکرار کنید. برای این کار بسیاری از لینوکس کارها از کلید بالا استفاده کرده و دستورات را یکی یکی اجرا می کنند . ولی آیا راه ساده تری نیز وجو داره؟

ادامه مطلب...
۲۳ اسفند ۹۳ ، ۲۲:۱۸
مهدی غفاری

فراموشی پسورد root

آیا پسورد root سیستم را فراموش کرده اید؟؟؟

افراد بسیاری را دیدم که در این شرایط برای حل مشکل، راه حل نصب دوباره سیستم عامل را برگزیده‌اند.

ولی ریست کردن پسورد root بسیار ساده است.

در ابتدا سیستم را reboot کنید. وقتی که سیستم reboot گردید و شما به Grub screen رسیدید. کرنل مورد نظر را انتخاب کرده و کلید e را فشار دهید. در صفحه بعدی در انتهای خطی که با عبارت kernel شروع می‌شود رفته و باز هم کلید e را زده و عبارت 1 را در انتهای خط اضافه کرده و کلید b را فشار دهید.

با انجام عملیات‌های فوق کرنل به صورت single user بوت شده و به شما prompt می‌دهد . حال با زدن دستور passwd پسورد root را عوض می‌کنیم .

۲۳ اسفند ۹۳ ، ۲۲:۱۴
مهدی غفاری

جستجو در تاریخچه دستورات

تا به حال به این فکر کرده اید که چطور می توان در کامندهای گذشته شده search انجام داد ؟؟ برای این کار کافی است که از ترکیب کلید های ctrl+r استفاده کرده و عبارت مورد نظر را search کنیم .

برای اجرای آخرین کامند می‌توان از علامت!! استفاده کرد و برای اجرای آخرین دستوری که به طور فرض با ss شروع شده است کافی است !ss را زده و اینتر کرده تا آخرین دستوری که با ss شروع شده است اجرا شود.

برای اجرای n امین دستور به صورت زیر عمل می‌کنیم !n و برای اجرای n امین دستور از انتها به صورت زیر عمل می‌کنیم.

!-n

۲۳ اسفند ۹۳ ، ۲۲:۱۱
مهدی غفاری

تغییر دستورات

یکی از مفیدترین نکته‌هایی که بسیاری از افرادی که سالها با لینوکس کار کرده و از آن اطلاعی ندارند، جایگزین کردن عبارتی در دستوری که قبلا زده‌اند است.

ادامه مطلب...
۲۳ اسفند ۹۳ ، ۲۱:۰۵
مهدی غفاری

تصحیح اشتباهات و غلطهای املایی vol2

بعضی مواقع در لینوکس case sensitive بودن در هنگام استفاده از Tab و یا به عبارتی auto completion آزار دهنده می شود . به طور نمونه فایلی داریم با نام Mahdi و یا دایرکتوری به نام Blog که می خواهیم در ابتدا فایل Mahdi را بخوانیم و سپس به دایکتوری Blog مراجعه کنیم .

اگر برای خواندن محتوای فایل Mahdavifar ما دستور cat mah را تایپ کنیم و Tab را بزنیم هر چقدر که این عملیات را انجام دهیم دستور برای ما کامل نخواهد شد و به همین منوال برای رفتن به دایرکتوزی Laitec اگر ما دستور cd lai را بزنیم با زدن Tab برای ما دستور کامل نخواهد شد . در بعضی مواقع قابلیت case sensitive بودن در هنگام استفاده از Tab در لینوکس آزار دهنده است ولی از آنجایی که در لینوکس همه چیز قبل تغییر است می‌توانید این قابلیت را نیز off کنید !!!

برای اینکار کافی است دستور زیر را در .bashrc یوزر مربوطه ای که میخواهید قابلیت case sensitive بودن در هنگام bash completion برای او غیر فعال شود را قرار دهید:

bind 'set completion-ignore-case on'

و یا عبارت:

set completion-ignore-case on

را در فایل etc/inputrc/ اضافه کنید

حال یک shell جدید باز کنید این بار با زدن دستور cat mah و زدن کلید Tab دستور فوق کامل گردیده و cat Mahdi برای ما کامل می گردد و همین اتفاق نیز برای دستور cd blo و زدن کلید Tab را رخ می دهد که با این کار عبارت cd Blog برای ما کامل می‌شود !

جالبه نه!! هیچ چیز در لینوکس غیر قابل تغییر نیست!

۲۳ اسفند ۹۳ ، ۲۰:۵۴
مهدی غفاری

تصحیح اشتباهات و غلطهای املایی vol1

تایپ کردن در کامند لاین ساده نیست. در ابتدا زمان زیادی وقتتون رو می‌گیره تا یاد بگیرید چطور کامندهای گوناگون کار می‌کنن ولی حتی بعد از اون هم شما باید در مورد اسامی فایلها و دایرکتوری‌ها بسیار دقیق باشید در غیر این صورت و دقیق نبودن شما باید کامندها را تکرار و تکرار کنید.

ولی!! همیشه در لینوکس راهی وجود دارد!! Bash  دارای یک کامند داخلی به نام shop  می باشد که به ما اجازه می دهد که option های گوناگونی برای command line ست کنیم. برای مثال با زدن دستور:

Shopt -s cdspell

ما به bash قابلیت تصحیح غلط های املایی هنگام تایپ نام دایرکتوری‌های را می‌دهیم  به عنوان مثال اگر شما به جای اینکه برای رفتن به دایرکتوری یوزر mghaffari دستور  cd /home/madhavifar  را بزنید به صورت خودکار bash اشتباه شما را تصحیح کرده و شما را به نزدیک ترین دایرکتوری از نظر اسمی که در اینجا /home/mghaffari  است منتقل می‌کند .

همچنین شما می توانید با استفاده از دستور:

Shopt -s nocaseglob

در هنگامی که اسم یک فایل را می‌زنید و tab  را فشار می‌دهید برای autocomplete  ، bash  برای ما search  و جست جوی فایل را به صورت  case-insensitive  انجام می دهد . توجه کنید که در این مورد bash  عملیات autocomplete  را به صورت case insensitive  انجام نمی‌دهد بلکه عملیات search  را به این صورت انجام می‌دهد .

برای نمونه فرض کنید که شما می خواهید به دایرکتوری Desktop  مراجعه کنید برای این منظور اگر قابلیت nocaseglob  را فعال کرده باشید اگر ما عبارت cd desk*  را استفاده کنیم ، به عبارتی از wild card  ها استفاده کنیم بعد از زدن دستورات به طور خودکار ما به دایکتوری Desktop  انتقال پیدا خواهیم کرد.

برای غیر فعال سازی قابلیتهای معرفی شده در بالا نیز کافیست به جای استفاده از سوییچ  -s  از سوییچ –u  استفاده کنیم .

برای دیدن تمامی option های قابل ست کردن برای shell  و همینطور فعال بودن و نبودن آنها نیز زدن دستور shop  کافیست .

On  به معنای فعال و off  به معنای غیر فعال می باشد .

۲۳ اسفند ۹۳ ، ۲۰:۳۲
مهدی غفاری

معماری بانک‌اطلاعاتی اوراکل - ساختار منطقی

همانطور که پیشتر به آن اشاره شد ساختار منطقی دسترسی کاربران را به ساختار فیزیکی ممکن می سازد. در حقیقت ساختار منطقی Data Base از دو واحد اساسی تشکیل شده است:

  • حافظه SGA  یا همان System Global Area
  • حافظه PGA یا همان Program Global Area

پردازشات خود بانک اطلاعاتی و Cashe کردن داده ها در حافظه SGA انجام می پذیرد، این حافظه بین تمام کاربران بانک اطلاعاتی مشترک می‌باشد.

نکته: اوراکل تنها یکبار اطلاعات رو از DataFile میخواند و در فضای SGA کش می‌کند.

ادامه مطلب...
۲۱ اسفند ۹۳ ، ۲۰:۰۲ ۰ نظر
مهدی غفاری

معماری بانک‌اطلاعاتی اوراکل - ساختار فیزیکی

یادآوری

رابطه میان user و owner و schema؟

در حقیقت owner همان schema است، schema هم همان user است، یوزر وقتی مالک چیزی است به آن schema یا owner گفته می‌شود.

نکته: در sqlserver یوزر و schema از همدیگه جدان و ما schema جدا بغیر از یوزر هم داریم که به یوزر کاری نداره. در حقیقت دیتابیس یه نوع schema است.

بخش‌بندی DataBase

هر بانک اطلاعاتی شامل دو ساختار فیزیکی و منطقی است. ساختار فیزیکی همان فایل هایی هستند که بر روی هارد دیسک ذخیره می‌شوند (DataBase)، ساختار منطقی نیز دسترسی کاربران را به ساختار فیزیکی مقدور می سازد (DataBase Instance).

در حقیقت اطلاعات در قسمت Physical ذخیره میشه ولی تا لایه Logical بالا نباشه شما از لایه Phusical نمی‌تونید استفاده کنید. واکشی و ریختن اطلاعات از لایه یا بر لایه Phusical نیازمند بالا بودن بایه Logical است.

اگه بخوایم خیلی ساده بیان کنیم لایه Loical روی CPU و RAM شماست و لایه Physical روی هارد دیسک شماست.

برای اینکه بخوایم به هارد دسترسی داشته باشیم حتماً باید از CPU, RAM استفاده کنیم تا بتونیم یه پردازشی رو استارت کنیم.

نکته:در زمانهایی اگر بیان کردیم instance بالاست یا پایینه منظورمون لایه Logical است.

همچنین در نکاهی کلی اگر instance پایین باشه شما نمی‌تونید با دیتابیس در ارتباط باشید حتی اگه لایه Physical وجود داشته باشه.

ادامه مطلب...
۲۱ اسفند ۹۳ ، ۰۹:۵۸ ۲ نظر
مهدی غفاری

مفاهیم پایه بانک‌اطلاعاتی

به اطلاعات زیر دقت کنید:

نام فامیل شهر
مهدی غفاری تهران
احسان جلالی تهران
فرزاد کارخانی تهران

تعریف داده(Data): به موجودیت مهدی یا جلالی یا تهران داده می‌گویند.

تعریف فیلد(Field): به موجودیتی که درون خودش داده رو ذخیره میکنه فیلد می‌گویند. مثل: نام، فامیل، شهر

تعریف رکورد(Record): به مجموعه‌ای از داده‌ها که در کنار هم قرار بگیرن و یک موجودیت رو تفسیر کنن رکورد می‌گویند. مثل: مهدی غفاری تهران که مهدی غفاری رو تفسیر میکنه

تعریف جدول(Table): به مجموعه فیلدها جدول می‌گویند.

ادامه مطلب...
۲۱ اسفند ۹۳ ، ۰۹:۵۶ ۳ نظر
مهدی غفاری