Hati 5 za Shell za Linux Wapya Kujifunza Utayarishaji wa Shell - Sehemu ya II


Ili Kujifunza kitu unahitaji kukifanya, bila hofu ya kutofanikiwa. Ninaamini katika vitendo na kwa hivyo nitakuwa nikikusindikiza kwa ulimwengu wa vitendo wa Lugha ya Kuandika.

Makala haya ni nyongeza ya makala yetu ya Kwanza Fahamu Shell ya Linux na Uandishi wa Msingi wa Shell - Sehemu ya I, ambapo tulikupa ladha ya Maandishi, tukiendelea kwamba hatutakukatisha tamaa katika makala haya.

Hati 1: Kuchora Mchoro Maalum

#!/bin/bash
MAX_NO=0
echo -n "Enter Number between (5 to 9) : "
read MAX_NO
if ! [ $MAX_NO -ge 5 -a $MAX_NO -le 9 ] ; then
   echo "WTF... I ask to enter number between 5 and 9, Try Again"
   exit 1
fi
clear
for (( i=1; i<=MAX_NO; i++ )) do     for (( s=MAX_NO; s>=i; s-- ))
    do
       echo -n " "
    done
    for (( j=1; j<=i;  j++ ))     do      echo -n " ."      done     echo "" done ###### Second stage ###################### for (( i=MAX_NO; i>=1; i-- ))
do
    for (( s=i; s<=MAX_NO; s++ ))
    do
       echo -n " "
    done
    for (( j=1; j<=i;  j++ ))
    do
     echo -n " ."
    done
    echo ""
done
echo -e "\n\n\t\t\t Whenever you need help, linux-console.net is always there"

Mengi ya ‘maneno muhimu’ yaliyo hapo juu yatajulikana kwako na mengi yao yanajieleza. k.m., MAX huweka kiwango cha juu cha thamani ya kutofautisha, kwa maana ni kitanzi na chochote ndani ya kitanzi huanza kutekeleza tena na tena hadi kitanzi kihalalike kwa thamani fulani ya ingizo.

 chmod 755 Special_Pattern.sh
 ./Special_Pattern.sh
Enter Number between (5 to 9) : 6
       .
      . .
     . . .
    . . . .
   . . . . .
  . . . . . .
  . . . . . .
   . . . . .
    . . . .
     . . .
      . .
       .

                         Whenever you need help, linux-console.net is always there

Ikiwa unajua kidogo lugha yoyote ya programu, kujifunza script hapo juu si vigumu, hata kama wewe ni mpya kwa computation, programu na Linux haitakuwa vigumu sana.

Hati ya 2: Kuunda Hati Yenye Rangi

Nani anasema, Linux haina rangi na inachosha, hifadhi misimbo iliyo hapa chini kwa kitu chochote [dot] sh, ifanye itekelezwe na Uiendeshe, usisahau kuniambia jinsi ilivyokuwa, Fikiri unachoweza kufikia, ukitekeleza mahali fulani.

#!/bin/bash
clear 
echo -e "33[1m Hello World"
# bold effect
echo -e "33[5m Blink"
# blink effect
echo -e "33[0m Hello World"
# back to normal
echo -e "33[31m Hello World"
# Red color
echo -e "33[32m Hello World"
# Green color
echo -e "33[33m Hello World"
# See remaining on screen
echo -e "33[34m Hello World"
echo -e "33[35m Hello World"
echo -e "33[36m Hello World"
echo -e -n "33[0m"
# back to normal
echo -e "33[41m Hello World"
echo -e "33[42m Hello World"
echo -e "33[43m Hello World"
echo -e "33[44m Hello World"
echo -e "33[45m Hello World"
echo -e "33[46m Hello World"
echo -e "33[0m Hello World"

Kumbuka: Usijisumbue kuhusu msimbo wa rangi sasa, Wale muhimu kwako watakuwa kwenye ulimi wako, hatua kwa hatua.

Onyo: Terminal yako inaweza kukosa huduma ya kufumba na kufumbua.

 chmod 755 Colorfull.sh
 ./Colorfull.sh

Hello World
Blink
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World

Hati 3: Simba Faili/saraka kwa njia fiche

Hati hii itasimba faili kwa njia fiche (kumbuka? saraka/kiendeshaji/…. kila kitu kinachukuliwa kama faili, katika Linux). Kizuizi cha sasa cha hati iliyo hapo juu ni kwamba haiauni ukamilishaji otomatiki wa jina kwa kutumia TAB. Zaidi ya hayo, unahitaji kuweka hati na faili ili kusimbwa kwa njia fiche kwenye folda moja. Huenda ukahitaji kusakinisha \pinentry-gui, kwa kutumia yum au apt kifurushi, ikihitajika.

 yum install pinentry-gui
 apt-get install pinentry-gui

Unda faili inayoitwa Encrypt.sh na uweke hati ifuatayo, ifanye itekelezwe na uiendeshe kama inavyoonyeshwa.

#!/bin/bash
echo "Welcome, I am ready to encrypt a file/folder for you"
echo "currently I have a limitation, Place me to thh same folder, where a file to be 
encrypted is present"
echo "Enter the Exact File Name with extension"
read file;
gpg -c $file
echo "I have encrypted the file successfully..."
echo "Now I will be removing the original file"
rm -rf $file

Sampuli ya Pato

 chmod 755 Encrypt.sh
 ./Encrypt.sh

Welcome, I am ready to encrypt a file/folder for you
currently I have a limitation, Place me to the same folder, where a file to be

encrypted is present
Enter the Exact File Name with extension

package.xml

                                                   ┌─────────────────────────────────────────────────────┐
                                                   │ Enter passphrase                                    │
                                                   │                                                     │
                                                   │                                                     │
                                                   │ Passphrase *******_________________________________ │
                                                   │                                                     │
                                                   │       <OK>                             <Cancel>     │
                                                   └─────────────────────────────────────────────────────┘

Please re-enter this passphrase

                                                   ┌─────────────────────────────────────────────────────┐
                                                   │ Please re-enter this passphrase                     │
                                                   │                                                     │
                                                   │ Passphrase ********________________________________ │
                                                   │                                                     │
                                                   │       <OK>                             <Cancel>     │
                                                   └─────────────────────────────────────────────────────┘

I have encrypted the file successfully...
Now I will be removing the original file
</pre>

gpg -c : Hii itasimba faili yako kwa njia fiche, kwa kutumia nenosiri aka nenosiri. Katika mchakato huu wa kujifunza haungewahi kufikiria kwamba mchakato halisi wa kujifunza unaweza kuwa rahisi kiasi hicho. Kwa hivyo baada ya kusimba faili unahitaji nini? Ni wazi! kusimbua faili. Na mimi nataka wewe - mwanafunzi, msomaji kuandika script decryption mwenyewe, usijali sikuwaacha katikati, nataka tu kupata kitu kutoka kwa makala hii.

Kumbuka: gpg -d filename.gpg > jina la faili ndilo unahitaji kutekeleza katika hati yako ya usimbuaji. Unaweza kuchapisha hati yako kwenye maoni ikiwa imefaulu, ikiwa sivyo unaweza kuniuliza nikuandikie.

Hati ya 4: Kukagua Utumiaji wa Seva

Kuangalia utumiaji wa seva ni moja wapo ya kazi muhimu ya msimamizi, na msimamizi mzuri ni yule anayejua jinsi ya kurekebisha kazi yake ya kila siku. Ifuatayo ni hati ambayo itatoa habari nyingi kama hizo kuhusu seva yako. Angalia mwenyewe.

#!/bin/bash
    date;
    echo "uptime:"
    uptime
    echo "Currently connected:"
    w
    echo "--------------------"
    echo "Last logins:"
    last -a |head -3
    echo "--------------------"
    echo "Disk and memory usage:"
    df -h | xargs | awk '{print "Free/total disk: " $11 " / " $9}'
    free -m | xargs | awk '{print "Free/total memory: " $17 " / " $8 " MB"}'
    echo "--------------------"
    start_log=`head -1 /var/log/messages |cut -c 1-12`
    oom=`grep -ci kill /var/log/messages`
    echo -n "OOM errors since $start_log :" $oom
    echo ""
    echo "--------------------"
    echo "Utilization and most expensive processes:"
    top -b |head -3
    echo
	top -b |head -10 |tail -4
    echo "--------------------"
    echo "Open TCP ports:"
    nmap -p- -T4 127.0.0.1
    echo "--------------------"
    echo "Current connections:"
    ss -s
    echo "--------------------"
    echo "processes:"
    ps auxf --width=200
    echo "--------------------"
    echo "vmstat:"
    vmstat 1 5
 chmod 755 Server-Health.sh
 ./Server-Health.sh

Tue Jul 16 22:01:06 IST 2013
uptime:
 22:01:06 up 174 days,  4:42,  1 user,  load average: 0.36, 0.25, 0.18
Currently connected:
 22:01:06 up 174 days,  4:42,  1 user,  load average: 0.36, 0.25, 0.18
USER     TTY      FROM              [email    IDLE   JCPU   PCPU WHAT
tecmint   pts/0    116.72.134.162   21:48    0.00s  0.03s  0.03s sshd: tecmint [priv]
--------------------
Last logins:
tecmint   pts/0        Tue Jul 16 21:48   still logged in    116.72.134.162
tecmint   pts/0        Tue Jul 16 21:24 - 21:43  (00:19)     116.72.134.162
--------------------
Disk and memory usage:
Free/total disk: 292G / 457G
Free/total memory: 3510 / 3838 MB
--------------------
OOM errors since Jul 14 03:37 : 0
--------------------
Utilization and most expensive processes:
top - 22:01:07 up 174 days,  4:42,  1 user,  load average: 0.36, 0.25, 0.18
Tasks: 149 total,   1 running, 148 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.0%sy,  0.0%ni, 99.3%id,  0.6%wa,  0.0%hi,  0.0%si,  0.0%st

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    1 root      20   0  3788 1128  932 S  0.0  0.0   0:32.94 init
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd
    3 root      RT   0     0    0    0 S  0.0  0.0   0:14.07 migration/0

Kumbuka: Nimekupa hati ambayo inatoa pato kwenye terminal yenyewe, vipi kuhusu kupata pato kwenye faili kwa kumbukumbu ya siku zijazo. Itekeleze kwa kutumia opereta inayoelekeza kwingine.

  1. ‘>‘ : opereta wa uelekezaji kwingine husababisha uundaji wa faili, na ikiwa ipo, yaliyomo yanafutwa.
  2. ‘>>‘ : unapotumia >>, unaongeza habari, badala ya kuibadilisha.
  3. ‘>>’ ni salama, ikilinganishwa na ‘>’

Hati 5: Angalia Nafasi ya Disk na Utume Arifa ya Barua pepe

Vipi kuhusu kupata barua pepe wakati utumiaji wa diski katika kizigeu SEHEMU ni kubwa kuliko Upeo unaoruhusiwa, ni hati ya kuokoa maisha kwa wasimamizi wa wavuti iliyo na marekebisho kidogo.

MAX=95
[email 
PART=sda1
USE=`df -h |grep $PART | awk '{ print $5 }' | cut -d'%' -f1`
if [ $USE -gt $MAX ]; then
  echo "Percent used: $USE" | mail -s "Running out of disk space" $EMAIL
fi

Kumbuka: Ondoa USER na jina lako la mtumiaji. Unaweza kuangalia barua kwa kutumia amri ya 'barua'.

Uandishi wa hati na upangaji ni zaidi ya mipaka, chochote na kila kitu kinaweza kutekelezwa inavyohitajika. Ni hayo tu kwa sasa, Katika makala yangu inayofuata nitatoa ladha zako tofauti za uandishi. Hadi wakati huo kaa poa na uangalie, furahiya.