Linux


SYSTEM LINUX

Podstawowe polecenia w terminalu

Przydatne informacje
Linux rozpoznaje wielkość liter.
Ctr+c – zabija dany proces – przerywa polecenie
Ctrl+d – wylogowuje z terminala
Ctrl+Shift+Insert – wklej – czyli to co w okienkach Ctrl+v
Ctrl+Alt+F1..F6 – przełączenie się do terminala 1..6
Ctrl+Alt+F7/F8 – przełączenie do trybu graficznego
Tab – automatycznie dokończy komendę

Informacje o systemie

Polecenie Opis Przykład                               
hostname Podaje nazwę hosta (komputera) hostname
whoami Podaje moja nazwę uzytkownika
whoami
who Podaje użytkowników zalogowanych w systemie
who
w Podaje użytkowników zalogowanych w systemie wraz z otwartymi procesami

pwd Wyświetla bieżący katalog
pwd
ps Wypisuje procesy uruchomione przez użytkownika
ps
top Lista procesów wraz ze zużyciem pamięci i procesora
(Zabicie procesu poprzez polecenie k[kill] i nr procesu)
top
kill Zabicie procesu u numerze pid
kill 5542
cat /etc/issue Wyświetla nazwę dystrybucji
cat /etc/issue
cat /proc/cpuinfo Informacja o procesorze
cat /proc/cpuinfo
free Informacja o użyciu pamięci (można użyć -m dla megabajtów -g dla gigabajtów)
free -m
df -h Informacja o dystkach twardych

dmesg Wyświetla komunikaty jądra. Warto użyć polecenia less (less kończymy q)
dmesg |less
less /var/log dmesg Wyświetla logi zrzucone po starcie systemu. Można sprawdzić czy wystąpiły ew błędy.
less /var/log dmesg
date Wyświetla aktualną godzinę i datę
date
cal Wyświetla kalendarz na dany miesiąc. 
Z podaniem roku wyświetla na dany rok.
Cal 2016


 
Pomoc

Polecenie Opis                                      Przykład
help polecenie --help – wyświetla pomoc dla danej komendy
date --help
man man polecenie – wyświetla podręcznik -manual dla danego polecenia, tematu
man date
apropos apropos temat wyświetla wszystkie komendy/polecenia wraz z krótkim opisem dotyczące danego tematu
apropos date

Operacje na plikach i katalogach

Polecenie Opis                                                               Przykład          
cd
cd /katalog
cd katalog/– przenosi do katalogu
cd – przenosi do katalogu domowego
cd.. - przenosi do katalogu wyżej
cd- -przenosi do poprzedniego katalogu
cd /etc
ls Polecenie listuje (wyświetla) pliki i katalogi.
ls -l – wyświetla wszystkie pliki i katalogi z pełną nazwą, uprawnieniami itd.
ls -al – to co wyżej z tym, że pokazuje również pliki niewidoczne czyli z kropką
ls
ls -al /etc
touch touch nazwa_pliku – tworzy plik o podanej nazwie
touch plik.txt
> Przekierowanie.
Pozwala np. przekierować wyniki polecenia do pliku. Jeśli ten plik nie istnieje to zostanie utworzony.
dmesg >plik.txt
mkdir Tworzenie katalogu
mkdir zdjecia
rm rm nazwa_pliku – usuwa dany plik
rm -r katalog – rekursywnie usuwa zawartość katalogu z podkatalogami
rm plik.txt

rm -r zdjecia
rmdir Usuwa katalog
rmdir zdjecia
cp Kopiowanie plików.
cp źródło cel
cp /dokumenty/plik.txt ~/nowedokumeny/
mvZmiana nazwy lub przenoszenie
mv źródło cel
Mv ~/muza/plik.mp3 ~/muza1/plik1.mp3




Uprawnienia do plików

Pliki i katalogi posiadają 10 bitów protekcji w układzie drwxrwxrwx, gdzie: 
d – katalog, l- link, r- odczyt (read), w- zapis (write), x – wykonanie (execute).
1 bit to oznaczenie czy jest to katalog czy link
2-4 bit to prawa dostępu dla właściciela
5-7 bit to prawa dla grupy właściciela
8-10 bit to prawa pozostałych.
Ustawiając kolejne bity nadajemy prawa dostępu dla użytkowników.


Polecenie Opis                                              Przykład  
chmod
Zmiana uprawnień do plików - Zapis literowy:
u -użytkownik, g-grupa, o – reszta, a- wszyscy.
'+' - dodaje uprawnienia
'-' - zabiera uprawnienia
chmod komu+uprawnienie nazwa_pliku

UWAGA! chmod a+rwx plik – daje wszystkie prawa wszystkim użytkownikom
chmod g+w plik.txt

(grupa dostaje możliwość czytania pliku, pozostałe uprawnienia bez zmian)
chmod
Zmiana uprawnień do plików - Zapis liczbowy:
r w x r w x r w x literowo
1 1 1 1 1 0 1 0 0 binarnie
7 6 4 dziesietnie

chmod wartość_dziesiętna nazwa_pliku
UWAGA! chmod 777 plik – daje wszystkie prawa wszystkim użytkownikom
chmod 760 plik.txt

(grupa dostaje możliwość czytania pliku, pozostałe uprawnienia bez zmian)
chown Zmiana właściciela pliku.
chown nowy_właściciel nazwa_pliku
chown genek plik.txt
chgrp Zmiana grupy.
chgrp nazwa_grupy nazwa_pliku
chgrp uczniowie plik.txt

---------------------------------------------------------------------------------

Instalacja plików z repozytoriów

Poniższe polecenia działają w systemie Debian i pochodnych czyli Ubuntu, Linuxmint.
Polecenia należy wykonywać z uprawnieniami administracyjnymi stąd sudo.

Aktualizacja repozytoriów – pobiera nowe listy pakietów (programów, bibliotek, gier itd.).
sudo apt-get update


Aktualizacja systemu
sudo apt-get upgrade

Aktualizacja dystrybucji
sudo apt-get dist-upgrade

Instalacja programu
sudo apt-get install nazwa_pakietu

Usuwanie programu
sudo apt-get remove nazawa_pakietu

Pełne usuwanie pakietu łącznie z plikami konfiguracyjnymi
sudo apt-get purge nazwa_pakietu

---------------------------------------------------------------------------------

Instalacja ze źródeł

Pobieramy paczke np nSnake https://github.com/alexdantas/nSnake

Rozpakowujemy
Wchodzimy do katalogu
Wykonujemy polecenia

$ make
$ [sudo] make install

odpalamy 
$ nsnake



W przypadku braku ncourser.h

$ sudo apt-get install libncurses5-dev libncursesw5-dev


---------------------------------------------------------------------------------


Archiwa

Tar
Opcje:
x - odczytuje podane pliki z nazwa_archiwum
c - tworzy nowe nazwa_archiwum; usuwając to, co było w nazwa_archiwum
v - wyświetlanie nazw dołączanych plików
o - pliki odczytywane z nazwa_archiwum otrzymują nazwę właściciela i grupy, jaką ma osoba je odczytująca
f - używa archiwum o nazwie nazwa_archiwum
t - wyświetla nazwy plików, króre znajdują się w nazwa_archiwum
r - dodaje pliki do nazwa_archiwum

Pakowanie tar

$ tar -cvf archiwum.tar *.*   //wszystkie pliki do archiwum.tar

Rozpakowywanie archiwum tar

$ tar -xvf /user/jankowalski/pliki.tar

Pakowanie tar.gz


$ tar -zcvf archiwum_skompresowane.tar.gz pliki

Rozpakowywanie archiwum tar.gz

$ tar -zxvf archiwum_skompresowane.tar.gz


Rozpakowanie zip


$ unzip plik.zip -d [katalog docelowy]


---------------------------------------------------------------------------------

Ciekawostki i rozrywka w konsoli


Yes
$ yes I love inf{mat}

Krowa

$ sudo apt-get install cowsay
$ cowsay 'I love inf{mat}'


asciiart url  //zamiana obrazu na ascii

$ sudo apt-get install asciiart

np.
$ asciiart https://bip.wolsztyn.pl/e,pobierz,get.html?id=23680


Film w asciiart
zainstaluj mplayer

$ sudo apt-get install mplayer

mplayer -vo caca film.avi


gwiezdne wojny w telnecie

$ telnet towel.blinkenlights.nl  

Ciuchcia
$ sudo apt-get install sl
$ sl


GRY

Gry konsolowe


ascii-patrol

http://ascii-patrol.com/alpha1.html
asciijump

ninvaders

$ sudo apt-get install ninvaders
$ ninvaders


nSnake
$ sudo apt-get install nsnake
$ nsnake


2048

$ sudo apt-get install libncurses5-dev
$ sudo apt-get install libsdl2-dev libsdl2-ttf-dev
$ sudo apt-get install 2048-cli

Moon Buggy

$ sudo apt-get install moon-buggy

DODATEK