Otwieranie konsoli/terminalu wirtualnego (poza środowiskiem graficznym):
Ctrl+Alt+F1 do CtrlAlt+F6
Przełączanie sie pomiędzy nimi:
Alt + F1 do F6
Powrót do środowiska graficznego:
Alt + F7
Odświeżenie listy pakietów i instalowanie
sudo apt-get update - odnawia aptgetasudo apt-get upgrade - odnawia pakietysudo apt-get dist-upgrade$apt-cache search szukanafraza - szukanie (w Red Hat yum search...)
$ sudo apt-get install synaptic - instaluje synaptic lepsze niz Ubuntu software
reinstalacja Ubuntu Software Center (starsza wersja Ubuntu Software)
sudo apt-get remove --purge software-center
sudo apt-get install software-center
Instalowanie z pliku:
#dpkg --install plikpakietu
Usuwanie pakietu:
# apt-get remove nazwa pakietu
Lista zainstalowanych pakietów:
$dpkg --list
Sprawdzanie czy zainstalowany:
$dpkg --status packedname
Przeznaczenie folderów:
/boot
Zawiera pliki niezbędne do uruchomienia komputera, między innymi konfigurację
programu startowego oraz jądro systemu
/dev
Każde urządzenie znajdujące się w systemie (takie jak karta dźwiękowa, kamera
internetowa i tak dalej) posiada wpis w tym folderze. Każda aplikacja uzyskuje dostęp
do urządzenia, korzystając z wpisów znajdujących się w tym folderze
/etc
Tutaj przechowywane są pliki konfiguracyjne oprogramowania zainstalowanego w systemie
/home
Każdy użytkownik systemu posiada katalog domowy, który jest przechowywany właśnie tutaj
/lib
Tutaj przechowywane są ważne biblioteki programów. Użytkownik nie będzie miał
raczej potrzeby zagłębiania się w te obszary
/media
Urządzenia, takie jak napędy CD i pamięci USB, po zamontowaniu mają tu swoje
wpisy. Więcej na ten temat w dalszej części
/mnt
Inne urządzenia mogą być zamontowane później. Więcej na ten temat w dalszej części
/opt
W tym folderze może być zainstalowane dodatkowe oprogramowanie. Jest on zwykle
używany w przypadku, kiedy użytkownik chce stworzyć własne oprogramowanie.
W innych przypadkach można go zignorować
/proc/sys
Tutaj przechowywane są informacje na temat statusu uruchomionego systemu
/root
To folder domowy superużytkownika
/bin
Tutaj przechowywane jest oprogramowanie kluczowe dla procesu uruchamiania systemu
/sbin
Folder ten służy do przechowywania oprogramowania, które powinno być
uruchamiane tylko przez superużytkownika
/usr
Tutaj instalowane jest podstawowe oprogramowanie
/var
Folder zawierający dzienniki systemowe dotyczące oprogramowania zainstalowanego
w systemie
Podstawowe polecenia:
$date - pokazuje datę
$cal - pokazuje kalendarz
$df - pokazuje ilość wolnego miejsca na dysku
$du - zajętość katalogów -d1 (poziomy katalogów -hd1 - przyjazna+d1)
użycie awk - z parametrem print $1 przekaże tylko pierwszy parametr do zmiennej..
użycie w skrypcie przełącznika -hd$1 wstawi w miejsce $1 pierwszy parametr podany
po nazwie skryptu przy uruchomieniu
#!/bin/bash
a="`du -hd$1 /etc |awk '{print $1}'`"
echo "zliczylem:"$a
$free - pokazuje ilość wolnej pamięci operacyjnej
$uname -a - podstawowe informacje o systemie
$chmod - nadawanie uprawnień 000 (pierwsze - wlaściciel, drugie-grupa, trzecie-wszyscy)
4 - odczyt
2 - zapis
1 - uruchamianie
777 - wszyscy wszystko 4+2+1
666 - wszyscy odczyt zapis 4+2
555 - wszyscy odczyt i uruchamianie 4+1
chmod.pl
$chown - przynależność pliku
$top - podstawowe informacje o systemie
$ifconfig - interfejsy sieciowe (iwconfig -wifi)
$ps - pokazuje procesy (opisane niżej)
$kill -opcje (-9 zakonczenie procesu) -numersygnalu pid (-STOP pid vs -CONT pid)
$lspci - magistrale pci
$lsusb - magistrale usb (lshal wszystkie)
$env - aktualne zmienne srodowiskowe
$ set - ustawia opcje powłoki
Podstawowe na tekście:
$cat - podglądanie plików
$less - podglądanie wyjścia plików np. ls | less (albo more, head-pierwsze 10, tail-ostatnie10)
Obsługa Kont uzytkowników i grup:
#adduser - tworzy nowego uzytkownika
$passwd - zmienia hasło
$who - lista zalogowanych
#addgroup - nowa grupa
#deluser --remove home - usuwa uzytkownika wraz z katalogiem domowym
#delgroup
#chgrp - zmienia właściciela grupy
Pliki:
$ls - dir
(-a pokaż ukryte (ukryte zaczynają się kropką .) -l pokaż szczegóły -d info o katalogu -i pokazuje numer węzła pliku, jesli ten sam pliki powiązane ) -h USER FRIENDLY -t posortowane
-F dodatkowe informacje o plikach wg nastepującego klucza:
- * Plik wykonywalny
- / Katalog
- = Socket
- > Typ pliku nie zaimplementowany w Linuksie, natomiast wspierany na Sun/Solaris
- @ Dowiązanie symboliczne
- | FIFO
drwxr-xr-x 2 marcin marcin 4096 Sep 14 01:24 Desktop + tutaj informacje od -F
1 - (d albo - d oznacza katalog - plik)
2,3,4 - dostęp właściciela
5,6,7 - członków grupy
8,9,10 - wszystkich
11 (2) - Liczba twardych dowiązań12(marcin) - nazwa uzytkownika
13(marcin) - grupy
14 - rozmar
15 - data
16 nazwa pliku(tu katalogu)
KOLORY:
- Blue: Directory
- Green: Executable or recognized data file
- Sky Blue: Linked file
- Yellow with black background: Device
- Pink: Graphic image file
- Red: Archive file
~ znak tyldy (~) ma specjalne znaczenie. ~nazwauzytkownika
Gdy zostanie użyty na początku wyrazu, będzie zinterpretowany jako nazwa
katalogu domowego podanego użytkownika lub, jeśli nie podamy nazwy użytkownika,
jako nazwa katalogu domowego bieżącego użytkownika:
$pwd - pokazuje bieżący katalog
$cd - zmienia katalog (cd.. w górę )
Ścieżka bezwzględna - pełna /usr/bin
Ścieżka względna - . (jedna kropka) od bieżącego(np z kat. usr) ./bin (może być bin)
..(dwie) katalog nadrzędny (z bin do innego podkatalogu usr) ../lib
./ bieżący
$cd - - poprzedni katalog
$cd ~użytkownik - katalog domowy użytkownika
$file - pokazuje rodzaj pliku
$less tekst.txt - przegląda zawartość pliku tekstowego (/znaki wyszukuje, h - ekran pomocy, q - wyjscie)
zaznaczenie tekstu myszą (nazwy pliku) kopiuje do schowka (bez Ctrl-C) wklejamy środkowym klawiszem myszy.
$cp - kopiuje
(-a kopiuje atrybuty i przynależności, -i nadpisuje kopie,-r rekurencyjnie kopiuje katalogi
-u kopiuje tylko pliki nieistniejące i nowsze, -v wyświetla komunikaty podczas kopiowania
np:
cp plik1 plik2 katalog1 - kopiuje oba pliki do katalogu (musi istniec)
cp katalog1/* katalog2 - wszystkie pliki z jednego katalogu do drugiego (musi istnieć)
cp -r katalog1 katalog2 - kopiuje katalog1 do katalog2 (tu nie musi istniec,identyczne kopie)
$mv - przenosi lub zmienia nazwę
(mv dir1 dir2 - jeśli dir2 istnieje przeniesie, jesli nie zmieni nazwę dir1 na dir2)
$mkdir - tworzy katalogi
$rm - usuwa pliki i katalogi (rm -r /pelny katalog )
Repair Linux Filesystem Errors
$fsck -y /dev/sdb
you can ran the same on all filesystems (without root):
$ fsck -AR -y
Force fsck Upon System Boot
# touch /forcefsck
Then you can simply force or schedule a reboot of your system. During the next bootup, the fsck will be performed. If downtime is critical, it is recommended to plan this carefully, since if there are many used inodes on your system, fsck may take some extra time.
After your system boots, check if the file still exists:
# ls /forcefsck
# reboot
During the boot, hold down the shift key so that the grub menu is shown. Select the “Advanced options”.
Then choose “Recovery mode”.
In the next menu select “fsck”.
You will be asked if you wish to have your / filesystem remounted. Select “yes”.
when done....
You can then resume to normal boot, by selecting “Resume”.
Dowiązania:
$ln - tworzy dowiązania twarde a z parametrem -s symboliczne
większość operacji na plikach dowiązanych symbolicznie odbywa się na pliku docelowym
poza rm które usuwa samo dowiązanie a nie plik
w środowisku UNITY kopiujemy plik z Shift+Ctrl by stworzyć dowiązanie symboliczne
(wyświetlone ls pokazuje się jako lrwxrwx... (d katalog -plik )
Przykład:
ln -s cel nazwa_dowiązania
W środowisku GNOME, aby utworzyć dowiązanie do pliku, zamiast kopiować (lub
przenosić) plik, należy przytrzymać klawisze Ctrl i Shift podczas przeciągania pliku.
Aliasy:
do polecen systemowych, zamienia jedną nazwę inną
alias nazwa_aliasa='polecenie'
np:
alias nowels='ls'
Działa TYLKO do wyłączenia sesji terminala. Aby ustawić aliasy na stałe, musimy edytować (bądź utworzyć plik) .bash_aliases(/home/nazwa_uzytkownika/.bash_aliases). Tak więc w konsoli wpisz:
$vim ~/.bash_aliases
dopisz do pliku nowy alias zgodnie ze schematem, przeładuj terminal !!!ale tak naprawdę aliasy mozna wrzucić na ~/.bashrc
przeładowanie: $ bash albo $ source .bashrc
Find:
$find - szuka plików
find ~/ -type f -name "szukanyplik"
Using
. will only search the current directory. ~/ will search your entire home directory, like root you could use / to search the whole filesystem
przykłady:
find ~/ -type d | wc -l (wyswietl katalogi (typ d) katalogu domowego ~/ i policz linie (wc) )
find ~/ -type f -name "*.jpg" -size +1M | wc -l (wyswietl liczbe plików jpg wiekszych niz 1M)
jednostki miary wielkosci plików (k,M,G) (-perm - znajdz o okreslonych parametrach chmod)
za pomocą find można również uaktualnić czas modyfikacji polecenie touch
jednostki miary wielkosci plików (k,M,G) (-perm - znajdz o okreslonych parametrach chmod)
za pomocą find można również uaktualnić czas modyfikacji polecenie touch
$ find / -type p -exec ls -la {} \; 2>/dev/null szukanie plików reprezentujacych potok i nagranie wyniku do null
Będziemy też korzystać z polecenia zwykle używanego wraz z poleceniami
do wyszukiwania plików, które służy do procesowania wynikowej listy plików:
xargs — tworzy i uruchamia polecenia ze standardowego wejścia.
Ponadto wprowadzimy kilka poleceń, które pomogą nam w naszych poszukiwaniach:
touch — zmienia czas ostatniego dostępu do pliku (można utworzyć nim pusty plik)
stat — wyświetla status pliku lub systemu plików.
* - dowolnych znaków
? - dowolnego pojedynczego znaku
[znaki] - dowolnego znaku w składzie znaki
np:
[abc] - plik zaczynający się od a,b lub c
backup.[0-9][0-9][0-9]
[!znaki] - dowolnego znaku poza składem znaki
np:
[![:digit:]]* - dowolnego znaku którego nazwa nie rozpoczyna się od cyfry
klasy:
[:alnum:] - dowolny znak alfanum
[:alpha:] - dowolny znak alfabet
[:digit:] - dowolnej liczby
[:lower:] - dowolnej małej litery
[:upper:] - dowolnej wielkiej litery
Dowiązania symboliczne
Zapisanie do pliku dowiązania symbolicznego, zostanie to zapisane w pliku do którego odnosi się dowiązanie. Jeśli usuniemy dowiązanie symboliczne zostanie usunięte samo dowiązanie.
Jeśli usuniemy plik, powiązanie zostanie i nie będzie wskazywać żadnego pliku (dowiązanie przerwane). Ls wyświetla dowiązania przerwane w innym kolorze (czerwony?)
Dowiązania twarde nie mogą rozciągać się poza urządzenia fizyczne oraz wskazywać katalogów, potrafią to dowiązania symboliczne.
Polecenia
type — określa sposób interpretacji nazwy polecenia oraz położenie programu (sprawdza alias)
which — informuje, który program wykonywalny zostanie uruchomiony, sama lokalizacja
man — wyświetla treść podręcznika man polecenia (czasem help) -k costam (szuka costam)
polecenie --help opis składni polecenie [opcjonalne] wybór1|albo drugi
apropos xxx— wyświetla spis poleceń które w man zawierają słowo xxx
info — wyświetla informacje o poleceniu,
whatis — wyświetla krótki opis polecenia,
alias nazwa— tworzy alias polecenia np:
$alias foo='cd /usr; ls; cd -' mozemy teraz sprawdzic type foo i pokazen nam ten alias
unalias nazwa - rozwiązuje
Przekierowania
cat — łączy pliki, wyswietla
sort — sortuje wiersze tekstu
uniq — zgłasza lub pomija powtarzające się wiersze ( ls /bin /usr/bin | sort | uniq | less )
wc — wypisuje liczbę wierszy, wyrazów oraz bajtów w każdym pliku,
GREP
grep — wypisuje wiersze pasujące do wzorca (ls -l |grep wzorzec) albo grep wzorzec grep uzycie(przyklad, nie za pipe, tylko samodzielne):
$ grep opcje wzorzec plik/pliki
OPCJE:
-c – zamiast wyświetlać linie ze znalezionym fragmentem wyświetla liczbę znalezionych linii;
-L – nie wyświetla znalezionego fragmentu tylko pokazuje nazwy plików, w których nie było tego ciągu znaków;
-l – odwrotnie do poprzedniego polecenia, wyświetla pliki w których znalazło dany ciąg znaków;
-n – wyświetlany jest numer linii w pliku w których znaleziono dany ciąg znaków;
-w – wyszukuje tylko całe słowa;
-x – wyszukuje tylko całe linie;
-v – negacja zapytania
-i – ignoruje wielkość liter, tzn. jeżeli podamy do wyszukania słowo ‘ala’, to pokaże nam ‘ALA’,
-r – gdy plik podany do przeszukania jest katalogiem, to zostaną przeszukane wszystkie pliki w tym katalogu
PRZYKŁADY:
$ grep 'Ala' plik
Znajduje linie zawierające wyraz ‘Ala’ w pliku ‘plik’.
$ grep 'A[lg]a' plik
Znajduje linie zawierające wyraz ‘Ala’ lub ‘Aga’.
$ grep 'A.a' plik
Znajduje linie zawierające wyrazy takie jak ‘Ala’, ‘Asa’, ‘Aaa’ itp.
$ grep '^Ala' plik
Znajduje linie zawierające wyraz ‘Ala’ na początku.
$ grep 'Go+gle' plik
Znajduje linie zawierające wyraz ‘Gogle’, ‘Google’, ‘Gooooooogle’ itp.
$ grep '[0-9]+'
Znajduje linie zawierające dowolną liczbę.
---------------------
plikhead — zwraca początek pliku,
tail — zwraca koniec pliku,
tee — pobiera dane ze standardowego wejścia, zapisuje je do plików
i wypisuje na standardowym wyjściu. (ls /usr/bin | tee ls.txt | grep zip trójnik, zapisze do pliku ls,txt potok PRZED przefiltrowanie przez grep)
Przemieszczanie kursora
Ctrl+A Przesuwa kursor na początek wiersza.Ctrl+E Przesuwa kursor na koniec wiersza.Ctrl+F Przesuwa kursor o jeden znak do przodu; tak samo jak klawisz strza
łki w prawo.Ctrl+B Przesuwa kursor o jeden znak wstecz; tak samo jak klawisz strza
łki w lewo.Alt+F Przesuwa kursor o jeden wyraz do przodu.Alt+A Przesuwa kursor o jeden wyraz wstecz.Ctrl+L Usuwa całą zawartość ekranu i przesuwa kursor do górnego lewego rogu. Tak samo
działa polecenie clear.
Procesy
$ps - lista procesów.....................................................................................
PID — identyfikator procesu.
TTY — urządzenie terminala, w którym działa dany proces (na razie
nie będziemy się tym zajmować).
STAT — status procesu. Oznacza on, czym w danym momencie zajmuje się
proces i gdzie znajduje się jego pamięć. Przykładowo S oznacza uśpienie
procesu, natomiast R — jego działanie. Znaczenie wszystkich symboli podane
zostało na stronie podręcznika ps(1).
TIME — ilość czasu procesora (podawana w minutach i sekundach), jaką
dany proces zużył do tej pory. Innymi słowy, jest to ogólny czas, jaki proces
przeznaczył na wykonywanie instrukcji w procesorze.
COMMAND — zawartość tego pola może się wydawać oczywista (treść
polecenia), ale trzeba pamiętać o tym, że procesy mogą zmieniać zawartość
tego pola.
ps x — wyświetla wszystkie procesy uruchomione przez aktualnego
użytkownika.
ps ax — wyświetla wszystkie procesy działające w systemie.
ps u — dodaje bardziej szczegółowe dane o procesach.
ps w — podaje pełne nazwy poleceń, nie ograniczając się do pojedynczego wiersza.
top — wyświetla zadania,
jobs — wypisuje aktywne zadania,bg — umieszcza zadanie w tle,
fg — umieszcza zadanie na pierwszym planie,
kill — wysyła sygnał do procesu,
killall — kończy proces o podanej nazwie,
shutdown — zamyka lub ponownie uruchamia system.
Znacznie stanu procesu:
R Uruchomiony. Proces jest uruchomiony lub gotowy do uruchomienia.
S Uśpiony. Proces nie działa; raczej oczekuje na zdarzenie, takie jak naciśnięcie klawisza,
lub na otrzymanie pakietu sieciowego.
D Uśpiony nieprzerywalny. Proces oczekuje na urządzenie wejścia-wyjścia, takie jak dysk.
T Zatrzymany. Proces, który otrzymał instrukcję zatrzymania (więcej informacji na ten temat
znajdziemy w dalszej części rozdziału).
Z Proces działający nieprawidłowo lub proces „zombie”. Jest to proces potomny, który zakończył
działanie, jednak nie został usunięty przez proces macierzysty.
< Proces o wysokim priorytecie. Procesowi możemy nadać większe znaczenie, przydzielając mu
więcej czasu na CPU. Ta właściwość procesu nosi nazwę niceness. Możemy powiedzieć,
że proces o wysokim priorytecie jest gorszy, ponieważ potrzebuje więcej czasu CPU,
co pozostawia mniej czasu dla pozostałych.
N Proces o niskim priorytecie. Proces taki (lepszy proces) uzyska dostęp do procesora tylko
wtedy, gdy zostaną obsłużone pozostałe procesy, mające wyższy priorytet.
ps...........................................end.....................................................................
...
Interpretacja wyrażeń arytmetycznych wymaga zastosowania następującej
składni:
$((wyrażenie))
można zagnieżdżać np. 5^2 3
echo $(($((5**2)) * 3))
$echo liczba{1,2,3,4,5}
liczba1 liczba2 liczba3 liczba4 liczba5
$echo a{A{1,2},B{3,4}}b
aA1b aA2b aB3b aB4b
$ ls -l $(which cp) przekazujemy wynik polecenia which cp jako argument do
polecenia ls. W ten sposób uzyskujemy listę zawierającą lokalizację programu cpbez konieczności podania pełnej ścieżki programu. przykład echo $(ls)
Sieć:
$netstat -atun - wyswietlanie aktywnych połączen
$traceroute -n -q1 cenr.ch - trasa pakietow w sieci
$ /sbin/route tablica routingu
$/sbin/ifconfig - konfiguracja kart sieciowych
ŚRODOWISKO
printenv — wyświetla niektóre lub wszystkie zmienne środowiskowe,
set — ustawia opcje powłoki,
export — eksportuje środowisko do kolejno wykonywanych programów,
alias — tworzy alias dla polecenia.
Pliki startowe sesji powłoki logowania :
/etc/profile Globalny skrypt konfiguracyjny, który ma zastosowanie do wszystkich użytkowników.
~/.bash_profile Plik startowy użytkownika. Można go wykorzystać do rozszerzenia lub nadpisania
ustawień w globalnym skrypcie konfiguracyjnym.
~/.bash_login Jeśli plik ~/.bash_profile nie zostanie odnaleziony, bash próbuje odczytać ten skrypt.
~/.profile Jeśli nie zostanie odnaleziony ani plik ~/.bash_profile, ani ~/.bash_login, bashpróbuje odczytać ten skrypt. Jest to domyślne zachowanie w dystrybucjach opartychna Debianie, takich jak Ubuntu.
~/.bash_aliases - lista alisów
ale tak naprawdę aliasy mozna wrzucić na ~/.bashrc
Niesłużące do logowania:
/etc/bash.bashrc Globalny skrypt konfiguracyjny, który ma zastosowanie do wszystkich użytkowników.
~/.bashrc Plik startowy użytkownika. Można go wykorzystać do rozszerzenia lub nadpisania
ustawień w globalnym skrypcie konfiguracyjnym.
Plik ~/.bashrc jest być może najważniejszym plikiem startowym z punktu
widzenia zwykłego użytkownika, ponieważ jest odczytywany niemal zawsze.
~/ domowy
.bashrc kropka znaczy ze ukryty, wyświetl ls -a
po edycji .bashrc albo przeładować terminal albo $ source .bashrc
serialport ----
ethernet ----
Sieć:
ping — wysyła komunikat ICMP ECHO_REQUEST do hostów sieciowych,
traceroute — wypisuje trasy pakietów do hosta sieciowego,
netstat — wypisuje połączenia sieciowe, tablice trasowania, statystyki interfejsu, połączenia maskaradowe oraz udziały w połączeniach multikastowych, ( -r tablica sieci jądra)
ftp — program do przesyłania plików przez internet,
lftp — ulepszony program do przesyłania plików przez internet,
wget — nieinteraktywny program do pobierania danych z sieci,
ssh — klient SSH protokołu OpenSSH (uzytkownik@adres),
sftp — program do bezpiecznego przesyłania plików,
scp — program do bezpiecznego kopiowania (do zdalnego kopiowania plików),
SCP examples
Copy file from a remote host to local host SCP example:
$ scp username@from_host:file.txt /local/directory/
Copy file from local host to a remote host SCP example:
$ scp file.txt username@to_host:/remote/directory/
Copy directory from a remote host to local host SCP example:
$ scp -r username@from_host:/remote/directory/ /local/directory/
Copy directory from local host to a remote hos SCP example:
$ scp -r /local/directory/ username@to_host:/remote/directory/
Copy file from remote host to remote host SCP example:
$ scp username@from_host:/remote/directory/file.txt username@to_host:/remote/directory/
When copying a source file to a target file which already exists, scp will replace the contents of the target file. So be careful.
SCP options:
–r Recursively copy entire directories. Note that this follows symbolic links encountered in the tree traversal.
-C Compression enable. Passes the -C flag to ssh to enable compression.
-l limit – Limits the used bandwidth, specified in Kbit/s.
-o ssh_option – Can be used to pass options to ssh in the format used in ssh_config.
-P port – Specifies the port to connect to on the remote host. Note that this option is written with a capital ‘P’.
Archiwizacja i Kompresja:
Kompresowanie:
gzip — kompresuje i wyodrębnia pliki, zastępuje orginały ! dodaje gz (-c przekazuje do strum i zachowuje oryginalny plik)
(gunzip - rozpakowywuje, albo można gzip -d)
bzip2 — kompresuje plik poprzez sortowanie blokowe (wolniejszy, rozszeszenie bz2)
Programy archiwizujące:
tar — narzędzie do archiwizacji taśmowej.
zip — pakuje i kompresuje pliki.
Program do synchronizacji pliku:
rsync — synchronizuje zdalne pliki i katalogi.
Przykłady:
Tworzy skompresowany plik z listą zawartości katalogu:
ls -l /etc | gzip > foo.txt.gz
Gdy chcemy tylko sprawdzić zawartość skompresowanego pliku tekstowego:
gunzip -c foo.txt | less
Archiwizacja:
tar tryb[opcje] ścieżka... c - tworzy archiwum x - rozpakowuje archiwum f- okreslanie nazwy
Przykład:
tar cf playground.tar playground (dodanie opcji f pozwala okreslic nazwe pliku tar)
name=`date '+%d_%m_%Y'`
tar -cvf "backup_$name.tar" /etc/*.conf
name zawiera datę składającą się z dnia, miesiąca i całego roku
tar cvf stworzy archiwum (c) wyświetli co dodało (v) i pozwoli nadać nazwę (f)
nazwa będzie backup_dzien_miesiac_rok
w jednej linii:
tar -cvf "backup_$(date '+%d_%m_%Y').tar" /etc/*.conf
tar tf playground.tar
rozpakowanie w bieżącym katalogu:
tar xf ../playground.tar
Zip- kompresja i archiwizacja:
zip opcje plikzip plik...
unzip ../playground.zip
Synchronizacja plików i katalogów:
rsync opcje źródło cel gdzie źródło o cel to jedna z poniższych możliwości:
lokalny plik lub katalog,
zdalny plik lub katalog w postaci [user@]host:path,
zdalny serwer rsync określony za pomocą URI w postaci
rsync://[user@]host[:port]/path.
Nośniki Danych
mount — montuje system plików,
umount — odmontowuje system plików,
fdisk — manipuluje tablicą partycji,
fsck — sprawdza i naprawia system plików,
fdformat — formatuje dyskietkę,
mkfs — tworzy system plików,
dd — zapisuje dane zebrane w bloki bezpośrednio na urządzeniu,
genisoimage (mkisofs) — tworzy obraz pliku zgodny ze standardem ISO 9660,
wodim (cdrecord) — zapisuje dane na nośniku optycznym,
md5sum — oblicza sumę kontrolną MD5.
urządzenia które mają zastać zamontowane, są zapisane w pliku:
/etc/fstab
Urządzenia: wyświetlać$ ls |grep s*
/dev/fd* Stacje dyskietek
/dev/hd* Dyski IDE (PATA) w starszych systemach.
/dev/lp* Drukarki
/dev/sd* Dyski SCSI. W najnowszych systemach Linux jądro traktuje wszystkie urządzenia typu
dyskowego (włącznie z dyskami twardymi PATA/SATA, dyskami flash oraz urządzeniami
pamięci masowej USB, takimi jak przenośne odtwarzacze muzyki i kamery cyfrowe) jako
dyski SCSI. Pozostała część systemu nazewnictwa jest podobna do starszego schematu
/dev/sr* Napędy optyczne (czytniki i nagrywarki CD/DVD)
POSIX
(ang. Portable Operating System Interface for UNIX) – przenośny interfejs dla systemu operacyjnego Unix. POSIX to odpowiedź na próby standaryzacji różnych odmian systemu operacyjnego Unix.
Definiuje interfejs aplikacji tak, aby była ona w pełni przenośna pomiędzy różnymi systemami operacyjnymi.
Interfejs ten bazuje na modelach systemu UNIX.
Zawiera zbiór funkcji które są często implementowane jako wywołania systemowe.
Dodanie funkcji wspierających wątki (lekkie procesy)
Dodanie współdzielonego katalogu VirtualBox
Dodaj folder z windowska w konfiguracji twojej maszyny (SharedFolder)
na ubuntu wykonaj:
Step 1 Install install Guest Additions from VirtualBox’s menu go to Devices->Install Guest Additions This will mount a virtual CD on your /media/cdrom. As root user Open this /media/cdrom added folder using Open with terminal option(Right click with mouse).
Step 2 Run the program VBoxLinuxAdditions.run. When the program completes reboot your VirtualBox.
$ sudo ./VBoxLinuxAdditions.run
Step 3 Create a shared folder. From Virtual menu go to Devices->Shared Folders then add a new folder in the list, this folder should be the one in windows which you want to share with Ubuntu(Guest OS). Make this created folder auto-mount. Example -> Make a folder on Desktop with name Ubuntushare and add this folder.
Step 4 When done with you shared folder(s) specification, we mount folder from Ubuntu(Guest OS). Create a mountpoint, this a directory in Ubuntu that will share files with the shared folder from Windows. Run this to create a directory in Ubuntu
$ sudo mkdir ~/Desktop/Shared
Step 5 With your mountpoint created you can now mount the shared folder. Run this command to share the folder:
$ sudo mount -t vboxsf Ubuntu ~/Desktop/Shared
Ubuntushare is the name of folder we add in VirtualBox Devices section this folder is in Windows(Host OS). ~/Desktop/windowsshare is the directory in Ubuntu(Guest OS)
CONGRATULATIONS-> Now you can share the files between Windows and Ubuntu.
Dodanie dysku na wirtualnej maszynie (montowany jako katalog)
dodaj dysk na VirtualBox lub VMware. (VMware łatwo rozszerza istniejącą partycję)
Na linux wejdz na:
Na linux wejdz na:
$sudo gparted
i dodaj partycje, formatuj ext4
MOUNT
$sudo fdisk -l
wyswietli cos w stylu:
Disk /dev/sda: 250.1 GB, 250059350016 bytes .... Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes 255 heads, 63 sectors/track, 243201 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x000814e3 Device Boot Start End Blocks Id Syste /dev/sdb1 1 243201 1953512001 83 Linux.
czyli dysk to /dev/sdb1
stwórz mount point
$sudo mkdir /hdd
otworz plik:
$sudo vim /etc/fstab
dodaj linię na końcu
/dev/sdb1 /hdd ext4 defaults 0 0
zamontuj
$mount /hdd
255 - wyrażenia regularne
275 - przetwarzanie tekstu
313 - formatowanie wyników
331 - Drukowanie
343 - Kompilowanie programów
Instalacja ubuntu WSI (sklep MS) na Windows10:
w Powershel:Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
warto zainstalować HyperTerminal: https://hyper.is/
uruchamianie w terminalu:
wsl
--------jeśli chcemy połączenie kodu na linuxie z VS Codie na Windows------
zainstalowac visualcode
ze sciezki z lokalnym linuxem
C:\Users\eblzmrc\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs
wejsc na repo i dodac jako working directory projektu w visualu
Połączenie virtualnego linuxa z windowsem (dysk na windows z Home linuxa) by Samba:
Samba share (Access home from windows)
- get ip address of linux machine
- type 'ifip' and remember IP_ADDRESS
- install samba:
- sudo apt install samba
- edit /etc/samba/smb.conf
- uncomment section "[homes]"
- uncomment "read only = yes" and change it to no
- create smb user
- sudo smbpasswd -a LOGIN
- restart samba
- systemctl restart smbd
- Access new sharepoint in WINDOWS
- press MICROSOFT_KEY & r
- \\IP_ADDRESS\LOGIN
- login using your LOGIN and password typed within smbpasswd
- \\IP_ADDRESS\LOGIN
- press MICROSOFT_KEY & r
- make network drive
- press MICROSOFT_KEY & r
- type cmd and hit enter
- type net use X: \\IP_ADDRESS\LOGIN /PERSISTENT:YES
- Enjoy
- install samba:
- Use Putty to access terminal without providing credentials and with capability of running X applications
- start Putty
- type IP_ADDRESS in Host Name
- in Connection/Data->Auto-login username type your LOGIN
- In Connection/SSH/Auth Browse to a file created in sub steps
- Option A: Reuse private key from VM:
- open puttygen
- Conversion→Import Key
- Path X:\.ssh\id_rsa
- Save Private Key to some known location (File to Browse for)
- copy id_rsa.pub to authorized_keys on VM (.ssh subfolder)
- Option B Create new private key
- Use puttygen to generate new key and save it
- copy public key contents to ~/.ssh/authorized_keys
- Option A: Reuse private key from VM:
- In Connection/SSH/X11 enable X11 Forwarding
- Install X client e.g. Xming
- In Session/Saved Session type name for a new session and press Save
- Enjoy (double click on session name)
- using and knowing tmux is recommended
Link gdy komputer sam się wybudza ze stanu uśpienia
Link doładowania orange