5 Skrypty powłoki dla nowicjusz
- 3006
- 265
- Ignacy Modzelewski
Aby nauczyć się czegoś, musisz to zrobić, bez obawy, że się nie powiodło. Wierzę w praktyczność, a zatem będę towarzyszyć w praktycznym świecie języka scenariuszy.
Naucz się podstawowych scenariuszy powłokiTen artykuł jest rozszerzeniem naszego pierwszego artykułu Zrozumienie linux powłoki i podstawowego skontlenia.
Skrypt 1: Rysowanie specjalnego wzoru
#!/bin/bash max_no = 0 echo -n "Wprowadź liczbę między (5 do 9):„ Przeczytaj Max_NO if ! [$ Max_no -ge 5 -a $ max_no -le 9]; Następnie echo „wtf… Proszę o wprowadzenie liczby między 5 a 9, spróbuj ponownie„ wyjść 1 fi jasne dla ((i = 1; i = i; s--)) do echo -n ””. 1; J<=i; j++ )) do echo -n " ." done echo "" done ###### Second stage ###################### for (( i=MAX_NO; i>= 1; i--)) rób ((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, Tecmint.com is always there"
Większość z powyższych 'słowa kluczowe„Byłby ci znany, a większość z nich jest wyjaśniająca. mi.G., Max Ustawia maksymalną wartość zmiennej, ponieważ jest pętla, a wszystko w pętli jest wykonywaniem wielokrotnie, aż pętla będzie ważna dla danej wartości wejścia.
Przykładowy wyjście
[[e -mail chroniony] ~]# CHMOD 755 Special_Pattern.sh [[e -mail chroniony] ~]# ./Specjalne_pattern.SH Wprowadź numer między (5 do 9): 6… ilekroć potrzebujesz pomocy, tecmint.com jest zawsze tam
Jeśli jesteś trochę świadomy jakiegokolwiek języka programowania, nauka powyższego skryptu nie jest trudna, nawet jeśli jesteś nowy w obliczeniach, programowaniu i linux, nie będzie to zbyt trudne.
Pobierz Special_Pattern.cii
Skrypt 2: Tworzenie kolorowego skryptu
Kto mówi, Linux jest bezbarwny I nudne, zapisz kody poniżej na wszystko [kropka] cii, Spraw, aby był wykonywalny i uruchom go, nie zapomnij mi powiedzieć, jak to było, pomyśl, co możesz osiągnąć, wdrażając to gdzieś.
#!/bin/bash clear echo -e "33 [1M Hello World" # Bold Effect Echo -e "33 [5m Blink" # Blink Effect Echo -e "33 [0M Hello World" # Powrót do normalnego echa -e "33 [ 31M Hello World " # Red Color Echo -e" 33 [32M Hello World " # zielony kolor echo -e" 33 [33M Hello World " # Zobacz pozostałe na ekranie echo -e" 33 [34M Hello World "Echo -e" 33 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”
Notatka: Nie przejmuj się teraz kodem kolorów, te ważne dla ciebie będą w języku, stopniowo.
Ostrzeżenie: Twój terminal może nie mieć możliwości migania.
Przykładowy wyjście
[[e -mail chroniony] ~]# CHMOD 755 Colorfull.sh [[e -mail chroniony] ~]# ./Kolorowy.sh Hello World Blink Hello World Hello World Hello World Hello World World Hello World World World World World World World World World World Hello World Hello World World World World World Hello World World
Pobierz Colorfull.cii
Skrypt 3: Zaszypuj plik/katalog
Ten skrypt zaszyfrowuje plik (Pamiętać? informator/kierowca/… . Wszystko jest traktowane jako plik, w Linux). Obecne ograniczenie powyższego skryptu polega na tym, że nie obsługuje automatycznego zakończenia nazwy za pomocą PATKA. Ponadto musisz umieścić skrypt i plik, aby być zaszyfrowane w tym samym folderze. Może być konieczne zainstalowanie „pinentry-gui", za pomocą mniam Lub trafny W razie potrzeby pakiet.
[[e-mail chroniony] ~]# yum instaluj pinentry-gui [[e-mail chroniony] ~]# apt-get instaluj pinentry-gui
Krete plik o nazwie „Szyfrować.cii”I umieść następujący skrypt, spraw, aby był wykonywalny i uruchom go tak, jak pokazano.
#!/bin/bash echo „Witaj, jestem gotowy do zaszyfrowania pliku/folderu dla ciebie„ echo ”Mam ograniczenie, umieść mnie w tym samym folderze, w którym plik do zaszyfrowania jest obecny„ echo ”wprowadź dokładny plik Nazwa z rozszerzeniem „Odczyt plik; gpg -c $ echo echo „Zaszyfrowałem plik pomyślnie…" echo "Teraz będę usuwać plik oryginalny„ plik rm -rf $
Przykładowy wyjście
[[e -mail chroniony] ~]# CHMOD 755 Szyfruj.sh [[e -mail chroniony] ~]# ./Szyfrowanie.SH Witaj, jestem gotowy do zaszyfrowania pliku/folderu dla ciebie obecnie mam ograniczenie, umieść mnie w tym samym folderze, w którym plik do zaszyfrowania jest obecny.xml ┌──loktowalikalittowalitowalicznaliznaczaczaczaczałujsowa ottt .litowalikalitowalitowskimt ─wiątka ─ │ Wprowadź frazę │ │ │ │ │ │ Passhraza ******* _____________________________ │ │ │ │ │ └─lok ─wiątracyjnalitowana dologiem ┌wiąttimt. ─wiątkośćtomierzt Zakłada Zawartość--ciwlok this passphrase │ │ │ │ Passphrase ********________________________________ │ │ │ │ │ └──────────────────────────── ─wiątracyjna ─loktoka--ttictttictictlok
GPG -C : To zaszyfrowuje Twój plik, używając Passkey AKA hasło. W tym procesie uczenia się nigdy nie pomyślałbyś, że faktyczny proces uczenia się może być o wiele łatwy. Więc po zaszyfrowaniu pliku, czego potrzebujesz? Oczywiście! odszyfrowanie pliku. I chcę cię - uczeń, czytelnik sam napisał skrypt deszyfrowania, nie martw się.
Notatka: GPG -D nazwa pliku.GPG > Nazwa pliku jest tym, co musisz zaimplementować w skrypcie deszyfrowania. Możesz opublikować skrypt w komentarzu, jeśli nie powiedzie się, jeśli nie możesz poprosić mnie o napisanie go dla siebie.
Pobierz Szypt.cii
Skrypt 4: Sprawdzanie wykorzystania serwera
Sprawdzanie wykorzystania serwera jest jednym z ważnych zadań administratora, a dobry administrator to ten, który wie, jak zautomatyzować swoje codzienne zadanie. Poniżej znajduje się skrypt, który poda wiele takich informacji o Twoim serwerze. Sprawdź to sam.
#!/data bin/bash; Echo „Uptime:„ Uptime Echo ”Obecnie połączone:„ W echo ”--------------------„ Echo ”Last Logins:„ Last -a | Head -3 Echo „--------------------„ Echo ”Dysk i Używanie pamięci:„ DF -H | Xargs | awk 'print "free / total dysk:" 11 $ " /" 9 $ „darmowe -m | Xargs | awk 'drukuj „darmowe / całkowite pamięć:„ 17 $ ” /„ 8 $ „MB” „Echo” -------------------- „Start_log =” Head -1 /var/log/message | cut -c 1-12 "oom =" grep -ci zabójcy/var/log/message "echo -n" ooM błędy od $ start_log: "$ oom echo" "echo" ----- ---------------- „Echo” Wykorzystanie i najdroższe procesy: „TOP -B | Głowa -3 Echo TOP -B | Głowa -10 | Tail -4 Echo” --- ----------------- „Echo” Otwórz porty TCP: „Nmap -p- -t4 127.0.0.1 Echo „--------------------„ Echo ”Bieżące połączenia:„ SS -s Echo ”--------------- ----- Procesy „echo”: „ps auxf--width = 200 echo” -------------------- „Echo” VMSTAT: „VMSTAT 1 5
Przykładowy wyjście
[[e-mail chroniony] ~]# CHMOD 755 Serwer-Health.sh [[e -mail chroniony] ~]# ./Server-Health.s.36, 0.25, 0.18 Obecnie połączone: 22:01:06 w górę 174 dni, 4:42, 1 użytkownik, średnia ładowanie: 0.36, 0.25, 0.18 Użytkownik Tty z [chroniony e -mail] bezczynny jcpu pcpu co Tecmint PTS/0 116.72.134.162 21:48 0.00s 0.03S 0.03S SSHD: TecMint [Priv] -------------------- Ostatnie logowanie: Tecmint PTS/0 WT 16 lipca 21:48 Wciąż zalogowane w 116.72.134.162 TECMINT PTS/0 TUE 16 lipca 21:24 - 21:43 (00:19) 116.72.134.162 -------------------- Zastosowanie dysku i pamięci: bezpłatny / całkowity dysk: 292G / 457G Bezpłatna / całkowita pamięć: 3510 /3838 MB ------- ------------- Błędy oom od 14 lipca 03:37: 0 -------------------- Wykorzystanie i najdroższe procesy: TOP - 22:01:07 w górę 174 dni, 4:42, 1 użytkownik, średnia obciążenia: 0.36, 0.25, 0.18 zadań: 149 ogółem, 1 bieganie, 148 śpiący, 0 zatrzymane, 0 zombie CPU: 0.1%US, 0.0%SY, 0.0%Ni, 99.3%id, 0.6%wa, 0.0%cześć, 0.0%SI, 0.0 %St Pid User PR NI Virt SHR S %CPU %MEM TIME+ Polecenie 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 Migracja/0
Notatka: Dałem ci skrypt, który daje wyjście w samym terminalu, co powiesz na uzyskanie danych wyjściowych w pliku do przyszłego odniesienia. Wdrożenie go za pomocą operatora przekierowania.
- '>': Operator przekierowania powoduje tworzenie pliku, a jeśli istnieje, zawartość jest zastąpiona.
- '>>': Gdy używasz >>, dodajesz informacje, zamiast je zastępować.
- '>>„jest bezpieczny, w porównaniu do”>'
Pobierz zdrowie serwera.cii
Skrypt 5: Sprawdź miejsce na dysku i wysyła ostrzeżenie e -mailowe
Co powiesz na otrzymanie wiadomości e -mail, gdy dyskusje na dysku w partycji CZĘŚĆ jest większy niż maksymalne dozwolone, jest to skrypt życia dla administratorów stron internetowych z niewielką modyfikacją.
Max = 95 [e -mail chroniony] część = sda1 użyj = "df -h | grep $ część | awk" print $ $ '| CUT -D „%” -f1 'jeśli [$ użyj -GT $ max]; Następnie echo „Procent Użyte: $ Use” | Mail -s „Emintyd Of Disk Space” $ e -mail fi
Notatka: Usunąć "UŻYTKOWNIK”Z nazwą użytkownika. Możesz sprawdzić pocztę za pomocą 'Poczta' Komenda.
Pobierz przestrzeń Check-Disk.cii
Pisanie skryptów i programowanie jest poza granicami, wszystko i wszystko można wdrożyć zgodnie z wymaganiami. To wszystko na razie, w moim następnym artykule dam ci różne smaki skryptów. Do tego czasu zachowaj chłód i dostrojony, ciesz się.