لینوکس و شبکه

لینوکس و شبکه
طبقه بندی موضوعی
آخرین مطالب
  • ۹۹/۱۱/۱۳
    java

۴ مطلب با کلمه‌ی کلیدی «ubuntu» ثبت شده است

۱۶
بهمن

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

sudo sed -i 's/OLD/NEW/g' FILENAME

عبارت اول  یا عبارت دوم:

sudo sed -i 's/OLD|accent/NEW/g' FILENAME

حذف کاراکترهای اضافی مخفی (نظیر برنامه dos2unix)

# sed -i 's/\r//' myfile.txt

گرفتن بک آپ و بعد تغییر در فایل(بادستور زیر یک فایل با پسوند orig میسازد و سپس تغییرات را انجام میدهد-در این حالت دو فایل داریم)

sed -i'.orig' 's/this/that/gi' myfile.txt

نمای خطی که در آن کلمه   word آمده باشد

sed -n '/WORD/p'

تبدیل چند تا اسپیس به یک اسپیس در متن

sed -e 's/  */ /g' فایل

حذف خطی که در آن کلمه word  یافت شود(i  برای این است که در فایل تغییر کند-اگر نباشد تغییر در فایل رخ نداده و فقط در خروجی مشاهده خواهد شد)

sed -i '/WORD/d' فایل

پاک کردن خط اول

sed '1d' test

  • $ sed '3d' file #Delete 3rd line 
  • $ sed '$d' file #Delete the last line
  • $ sed '2,4d' file # Delete a range of lines(from 2nd line till 4th line)
  • $ sed '2,4!d' file #Delete lines other than the specified range, line other than 2nd till 4th here-پاک کردن همه خطوط بجز خطوط ذکر شده
  • $ sed '1d;$d' file #Delete the first line AND the last line of a file
  • $ sed '/^L/d' file #Delete all lines beginning with a particular character: 'L'  
  • $ sed '/x$/d' file #Delete all lines ending with a particular character, 'x' حرف مورد نظر
  • $ sed '/[xX]$/d' file #Delete all lines ending with either x or X,  i.e case-insensitive delete
  • $ sed '/^$/d' file #Delete all blank lines in the file
  • $ sed '/^ *$/d' file #Delete all lines which are empty or which contains just some blank spaces
  • $ sed '/^[A-Z]*$/d' file #Delete all lines which are entirely in capital letters:
  • $ sed '/Unix/d' file # Delete the lines containing the pattern 'Unix'
  • $ sed '/Unix/!d' file #Delete the lines NOT containing the pattern 'Unix'
  • $ sed '/Unix\|Linux/d' file #Delete the lines containing the pattern 'Unix' OR 'Linux'
  • $ sed '1,/Linux/d' file #Delete the lines starting from the 1st line till encountering the pattern 'Linux'
  • $ sed '/Linux/,$d' file # Delete the lines starting from the pattern 'Linux' till the last line
  • $ sed '${/AIX/d;}' file #Delete the last line ONLY if it contains the pattern 'AIX'
  • $ sed '${/AIX\|HPUX/d;}' file #Delete the last line ONLY if it contains either the pattern 'AIX' or 'HPUX'
  • $ sed '1,4{/Solaris/d;}' file #Delete the lines containing the pattern 'Solaris' only if it is present in the lines from 1 to 4
  • $ sed '/Unix/{N;d;}' file #Delete the line containing the pattern 'Unix' and also the next line
  • $ sed '/Unix/{N;s/\n.*//;}' file #Delete only the next line containing the pattern 'Unix', not the very line
  • $ sed -n '/Linux/{s/.*//;x;d;};x;p;${x;p;}' file | sed '/^$/d' #Delete the line containing the pattern 'Linux', also the line before the pattern
  • $  sed -n '/Linux/{x;d;};1h;1!{x;p;};${x;p;}' file #Delete only the line prior to the line containing the pattern  'Linux', not the very line
  • $ sed -n '/Linux/{N;s/.*//;x;d;};x;p;${x;p;}' file | sed '/^$/d' #Delete the line containing the pattern 'Linux', the line before, the line after

  • behrooz mohamadi nsasab
۱۶
بهمن

اگر بخواهیم در سرور لاگ تولید شود و به مسیر

/var/log/message.log

برور میتوان از دستور زیر استفاده کرد

/usr/bin/logger -t TILE  "متن"


همچنین با نصب برنامه lnav می‌توان لاگهای سرور را به راحتی مشاهده کرد:

sudo apt-get install lnav

sudo lnav /var/log

همچنین اگر بخواهیم بصورت دستی در مسیری دلخواه لاگ تولید کنیم می‌توانیم از تابع زیر استفاده نماییم

print_log () {
    MESSAGE=$1                                                             # Title for log

    TIME=$(date +%Y/%m/%d-%H:%M:%S)                      # Get Tile

    echo "$TIME ---- $MESSAGE" >> مسیرنگهداری لاگها          # Add log message to file

}

  • behrooz mohamadi nsasab
۰۳
آذر

با استفاده از این دستور  می توان در کل فایل سیستم به دنبال فایلی گشت . این دستور برای خود یک دیتابیس دارد که مسیر تمامی فایل ها و دایرکتوری ها را در خود دارد , طبیعتا اگر فایلی یا دایرکتوری ای به فایل سیستم اضافه شود دیگر با استفاده از این دستور پیدا نمی شود چرا که آدرس آن درون دیتابیس وجود ندارد
جستجوی سریع و کامل، برخلاف find که کند است و جهت مطابقت یکی یکی فایلها چک میکند،
دستور locate اطلاعات را از درون یک database که بصورت ofline است میخواند و مطابقت هارا از درون آن رکوردهای دیتابیس چک میکند
معمولا آپدیت شدن دیتابیس روزی یکبار انجام میشود و معمولا با دستورهای برنامه crown به اجرا درمی آید.

جستجوی کامل فایل سیستم جهت بروز رسانی database

updatedb

جستجوی فایل

locate     نام فایل

دیدن فایلهای دیتابیس

locate     -S

تنظیمات جستجوی دیتابیس در این فایل است

/etc/updated.conf

  • behrooz mohamadi nsasab
۰۳
آذر

 hibernate
نکته: دستور زیر ممکن است در توزیع‌های متنوع لینوکس متفاوت باشد.
با دستور زیر سیستم به حالت Hibernate خواهد رفت

# pm-hibernate

افزودن منوی hibernate به سیستم عامل Ubuntu

ابتدا یک فایل در مسیر زیر ایجادکرده و محتویات ذیل را درون آن قرار دهید:

/etc/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla

محتویات داخل فایل:

[Enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes

  • behrooz mohamadi nsasab