لینوکس و شبکه

لینوکس و شبکه
طبقه بندی موضوعی
آخرین مطالب
  • ۹۸/۱۲/۱۴
    bond
  • ۹۸/۱۰/۲۰
    GIT
  • ۹۸/۱۰/۱۴
    DISK

۸ مطلب در آذر ۱۳۹۶ ثبت شده است

۱۸
آذر

نکته: با دستور yum repolist می توانید لیست مخازن را ببینید.

 

install:

Install a package or packages on your system(yum install package

update:

Update a package or packages on your system(yum update package

remove:

Remove the packages(yum remove package

groupinstall:

Install the packages in a group on your system(yum groupinstall "X Window System"

$ sudo yum groupinstall 'Development Tools'

 groupinfo:

Displays detailed information about a group.

$ yum group info "Development Tools"

grouplist:

Lists installed groups and groups that are available for installation.

yum  grouplist
OUTPUT:
Last metadata expiration check: 0:02:06 ago on Mon 21 Dec 2020 02:48:04 PM +0330.
Available Environment Groups:
   Server with GUI
   Server
   Workstation
   KDE Plasma Workspaces
   Virtualization Host
   Custom Operating System
Installed Environment Groups:
   Minimal Install
Installed Groups:
   Development Tools
Available Groups:
   Container Management
   .NET Core Development
   RPM Development Tools
   Graphical Administration Tools
   Headless Management
   Legacy UNIX Compatibility
   Network Servers
   Scientific Support
   Security Tools
   Smart Card Support
   System Tools
   Fedora Packager
   Xfce

 

groupupdate:

Update the packages in a group on your system(yum groupupdate "X Window System"

groupremove:

Remove the packages in a group from your system(yum groupremove "X Window System"

list:

List a package or groups of packages(yum list

⇒ display packages that is possible to install(yum list installed

⇒ display installed packages

check-update:

Check for available package updates(yum check-update

info:

Display details about a package or group of packages(yum info package

search

Search package details for the given string(yum search keyword

deplist:

List a package's dependencies(yum deplist package

group info:

show detail of group packages

option:

-y answer yes for all questions(yum -y install package

--enablerepo=repo enable one or more repositories(temporarily disabled) (wildcards allowed)(yum --enablerepo=repo install package

--disablerepo=repo disable one or more repositories(temporarily disabled) (wildcards allowed)(yum --disablerepo=<repoid> install package

--exclude=package exclude package(s) by name or glob(yum --exclude=package update

--noplugins disable Yum plugins(yum --noplugins update

 

1-Disable the repository permanently, so yum won't use it by default. Yum will then just ignore the repository until you permanently enable it again or use --enablerepo for temporary usage:

[yum-config-manager --disable <repoid>]  or  [subscription-manager repos --disable=<repoid>]

 

2-Configure the failing repository to be skipped, if it is unavailable.

Note that yum will try to contact the repo. when it runs most commands, so will have to try and fail each time (and thus. yum will be be much slower). If it is a very temporary problem though, this is often a nice compromise:

yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

 
  • behrooz mohamadi nsasab
۰۳
آذر

دستورات جالب و خنده‌دار ترمینال لینوکس

Sl
لوکوموتیو در حال حرکت
نصب:

# apt-get install sl        (In Debian like OS)
# yum  -y install sl        (In RedHat like OS)

بازدن دستور زیر در خروجی یک لوکوموتیو در حال حرکت را خواهید دید.

Sl

cowsay

نمایش گاو وعبارت دلخواه جهت شوخی و جذابیت ( در صفحه خط فرمان)

# cowsay i love seclinux

خروجی:

 _________________
< i love seclinux >
 -----------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||



toilet

نمایش عبارت با استفاده از کاراکترهای خاص

toilet SALAM

برای اعلام اختار در سرور برای دیگران

toilet LOTFAN DAST NAZANID |wall


cowthink
نمایش گاو در صفحه خط فرمان (همانند دستور cowsay)

cmatrix

نمایش کاراکتر ها بصورت باران



oneko

نصب:

apt-get install oneko

ظاهر شدن یک موش در صفحه گرافیکی که مکان نمای موس را دنبال می‌کند.

Oneko




قطعه کد جالب نمایش زمان بصورت رنگی

زمان بصورت رنگی در صفحه ترمینال

while true; do echo "$(date '+%D %T' | toilet -f term -F border --gay)"; sleep 1; done

شکل دیگر از دستور بالا

while true; do clear; echo "$(date '+%D %T' | toilet -f term -F border --gay)"; sleep 1;

done

خواندن متن توسط صدا

پخش صدا

espeak "Linuxzone is a very good website dedicated to Foss Community"



نمایش آتش در صفحه ترمینال

aafire

هواشناسی

curl http://wttr.in/tehran

دستور bb

sudo apt-get install bb

با نصب آن وارد محیط جدید شده و میتوان صدای موسیقی را اجرا کرد و لذت برد




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

root@tecmint:~# apt-get install libcurses-perl
cd /tmp
wget http://search.cpan.org/CPAN/authors/id/K/KB/KBAUCOM/Term-Animation-2.4.tar.gz
tar -zxvf Term-Animation-2.4.tar.gz
cd Term-Animation-2.4/
perl Makefile.PL &&  make &&   make test
make install

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

cd /tmp
wget http://www.robobunny.com/projects/asciiquarium/asciiquarium.tar.gz
tar -zxvf asciiquarium.tar.gz
cd asciiquarium_1.1/
cp asciiquarium /usr/local/bin
chmod 0755 /usr/local/bin/asciiquarium

و در پایان " asciiquarium" یا " /usr/local/bin/asciiquarium" را اجرا کنید، بدون اینکه سحر و جادویی در کار باشد، در مقابل چشمان شما رخ خواهد داد.

asciiquarium



ساعت در TTY
نصب برنامه ساعت در TTY

Sudo apt-get install tty-clock

مشاهده ساعت دیجیتالی در TTY

tty-clock -s


دستور rev مخفف Reverse

این دستور، هر رشته ای را که به آن داده شود، معکوس می کند.

root@tecmint:~# rev

123abc
cba321


xuniL eb ot nrob
born to be Linux


وب‌سایت  بازی برای یادگیری دستورات vim :   آدرس لینک

  • behrooz mohamadi nsasab
۰۳
آذر

Examples

$ grep    Expression File.txt

Search in file

$ grep    [ -F, --fixed-strings]    Expression File.txt

grep -F = fgrep

list of fixed string PATTERN (instead of regular expressions),

separated by newlines(any  of  which  is  to  be matched)

$ grep –E “……”

هر چیز شش حرفی(اگر بیشتر هم شد اشکال ندارد فقط شش تا باشد)

$ cat فایل |grep  -e Expression1 -e Expression2

search Multi pattern

$ grep     -E   Expression   =   egrep     Expression
both is equal
$ grep ^Expression file
start with Expression
$ grep [0-9] file
All lines have number
$ grep Expression -R Directory
Search in all files in Directory looking for pattern

Switch

[-n, --line-number] #Show line number
[-i, --ignore-case               #Ignore case distinctions in  both  the  PATTERN  and  the  input files.
]

  • behrooz mohamadi nsasab
۰۳
آذر

از این دستور می توان برای سرچی دقیق تر استفاده کرد . به این صورت که واقعا تک تک دایرکتوری ها را به صورت آنلاین جست و جو می کند
جستجوی یکی یکی فایل ها برای پیدا شدن فایل مورد نظر (برخلاف locate)

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

find    .    -name    “f*”

جستجو کرده و رکوردهای جستجو شده را پاک کند

find    آرگومانهای ورودی    -delete

جستجوی فایل و دایرکتوری در داخل پارتیشن لینوکس ( root )

find / -name file1

جستجوی فایل و دایرکتوری متعلق به user1

find / -user user1

جستجوی فایل های با پسوند bin در داخل دایرکتوری home/user1

find /home/user1 -name \*.bin

جستجوی فایل های باینری که در ۱۰۰ روز گذشته استفاده نشده اند

find /usr/bin -type f -atime +100

جستجوی فایل های ایجاد شده با تغییر کرده در طول ۱۰ روز گذشته

find /usr/bin -type f -mtime -10

جستجوی فایل های با پسوند rpm و تغییر مجوز آنها !

find / -name *.rpm -exec chmod 755 '{}' \;

جستجوی فایل های با پسوند mp3 و حذف آنها !

# find . -type f -name "*.mp3" -exec rm -f {} \;

جستجوی فایل های با پسوند rpm بدون جستجو در پارتیشن های جداشدنی مانند سی دی رام , حافظه فلش و ...

find / -xdev -name \*.rpm

پیدا کردن تمامی فایل های با پسوند log و ساختن یک فایل فشرده با فرمت bzip از آن‌ها find

/var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2

پیدا کردن همه ی فایل های با پسوند txt و کپی آنها از یک دایرکتوری به دایرکتوری دیگر

find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents

نمایش تمام فایلهایی که پیدا شده(\ یعنی اتمام دستور)({} یعنی در اینجا پیدا شده ها را قرار بده)

جستجوی مسیرها و فایل ها    -exec    ls    -ltrh    “{}”    \

پاک کردن  تمام فایلهایی که پیدا شده(\ یعنی اتمام دستور)({} یعنی در اینجا پیدا شده ها را قرار

بده)

جستجوی  مسیرها و فایل ها    -exec    rm    “{}”    \

نمایش همه ی فایل ها داخل پارتیشن لینوکس ( / ) که دارای مجوز مورد نظر هستند

find / -perm -u+s

از سویچ iname- برای مشخص کردن اسم فایل استفاده می کنیم

find ~/Desktop -iname "*pazhoheshi*"

از سویچ inum- برای سرچ عدد Inode ای خاص در تمامی فایل ها و دایرکتوری ها استفاده می کنیم

find ~ -inum 1723181

از سویچ perm- برای پیدا کردن تمامی فایل ها و دایرکتوری ها با پرمیشنی مشخص استفاده می کنیم

find /usr -perm 4755

توجه داشته باشید که علامت – قبل از عدد 4000 به مفهوم پیدا کردن تمامی فایل ها و دایرکتوری

هایی است که پرمیشنی بیش تر از 4000 دارد

find /usr -perm -4000

ابتدا با استفاده از سویچ -iname به دنبال تمامی فایل هایی با پسوند c می گردیم سپس به Group همه ی آن ها پرمیشن نوشتن یا همان write را اضافه می کنیم .

find ~/src -iname "*.c" -exec chmod g+w {} \;

ابتدا با استفاده از سویچ iname- تمامی فایل ها با پسوند conf در مسیر etc/ را پیدا کرده سپس تمام آن ها را در مسیر config/~ کپی می کنیم .

find /etc -iname "*.conf" -exec cp {} ~/config \;

جستجوی فایل‌هایی که خالی اند

# find /tmp -type f -empty


سوییچ‌های دستور find:


iname           “ “

غیر حساس به حروف کوچک و بزرگ

iname          “???”

غیر حساس بخه حروف کوچک و بزرگ و جستجوی فایل های سه حرفی

type          d

جستجو براساس دایرکتوری(تمام دایرکتوری ها را می گردد)

type          f

جستجوی فایل

type          l

جستجوی لینک

size          100b

جستجوی فایل با حجم دقیقاً 100 بایت

size          +100b

جستجوی فایل با حجم بزرگتر از 100 بایت

Size          +1G

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

size          0

فایل با حجم صفر

(-atime)

جستجو بر اساس آخرین زمان دسترسی access Time

(-ctime)

جستجو بر اساس دسترسی از نوع change attribute نظیر owner، copy، touch و ...

 (-mtime)

آخرین دسترسی براساس تغییر در محتوا (modify)

-atime          +6

تغییرات در access time  آن قدیمی تر از 6 روز باشد، بیشتر از شش روز اخیر

-atime          -6

تغییرات در access time  آن جدیدتر از 6 روز باشد، زمان کمتری از شش روز اخیر گذشته باشد(منفی بیانگر از زمان x تا حالا است)

-atime          +1

تغییرات در access time  آن قدیمی تر از 1 روز باشد، فایل هایی که دیروز تا امروز روی آن کار شده(امروز دست به فایل ها نخورده باشد)

-atime          +4

تغییرات در access time  آن قدیمی تر از 4 روز باشد، بیشتر از چهار روز اخیر، مثلاً هفت روز قبل

-atime          -1

فایل هایی که امروز دست زده ایم، تا به لحظه حالا(جدیدتر از یک روز)

-amin          -40

فایل هایی با تغییر در access در 40 دقیقه قبل تا حالا

-cmin          -40

فایل هایی با تغییر در change در 40 دقیقه قبل تا حالا

-mmin          -40

فایل هایی با تغییر در modify در 40 دقیقه قبل تا حالا


  • 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
۰۳
آذر

ساختار داخلی فایل inittab

فایلی که تنظیم میکند، پردازش ها در کدام Run Level و در چه حالتی اجرا شوند

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

ID : RunLevel : Action : Process
ID : نام دلخواه، می بایست بیشتر از یک کاراکتر باشد.
Run Level : پردازش در چه حالتی باشد، اگر خالی بماند به منزله همه Run Level ها می باشد.
Action:
Respown:درصورت توقف مجدداً خودکار start  شود
wait: اجرابشود اما درصورتی که پردازش تمام نشده باشد فعالیتی صورت نگیرد
once: فقط یکبار پردازش اجرا بشود
initDefault: کلمه رزرو شده

حالتCtrl+Alt+Del

مثال: با فشردن کلیدهای ترکیبی Ctrl+Alt+Del عمل ریست صورت میگیرد:

ca : : CtrlAltDel : /sbin/shutdown –t3 –r now

  • behrooz mohamadi nsasab
۰۳
آذر

بهترین راه خاموش کردن سرورهای لینوکس است، زیرا به تمام کاربران Login شده سرور اطلاع رسانی می‌نماید (ارسال و نمایش پیغام)

همچنین از Login  کاربر جدید جلوگیری به عمل آورده و سیگنالی به init  ارسال می‌نماید تا Run Level  تغییر نماید و پس از آن سیگنال دیگری ( سیگنالSIGTERM ) به تمامی Process های Run شده روی سرور ارسال مینماید که  توسط آن مهلت چند ثانیه ای ذخیره اطلاعات Save نشده و آماده سازی برایkill شدن به پردازش ها میدهد..
در نهایت پس از گذشت  مدت زمان مهلت داده شده، در صورتی که هنوز پردازشی باقی مانده باشند، سیگنال kill  شدن بصورت Force  به آن ارسال می‌شود  (سیگنال SIGKILL ) و در این حالت سیستم خاموش خواهد شد.

Switch ها:

  • c- : غیرفعال شدن اثر دستوات Shutdown (درصورت تنظیم موعد خاموش شدن سیستم، آن را کنسل میکند)
  • h- : برای خاموش کردن سیستم
  • k- : فقط برای فرستادن پیغام به تمامی یوزر های فعال
  • r- : برای ریست کردن سیستم


خاموش شدن سیستم بعد از وقفه کوتاه

# shutdown

تغییر حالت Run Level به شماره 0  (shutdown ) بعد از وقفه کوتاه

# shutdown -h

تغییر حالت Run Level به شماره 6  (Restart ) بعد از وقفه کوتاه

# shutdown –r

تغییر حالت Run Level به شماره 6 (Restart ) در لحظه فعلی (هم اکنون)

# shutdown –r now

تغییر حالت Run Level به شماره 6 (Restart )بعد از وقفه دو دقیقه

# shutdown –r 2

تغییر حالت Run Level به شماره 6 (Restart )بعد از وقفه دو دقیقه  همراه با نمایش پیغام (متنComment برای تمامی کاربران Broadcast می گردد.)

# shutdown –r 2 “Comment”

تغییر حالت Run Level به شماره 6 (Restart )دقیقا در زمان 18:23

# shutdown –r 18:23

تغییر حالت Run Level به شماره 6 (Restart )بعد از وقفه 9 ثانیه

# shutdown –r -t 9

تغییر حالت Run Level به شماره 6 (Restart )بعد از وقفه 15 دقیقه

# shutdown -r +15

متوقف نمودن (cancel ) پروسه shutdown ، درصورت تنظیم موعد shutdown آنرا کنسل میکند

# shutdown –c

سایر دستورها

تغییر Run Level به شماره شش(restart نمودن سیستم عامل)

# reboot

تغییر Run Level به شماره صفر(خاموش نمودن سیستم عامل)

# halt

همچنین

# poweroff

خروج از وضعیت Login سیستم و بازگشت به صفحه (خط)Login جهت ورود مجدد

# logout

  • behrooz mohamadi nsasab