لینوکس و شبکه

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

۱۲ مطلب در بهمن ۱۳۹۶ ثبت شده است

۲۸
بهمن

گذاشتن کامنت در اول چندین خط به صورت همزمان

ابتدا یک فایل متنی را در برنامه vim  باز نمایید
در ابتدای محدوده  ctrl+v  را بزنید و سپس محدوده را مشخص نمایید و سپس دکمه  Shift+I را بزنید تا به حالت insert mode بروید -در حالت insert mode کاراکتر # را در ابتدای محدوده تایپ کنیدو سپس ESC را بزنید-هم اکنون کل محدوده تبدیل به کامنت شده است


نکته: با کاراکتر e به انتهای کلمه خواهید رفت

نکته: با de کلمه جاری را پاک خواهید کرد

  • behrooz mohamadi nsasab
۲۷
بهمن

در حین نصب ویندوز اگر کلید F10 را به همراه Shift بزنید، پنجره مشکی رنگ CMD باز خواهد شد و در آن میتوانید فعالیت نمایید

  • behrooz mohamadi nsasab
۲۲
بهمن

1-IP(OnBoot-Permanent)-dhcp-debian

 

    vim /etc/network/interfaces
    • auto eth0
    • iface eth0 inet dhcp
    sudo /etc/init.d/networking restart

       

      2-IP(OnBoot-Permanent)-static-debian

       

        vim /etc/network/interfaces
        • auto eth0
        • iface eth0 inet static
        • address 192.168.50.2
        • netmask 255.255.255.0
        • gateway 192.168.50.1
        • dns-nameservers 192.168.200.1
        sudo /etc/init.d/networking restart

           

          3-IP(OnBoot-Permanent)-dhcp-redhat

           

           

            vim /etc/sysconfig/network-scripts/ifcfg-eth0
            • DEVICE=eth0
            • TYPE=Ethernet
            • ONBOOT=yes
            • BOOTPROTO=dhcp
            • IPV4_FAILURE_FATAL=yes
            • NAME="System eth0"

            service network restart

            or

            nmcli dev disconnect ${device}
            nmcli con reload ${device}
            nmcli con up ${device}

            4-IP(OnBoot-Permanent)-static-redhat

             

              vim /etc/sysconfig/network-scripts/ifcfg-eth0
              • DEVICE="eth0"
              • BOOTPROTO=static
              • ONBOOT=yes
              • TYPE="Ethernet"
              • IPADDR=192.168.50.2
              •  NAME="System eth0"
              •  HWADDR=00:0C:29:28:FD:4C
              • GATEWAY=192.168.50.1
              • [PEERDNS=no  (then add DNS to /etc/resolv.conf)]
              •  or [DNS1=8.8.8.8] and 
              • [DNS2=8.8.4.4]]

              service network restart

              or

              nmcli dev disconnect ${device}
              nmcli con reload ${device}
              nmcli con up ${device}

              5-VirtualIP-(OnBoot-Permanent)-debian-static

               

                vim /etc/network/interfaces [append]
                • iface eth0:0 inet static
                • address 123.123.22.22
                • netmask 255.0.0.0
                • broadcast 123.255.255.255
                /etc/init.d/networking restart

                   

                   

                  6-VirtualIP-(OnBoot-Permanent)-debian-DHCP

                    vim /etc/network/interfaces [append]
                    • iface eth0:0 inet dhcp
                    /etc/init.d/networking restart

                       

                      7-virtualIP-(OnBoot-Permanent)-Redhat-static

                       

                        vim  /etc/sysconfig/network-scripts/ifcfg-eth0:0
                        • DEVICE=eth0:0
                        • IPADDR=123.123.22.22
                        • NETMASK=255.0.0.0
                        • NETWORK=123.0.0.0
                        • BROADCAST=123.255.255.255
                        • ONBOOT=yes

                        service network restart

                        or

                        nmcli dev disconnect ${device}
                        nmcli con reload ${device}
                        nmcli con up ${device}

                         

                        8-virtualIP-(OnBoot-permanent)-Redhat-DHCP

                         

                          vim  /etc/sysconfig/network-scripts/ifcfg-eth0:0
                          • DEVICE=eth0:0
                          • BOOTPROTO=dhcp
                          • ONBOOT=yes

                          service network restart

                          or

                          nmcli dev disconnect ${device}
                          nmcli con reload ${device}
                          nmcli con up ${device}

                           

                          9-IP(Not permanent)-ifconfig

                          • ifconfig -a                                                               #show all Interface and details
                          • ifconfig enp6s0 down                                            #set off interface
                          • ifconfig enp6s0 up                                                 #set on interface
                          • ifconfig enp6s0 192.168.2.24                                #set ip to interface
                          • ifconfig enp6s0 netmask 255.255.255.0                #set subnetmask
                          • ifconfig enp6s0 mtu 9000                                      #set mtu
                          • ifconfig enp6s0:0 192.168.2.25                             #set secondary ip (virtual)
                          • ifconfig eth0:0 down                                              #set off virtual ip
                          •  

                           

                          10-IP(Not permanent)-ip

                          • ip a                                                                         #show all Interface and details
                          • ip link set eth0 down                                             #set Off interface
                          • ip link set eth0 up                                                  #set on interface
                          • ip addr add 192.168.2.24/24 dev eth0                    #set ip to interface
                          • ip link set eth0 mtu 9000                                       #set mtu
                          • ip addr del 192.168.1.1/24 dev eth0                       #set Off interface
                          • ip addr show eth0
                           
                           
                           

                          نکته: از دستور زیر برای استفاده در توزیع‌های ردهت استفاده می‌شود:

                          system-config-network-tui
                          نکتنه: میتوانیم با دستور زیر برنامه‌ای در CentOS6 نصب کنیم تا بتوانیم توسط آن کارت شبکه را تنظیم نماییم:
                          yum intall system-config-network
                          • behrooz mohamadi nsasab
                          ۲۲
                          بهمن
                          می‌توان آدرس مک(یا همان physical address) یک اینتر فیس را تغییر داد
                          ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF

                          • behrooz mohamadi nsasab
                          ۱۶
                          بهمن

                          sudo nmblookup -A  IP | grep '<00' | grep -v GROUP | awk '{print $1}'

                          • behrooz mohamadi nsasab
                          ۱۶
                          بهمن

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

                          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
                          ۱۶
                          بهمن

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

                          1. با یک لینوکس فایل system32/sethc را rename  کرده و به یک نام دیگر تغییر دهید
                          2. cp /system32/cmd.exe  sethc.exe
                          3. حال اگر 5 بار شیفت را بزنید یک cmd برایتان باز میشود
                          4. در آن اقدام به ریست پسورد یوزر نمایید
                          5. net user USERNAME NEWPASSWORD
                          6. سیستم را ریست نمایید
                          • behrooz mohamadi nsasab
                          ۰۹
                          بهمن

                          برای ارسال ایمیل از از طریق ترمینال باید با دستور زیر بسته های ذیل را نصب نمایید:

                          sudo apt-get install ssmtp mailutils


                          سپس فایل زیر را باز کرده ومحتویات آن را مطابق زیزر تغییر دهید:

                          cat /etc/ssmtp/ssmtp.conf |grep -v -E ^#|grep .
                          root=postmaster
                          mailhub=smtp.gmail.com:587
                          hostname=oldpc
                          UseTLS=Yes
                          UseSTARTTLS=Yes
                          AuthUser=alertbehrooz@gmail.com
                          AuthPass=*******
                          FromLineOverride=YES

                          همچنین با دستور زیر ایمیل دلخواه خود را ارسال نمایید:
                          echo "TextBody" | mail -s "subject"  behroozmohammadinasab@gmail.com

                          URL1

                          URL2

                          URL3

                          URL4

                          • behrooz mohamadi nsasab
                          ۰۸
                          بهمن
                          برای اجرای یک دستور در یک یوزر خاص از دستور زیر استفاده میشود:
                          sudo -u USERNAME bash -c 'command'

                          • behrooz mohamadi nsasab
                          ۰۸
                          بهمن

                          برای ذخیره خروجی یک ترمینال از دستور script استفاده نمایید:

                          script FILENAME.txt

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


                          Link

                          • behrooz mohamadi nsasab
                          ۰۸
                          بهمن

                          از برنامه sshpass برای ssh  زدن استفاده میشود به نحوی که در همان لحظه که ssh زده میشود، پسورد نیز خودکار و ارد شده و لاگین صورت گیرد و منتظر  وارد کردن پسورد نشود:

                          ابتدا آن را نصب نمایید؟:

                          sudo apt-get install sshpass

                          sudo yum install  sshpass

                          syntax استفاده از این برنامه (دستور به شکل زیراست):

                          sshpass -p PASSWORD  ssh USERNAME@IP -p port

                          اگر بخواهید از طریق یک سرور به سرور دوم ssh بزنید (از طریق برنامه sshpass-یعنی دراتصال هردو ssh نیاز به زدن پسورد نباشد) باید در سرور واسط برنامه sshpass نصب شده باشد و همچنین از دستور زیر استفاده نمایبد:

                          sshpass -p "پسوردسرورواسط" ssh -t USENAME@IP(سرورواسط) sshpass -p "پسوردسرورمقصد" ssh USERNAME@IP(سرور دوم)

                          • behrooz mohamadi nsasab