Przypomnienie komend linux'a.



Podobne dokumenty
Bash - wprowadzenie. Bash - wprowadzenie 1/39

Znaki globalne w Linuxie

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

W pierwszej kolumnie wyświetlany jest identyfikator procesu (pid)

1 Przygotował: mgr inż. Maciej Lasota

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)

Przekierowanie wejścia wyjścia:

Konsola Linux. autor: Mariusz Barnaś

Powłoka interpreter poleceń systemu UNIX

1. Znajdź za pomocą programu locate wszystkie pliki które zawierają w nazwie słowo netscape locate netscape

- wszystkie elementy - wszystkie elementy

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Linux cz.3: polecenia systemowe, ćwiczenia

SPIS TREŚCI 1. WIADOMOŚCI OGÓLNE ZARZĄDZANIE SYSTEMEM LINUX WIELODOSTĘPNOŚĆ SYSTEMY PLIKÓW I STRUKTURA FOLDERÓW...

Temat zajęć: Filtry, strumienie standardowe oraz przetwarzanie potokowe. stderr

ZAJĘCIA Komendy Linux WB -> w konsoli tty2 finger exit man pwd pwd finger ls man ls. -> po 2 minusach interpretacja słowa

pico mojskrypt bash mojskrypt chmod +x mojskrypt./mojskrypt

Linux: System Plików

Chemiateoretyczna. Monika Musiał. Ćwiczenia

SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy)

POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier

System operacyjny Linux

Wstęp do informatyki Shell podstawy

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Ćwiczenia Linux konsola

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

Operatory zmiany sposobu przypisania standardowych strumieni >,<,>> Jeżeli pierwsze polecenie powiodło się to wykona drugie

Linux. Wprowadzenie do systemu.

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

Wstęp do systemu Linux

Architektura systemów informatycznych. Powłoka systemowa Architektura procesora

Technologie Informacyjne - Linux 2

BASH - WPROWADZENIE Bioinformatyka 4

Skrypty shella programowanie w języku powłoki.

Podstawy używania konsoli tekstowej w systemie Linux. Andrzej Zbrzezny

trainxx tramxx

Narzędzia informatyczne w językoznawstwie

Wstęp do Informatyki dla bioinformatyków

Systemy operacyjne. Programowanie w shellu: BASH. Wydział Inżynierii Metali i Informatyki Przemysłowej

Uruchamianie programów w systemie Linux, potoki, strumienie, procesy, alias

Systemy operacyjne- tematy do opracowania

Trochę o plikach wsadowych (Windows)

Ćwiczenie 9 Linux - operacje systemu plików

Powłoka bash. Kurs systemu Unix 1

Ćwiczenie nr 14: System Linux

Skrypty startowe. Tryb interaktywny tryb logowania: nie logowanie: Tryb nieinteraktywny

Tworzenie skryptu: Skrypty powłoki

Podstawy informatyki

Systemy Operacyjne I: System plików

Systemy operacyjne Programowanie w języku powłoki sh

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE

System operacyjny Linux wybrane zagadnienia. Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

skrypt powłoki to plik tekstowy, rozpoczynający się sekwencją: pierwsza linia określa powłokę, w której wykonywany jest skrypt; druga to komentarz

Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA

Informatyka III : Instrukcja 1

System plików - wprowadzenie. Ścieżki dostępu. Informatyka ćw 1

Powłoka (shell) Powłoka ksh

Systemy operacyjne / Programowanie w języku powłoki sh str.1/19

Środowisko programisty Zestaw 7

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2009/2010

Skrypty powłoki w systemie Linux

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

Moduł 4: Strumienie, potoki, sterowanie procesami

Pracownia Komputerowa wykład II

Wstęp do systemów wielozadaniowych laboratorium 03 Praca w powłoce UNIX-owej

Skrypty BASH a. Systemy Operacyjne 2. Mateusz Hołenko. 4 października 2012

Stosowanie poleceń związanych z zarządzaniem plikami oraz katalogami: nazwa_polecenia -argumenty ścieżka/ścieżki do katalogu/pliku

Wyrażenia regularne. Wyrażenia regularne 1/41

System Linux - użytkowanie

Kurs systemu Unix wykład wstępny. Kurs systemu Unix 1

Wstęp do systemów wielozadaniowych laboratorium 02 Praca w systemie plików

Przedstawię teraz tzw. podstawowe symbole wyrażenia regularne (BRE, Basic Regular Expression)

1. Wyrażenia regularne. Symbole w wyrażeniach regularnych 1 :

Systemy Operacyjne. Część II Zarządzanie/Administracja Systemem. 5: Skrypty. autor: mgr inż. Andrzej Woźniak

Wprowadzenie do programowania w powłoce

Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego.

Jądro Powłoka System plików Programy użytkowe

del - usuwanie zbioru lub grupy zbiorów z dysku, np. del c:\public\autoexec bat, del c:\public\*.*

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

Strona1. Linux. Skrypty powłoki

Uruchamianie zadań w środowisku CLUSTERIX z wykorzystaniem klienta tekstowego systemu GRMS

Pracownia Komputerowa wykład III

Pracownia Komputerowa wyk ad II

Komendy Ubuntu MARCEL GAŃCZARCZYK 2T I 1

Podstawy Informatyki. Wykład 4 Komendy UNIXa, cd

Akademia Górniczo-Hutnicza im. St. Staszica. Unix/Linux 3. procesy, archiwa i inne Tomasz Bartuś

Laboratorium Systemów Operacyjnych Komputerów Tryb linii komend i programowanie wsadowe w systemach DOS/Windows

Przetwarzanie tekstu 2. Operacje na plikach tekstowych w systemie Linux

Wstęp do systemu Linux

host name: protokół SSH System plików - wprowadzenie Ścieżki dostępu

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące:

Wstęp do obsługi Linux a

Pracownia Komputerowa III UNIX i Internet

Podstawy użytkowania Linux a

tworzenie katalogów Aby utworzyć nowy katalog wpisz: mkdir katalog1 Ta komenda utworzy katalog o nazwie katalog1.

Linux Leksykon komend i poleceń Opracował: Andrzej Nowak

Transkrypt:

Przypomnienie komend linux'a. Krzysztof Dynowski Komendy podstawowe date pokazuje datę i czas systemowy history pokazuje historię komend z linii poleceń pwd (print working directory) pokazuje pełną ścieŝkę do katalogu roboczego(bieŝącego) cd (change directory) zmiana katalogu roboczego cd;cd $HOME;cd ~; przejdź do kat. HOME cd /; przejdź do kat. głównego mkdir (make directory) tworzy katalog mkdir kat1 kat2; utwórz katalogi kat1 i kat2 rmdir (remove directory) usuwa katalog (katalog musi być pusty), wygodniej rm -r rmdir kat1 kat2; usuń katalogi kat1 i kat2 ls (list) pokazuje zawartość katalogu roboczego lub podanego w argumencie ls; listuj katalog roboczy (pliki zaczynające się od '.' są ukryte) ls -l; listuj katalog roboczy (pliki wyświetlane w formie długiej) ls -a; listuj katalog roboczy (wyświetlane są wszystkie pliki) ls -al; listuj katalog roboczy (wszystkie pliki, forma długa) cp (copy) kopiuje pliki i/lub katalogi cp plik1 plik2; kopiuj plik1 na plik2 cp plik kat; kopiuj plik1 do katalogu kat cp kat1 kat2; kopiuj katalog kat1 do katalogu kat2 cp -a kat1 kat2; kopiuj katalog kat1 do katalogu kat2 (z zachowaniem praw) mv (move) przenosie pliki pomiędzy katalogami (teŝ do zmiany nazwy pliku) mv plik1 plik2; przenieś plik1 na plik2 (zmiana nazwy pliku) mv plik kat; przenieś plik1 do katalogu kat mv kat1 kat2; przenieś katalog kat1 do katalogu kat2 rm (remove) usuwa pliki i/lub katalogi rm plik1 plik2; usuń plik1 i plik2 rm -r kat; usuń katalog kat wraz z podkatalogami rm -rf kat; usuń katalog kat wraz z podkatalogami (w trybie force) rm -ri kat; usuń katalog kat wraz z podkatalogami (w trybie interaktywnym) chmod (change mode) ustawia prawa dostępu do pliku/katalogu chmod +rwx plik; ustaw prawa odczytu,zapisu,wykonywania dla wszystkich(user,group,other) chmod go-rwx plik; usuń prawa odczytu,zapisu,wykonywania dla grupy i innych more,less (paged file viewer) pokazuje zawartość pliku z podziałem na strony less plik; wyświetl plik (less obsługuje PgUp,PgDn) more plik; wyświetl plik (tylko w przód) head,tail (show head,tail of file) pokazuje początek/koniec pliku head -10 plik; pokaŝ 10 początkowych linii z pliku tail -10 plik; pokaŝ 10 końcowych linii z pliku tail -f plik; pokaŝ końcowe linie z pliku i czekaj na nowe linie (wyjście Ctrl-C) cat (concatenate files) skleja podane pliki cat plik1 plik2; - sklej pliki, wynik na ekran cat plik1 plik2>plik3; - sklej pliki, wynik do plik3 wc (word count) zlicza znaki, słowa i linie wc plik1 plik2; - zlicz znaki, słowa i linie dla podanych plików file (classify files) klasyfikuje podane pliki file /bin/sh; sklasyfikuj podany plik

find (find files) wyszukuje pliki na dysku wg podanych kryteriów find /var/www -name "*.html"; w katalogu /var/www wyszukaj pliki *.html locate (locate files) lokalizuje pliki na dysku (b.szybkie, na podstawie indeksu locatedb) locate bash; zlokalizuj plik o nazwie bash grep (regular expression) przeszukuje pliki wg podanego wyraŝenia regularnego grep "^A" *.txt; wyszukaj w plikach *.txt linii zaczynających się od A sort (sort lines) sortuje wczytane linie (leksykalnie, numerycznie) cat plik sort; sortuj leksykalnie linie z pliku help (bash help) pokazuje tekst pomocy dla poleceń powłoki help for; pokaŝ informacje o poleceniu for man (manual) pokazuje tekst pomocy dla programów zewnętrznych man find; pokaŝ informacje o programie find man -k editor; wyszukaj manuale zawierające podaną frazę vi,vim (visual editor) edytor tekstowy ESC przejdź do trybu komend (wyjdź z trybu edycji) podstawowe komendy edytora: a,i,a przejdź do trybu edycji (append,insert,append on line end) :q opuść edytor :q! opuść edytor (bez zapisania zmian) :w zapisz zmiany :wq zapisz zmiany i opuść edytor (Shift-ZZ) diff (get diffirence) znajduje róŝnice w plikach tekstowych diff plik1 plik2; pokaŝ róŝnice dla podanych plików du (disk usage) pokazuje zajętość podanych katalogów i ich podkatalogów Komendy archiwizacji plików df (disk filesystems) pokazuje zajętość systemu plików (partycji) mount pokazuje punktu zamontowania systemów plików (partycji) gzip (gnu zip) program pakujący plik gzip plik1; spakuj plik1 (plik1 zostanie zastąpiony przez plik1.gz) gunzip (gnu unzip) program rozpakowujący plik gzip plik1.gz; rozpakuj plik1.gz (plik1.gz zostanie zastąpiony przez plik1) tar (tape archiver) archiwizator tar cf arch.tar plik1 plik2 kat1 kat2; archiwizuje podane pliki i katalogi do arch.tar tar xf arch.tar; odzyskuje pliki i katalogi z arch.tar tar tf arch.tar; testuje zawartość archiwum arch.tar tar czf arch.tgz plik1 plik2 kat1 kat2; archiwizuje podane pliki i katalogi do arch.tgz na koniec archiwum zostaje spakowane programem gzip tar xzf arch.tgz; odzyskuje pliki i katalogi z arch.tgz Komendy pracy w sieci hostname pokazuje nazwę hosta (z pliku /etc/hostname) who,w pokazuje listę aktualnie zalogowanych uŝytkowników w systemie whoami pokazuje nazwę pod jaką jestem zalogowany do systemu ping program badający czas odpowiedzi hosta na pakiety ping (icmp) ping www.if.pw.edu.pl; zbadaj po nazwie ping 192.168.1.1; zbadaj po adresie IP traceroute program badający ścieŝkę do hosta (bazuje na pakietach icmp) traceroute www.if.pw.edu.pl; zbadaj po nazwie traceroute 192.168.1.1; zbadaj po adresie IP host wyszukuje nazwy w DNS host www.if.pw.edu.pl; wyszukaj po nazwie

host 194.29.174.1; wyszukaj po adresie IP ssh zalogowanie się do systemu zdalnego (bezpieczne połączenie SSL) ssh user@student.if.pw.edu.pl; zaloguj się jako user na serwerze student Komendy kontroli procesów ps pokazuje uruchomione procesy ps; pokaŝ moje procesy, widok podstawowy ps -u user; pokaŝ procesy uŝytkownika, widok podstawowy ps -aux; pokaŝ wszystkie procesy, widok rozszerzony top pokazuje zuŝycie procesora przez procesy (interaktywny) kill wysyła sygnał do procesu o podanym PID (process ID) kill 1234; wysyła sygnał INT(2) do procesu 1234 kill -KILL 1234; wysyła sygnał KILL(9) do procesu 1234 kill -10 1234; wysyła sygnał USR1(10) do procesu 1234 kill -l; pokazuje listę obsługiwanych sygnałów su zalogowanie się jako inny uŝytkownik su user; zaloguj na user bez uruchamiania skryptów początkowych su - user; zaloguj na user z uruchamiania skryptów początkowych prg& uruchomienie programu prg w tle Strumienie wejścia/wyjścia Standardowy strumień wejścia klawiatura (0,stdin) Standardowy strumień wyjścia ekran (1,stdout) Standardowy strumień wyjścia błędów ekran (2,stderr) Przekierowanie strumienia wyjściowego: prg > plik.txt; stdout przekierowane do pliku prg >> plik.txt; stdout dopisane do pliku prg 2> plik.txt; stderr przekierowane do pliku prg 2>> plik.txt; stderr dopisane do pliku prg &> plik.txt; stdout i stderr przekierowane do pliku Przekierowanie strumienia wejściowego: prg < plik.txt; stdin przekierowane z pliku Przekierowanie strumienia wejściowego i wyjściowego: prg < plikwe.txt>plikwy.txt; stdout dopisane do pliku, stdin przekierowane z pliku Przetwarzanie potokowe (wyjście jednego programu przekierowane na wejście drugiego): prg1 prg2; Zadania (wykonywać po kolei): czas ok 20min 1. upewnij się Ŝe jesteś w kat. domwym (pwd, cd ~) 2. upewnij się Ŝe jesteś na właściwym koncie (whoami) 3. wyświetlić zajętość mojego katagu (du -s., du -s *) 4. utwórz nowy katalog do pracy i przejdź tam (mkdir lab1; cd lab1) 5. wyświetlić aktualną datę (date) 6. sformatować datę YYYY/MM/DD hh:mm:ss (date "+%Y/%m/%d %H:%M:%S") 7. wpisać sformatowaną datę do pliku data.txt (date "+fmt" > data.txt) 8. utworzyć plik vi tekst.txt, nauka obsługi vi 9. skleić pliki data.txt,tekst.txt do pliku razem.txt (cat) 10. utworzyć archiwum (tar) z wszystkich plików txt (tar cf arch.tar *.txt) 11. utworzyć nowy katalog i przejść tam (lab11) 12. odzyskać pliki z archiwum w katalogu lab11

Skrypty Bash KaŜdy skrypt (program wykonywany przez interpreter) MUSI w pierwszej linii zawierać wskazanie (pełną ścieŝkę) do właściwego interpretera. W przypadku skryptu bash będzie to: #!/bin/bash Na początku skryptu naleŝy umieścić weryfikację parametrów a w razie wykrycia błędu wyświetlić informację o sposobie uŝycia skryptu. Argumenty skryptu (lub funkcji) $0 nazwa skryptu $1..$9 pierwsze 9 argumentów skryptu $# liczba argumentów "$@" wszystkie argumenty (ze spacja jako separatorem) "$*" wszystkie argumenty (z IFS jako separatorem) shift [N] przesuń argumenty ($#=$#-1,$1=$2,$2=$3... ) dalsze argumenty dostępne jako ${10}, ${11} $$ identyfikator procesu bash $? kod zakończenia wywołanego programu $(command) == `command` $(< file) == $(cat file) == `cat file` Instrukcje basha: więcej moŝna znaleźć w manualu (man bash) for name [ in word ] ; do list ; done pętla wyliczeniowa for (( expr1 ; expr2 ; expr3 )) ; do list ; done pętla jak w C select name [ in word ] ; do list ; done wyświetla numerowaną listę wyboru case word in [ [(] pattern [ pattern ]... ) list ;; ]... esac wybór instrukcji wg wzorca if list; then list; [ elif list; then list; ]... [ else list; ] fi instrukcja warunkowa while list; do list; done pętla dopóki until list; do list; done jw [ function ] name () { list; } definicja funkcji RównowaŜne instrukcje warunkowa [ -e plik ] && echo "istnieje" echo "nie istnieje" if [ -e plik ]; then echo "istnieje"; else echo "nie istnieje"; fi Zaawansowane operacje na zmiennych ${NAME:OFFSET:LENGTH} pobiera fragment tekstu lub tablicy Zastosowanie wzorców ${NAME#pattern} usuwa z początku najkrótszy fragment pasujący do wzorca ${NAME##pattern} usuwa z początku najdłuŝszy fragment pasujący do wzorca ${NAME%pattern} usuwa z końca najkrótszy fragment pasujący do wzorca ${NAME%%pattern} usuwa z końca najdłuŝszy fragment pasujący do wzorca ${NAME/pattern/string} zastępuje pierwszy pasujący fragment do wzorca ${NAME//pattern/string} zastępuje kaŝdy pasujący fragment do wzorca uwaga: dopasowanie na takich zasadach jak dla plików Zastosowanie wartości domyślnych ${NAME:-word} jeśli NAME jest niezdefiniowane wynikiem jest słowo (NAME bez zmiany) ${NAME:=word} jeśli NAME jest niezdefiniowane wynikiem jest słowo (oraz NAME=word) ${NAME:?word} jeśli NAME jest niezdefiniowane wynikiem jest słowo (oraz wypisane na stderr) ${NAME:+word} jeśli NAME jest zdefiniowane wynikiem jest słowo

UŜyteczne linki: http://linuxconfig.org/bash_scripting_tutorial Zadania (skrypty do napisania) do końca zajęć 1. baskup.sh backup katalogu do tgz fn=`pwd tr "/" "_"` tar --exclude "*.tgz" -czf ~/${fn}_$(date +%Y%m%d).tgz. 2. args.sh wypisuje liczbę argumentów i kaŝdy arg w osobnej linii echo Liczba arg: $# for a; do echo $a; done #metoda 1 for a in "$@"; do echo $a; done #metoda 2 while [ $# -gt 0 ]; do echo $1;shift; done #metoda 3 3. argsort.sh sortuje argumenty (for a; do echo $a; done) sort 4. sum.sh wyświetla sumę argumentów s=0; for a; do s=$((s+a)); done echo suma: $s 5. fzero.sh znajdź pliki zerowej długości w katalogu find ${1:-"."} -type f -a -size 0c 6. fmax.sh znajdź największe pliki w katalogu find ${1:-"."} -type f -printf '%s %p\n' sort -n tail -10 find ${1:-"."} -type f -a! -type d -printf '%s %p\n' sort -n tail -10 7. category.sh wyświetla klasyfikuje pliki w katalogu o nazwie podanej w argumencie (czy istnieje,czy plik,czy katalog,czy moŝna czytać, czy wykonywalny) find ${1:-"."} -name "$2" while read fn; do s="" if [ -x "$fn" ]; then s="$s, exec" [ -x "$fn" ] && s="$s, exec" done 8. replace.sh zamień frazy w pliku src=$3 dst=$4 find ${1:-"."} -name "$2" while read fn; do sed -e "s/src/dst/g" "$fn" > /tmp/repl.tmp mv /tmp/repl.tmp "$fn" done