PJs list Flashcards
(215 cards)
- Linux. Filesystem
home
home
katalogi domowe użytkowników, dokumenty, muzyka i wszystkie inne pliki danego użytkownika
- Linux. Filesystem
root
root
katalog domowy użytkownika root
- Linux. Filesystem
bin
bin
pliki binarne dla podstawowych narzędzi systemowych, programów
- Linux. Filesystem
etc
etc
pliki konfiguracyjne i ustawienia systemowe
- Linux. Filesystem
lib
lib
pliki bibliotek do programów z katalogów /bin i/ sbin
- Linux. Filesystem
var
var
pliki ulegające zmianom: logi, bazy danych itp.
- Linux. Filesystem
/
/
folder główny (root)
- Linux. BASH
Bash komendy:
pwd
bieżący katalog
(ang. print working directory) - wyświetla ścieżkę do katalogu, w którym aktualnie się znajdujesz
- Linux. BASH
Bash komendy:
find
wyszukiwanie plików/katalogów
(ang. find)
Polecenie find w sposób rekurencyjny wyszukuje pliki w podanych katalogach według zadanego kryterium i opcjonalnie wykonuje podane polecenia dla znalezionych plików.
DODATKOWE INFO:
Możliwości tworzenia kryteriów są dosyć rozbudowane, więc podamy tylko kilka przykładów wykorzystujących tylko niektóre opcje.
Najczęściej find służy po prostu do szukania plików. Na przykład, aby znaleźć wszystkie zwykłe pliki (wyłączając katalogi) o rozszerzeniach c, cpp i h w katalogu kat, można użyć polecenia:
find kat -type f ( -name “.c” -o -name “.cpp” -o -name “*.h” )
Opcja -type f powoduje, że wyświetlone będą tylko pliki. Następny warunek, który musi być spełniony, aby dany plik był wyświetlony znajduje się w nawiasach. Są to trzy opcje -name, określające możliwe rozszerzenia, połączone opcjami -o, które pełnią rolę logicznego operatora OR.
Jest szereg opcji kontrolujących format wyświetlania znalezionych plików. Np.
find kat -printf “%f\n”
wyświetli samą nazwę pliku bez ścieżki do katalogu, w którym dany plik się znajduje.
find może być używany do usuwania plików. Np.
find kat -type f ( -name “~” -p -name “.bak” ) -delete
usuwa rekurencyjnie wszystkie pliki backupowe z katalogu kat.
Można też kazać wykonać jakieś polecenie, które operuje na znalezionych plikach. Np.
find kat -name dok.txt -exec bash -c ‘echo -e “\nAutor: Jan Kowalski”»_space; {}’ \;
Powyższe polecenie dla wszystkich plików o nazwie dok.txt znajdujących się w katalogu kat doda na koniec pliku podpis ‘Autor: Jan Kowalski’
Opcja -c dla polecenia bash powoduje wykonanie argumentu w nowym shellu. Tym argumentem jest polecenie
echo -e “\nAutor: Jan Kowalski”»_space; {}
gdzie symbol {} polecenie find zastępuję nazwą znalezionego pliku wraz ze ścieżką.
- Linux. BASH
Bash komendy:
ls
lista plików i katalogów (ang. list) - wylistowuje wszystkie elementy, które znajdują się w danej lokalizacji
DODATKOWE INFO:
. obecny katalog
. . katalog nadrzędny
Komenda ls może przyjmować wiele argumentów:
-R wyświetla zawartość katalogów rekurencyjnie, czyli rozwija wszystko ( katalogi i podkatalogi)
-h output sizes in human readable format
-a wyświetla wszystkie pliki, również pliki ukryte; w Linuksie pliki ukryte to takie, które zaczynają się od kropki
-l wyświetla dokładną informację o każdym z plików (atrybuty, rozmiar, datę modyfikacji, itp.)
-t sort the list by modification time. Default is alphabetically.
- Linux. BASH
Bash komendy:
cd
zmiana katalogu (ang. change directory)
cd zmienia aktualny katalog na katalog podany w argumencie polecenia. Wywołanie cd bez argumentów zmienia katalog na katalog domowy aktualnego użytkownika.
DODATKOWE INFO:
~
katalog domowy aktualnego użytkownika
~/kat1
katalog kat1 w katalogu domowym aktualnego użytkownika
~ktos
katalog domowy użytkownika o loginie ktos
~ktos/kat1/kat2
katalog kat1/kat2 w katalogu domowym użytkownika o loginie ktos
Przypomnijmy, że są też następujące katalogi:
. bieżący katalog
.. katalog nadrzędny
/ katalog główny
- Linux. BASH
Bash komendy:
mkdir
tworzenie katalogu (ang. make directory)
-p tworzy nowy plik i całą ścieżkę do niego
DODATKOWE INFO:
Tworzy katalog podany jako argument. Z opcją -p tworzy również katalogi, które są potrzebne do utworzenia katalogu docelowego. Na przykład jeśli wywołamy
mkdir kat1/kat2
to, aby utworzyć kat2, musi istnieć kat1, a jeśli wywołamy
mkdir -p kat1/kat2
to, jeśli nie istnieje kat1, to jest tworzony i dopiero potem następuje utworzenie kat2 w katalogu kat1.
- Linux. BASH
Bash komendy:
rmdir lub rm
ang. remove directory lub remove
rmdir usuwa katalog tylko wtedy, gdy jest on pusty
rm usuwa katalog wraz z jego zawartością
DODATKOWE INFO:
Możemy poprosić o pytanie przed usunięcie każdego pliku dodając opcję -i. Możemy także poprosić o to, aby nie pojawiały się żadne pytania dodając opcję -f. Przy tej opcji trzeba zachować ostrożność.
- Linux. BASH
Bash komendy:
cp
kopiowanie plików/katalogów (ang. copy)
DODATKOWE INFO:
cp plik1 plik2
kopiuje plik1 i zapisuje go jako plik2, jeśli plik2 istnieje, to go nadpisuje,
cp plik1 … plikn katalog
kopiuje pliki do katalogu, jeśli jakiś plik istnieje już w katalogu docelowym, to zostaje on nadpisany,
cp -a katalog1 katalog2
kopiuje rekurencyjnie katalog1 wraz zawartością; jeśli katalog2 istnieje, to kopia katalog1 zostanie umieszczona w tym katalogu, tzn. po wykonaniu tej operacji w katalog2 będzie katalog1 wraz zawartością; jeśli katalog2 nie istnieje, to kopia zawartości katalog1 znajdzie się w katalog2, tzn. katalog2 zostanie utworzony, a zawartość katalog1 będzie skopiowana do katalog2.
Jeśli chcemy, aby cp pytało nas, czy nadpisywać istniejące już pliki, to dodajemy opcję -i.
Jeśli chcemy, aby cp nie pytało nas, czy nadpisywać istniejące już pliki, to dodajemy opcję -f.
- Linux. BASH
mv
przenoszenie/zmiana nazwy pliku/katalogu
(ang. move). Jedyna funkcja w Linuxie, która pozwala zmienić nazwę pliku (poprzez nadpisanie)
DODATKOWE INFO:
mv plik1 plik2
zmienia nazwę plik1 na plik2 (jak jest taka potrzeba wykonane jest także przeniesienie pomiędzy katalogami),
mv plik_lub_katalog1 … plik_lub_katalogn …. katalog
w tej wersji katalog podany w ostatnim argumencie musi istnieć; wszystkie pliki i katalogi są przenoszone do tego katalogu,
mv katalog1 katalog2
jeśli katalog2 nie istnieje, to zmieniana jest nazwa podobnie jak przy pierwszym sposobie wywołania, a jeśli katalog2 istnieje, to zachowanie jest takie samo jak w poprzednim sposobie wywołania.
Podobnie jak przy poleceniu cp możemy dodawać opcję -i lub -f aby ustawić opcję potwierdzania nadpisywania istniejących plików.
mv test3 folder aby przenieśc
- Linux. BASH
Bash komendy:
touch
uaktualnianie daty pliku, bądź utworzenie nowego pliku
- Linux. BASH
Bash komendy:
cat
wypisanie zawartości pliku (ang. concatenate )
This command displays the contents of one or more files without having to open the file for editing
Przy braku argumentów cat po prostu kopiuje standardowe wejście na standardowe wyjście. Przy jednym argumencie wypisuje zawartość pliku o podanej nazwie na standardowe wyjście. Przy większej liczbie argumentów cat wypisuje na standardowe wyjście wszystkie pliki w kolejności, w jakiej zostały one podane. W ten sposób możemy łączyć kilka plików w jeden.
- Linux. BASH
Bash komendy:
grep
przeszukiwanie zawartości plików
(ang. global regular expression* print) za pomocą wzorca
Używa podstawowych wyrażeń regularnych
Podstawowe użycie, to
grep wzorzec
lub
grep wzorzec plik
lub
grep wzorzec plik1 plik2 …
Np. grep ,,Litwo” pantadeusz.txt
- Zwykle wyrażenie regularne w nazywamy „regex” lub „regexp” od skrótu angielskiego terminu: regular expressions. Wyrażenia regularne to po prostu wzorzec, który opisuje określony tekst do wyszukania. Dodatkowo warto wspomnieć, że nie jest to żadna biblioteka czy język programowania.
DODATKOWE INFO:
W wersji z wieloma plikami wzorzec wyszukiwany jest w każdym pliku. Wyświetlane są linie zawierające wystąpienie wzorca poprzedzone nazwą pliku, w którym został on znaleziony.
Ponadto jest wiele opcji kontrolujących sposób szukania i wyświetlane informacje. Oto najprzydatniejsze z nich.
-e wzorzec
sposób podania wzorca, gdy wyrażenie regularne może zaczynać się od znaku -
-i
ignoruje rozróżnianie wielkich liter,
-c
zlicza tylko liczbę wystąpień wzorca,
-w
dopasowuje wzorzec tylko do całych słów,
-x
dopasowuje wzorzec tylko do całych linii,
-v
odwraca sens dopasowania i wyszukuje tylko linie w których nie udało się dopasować wzorca,
-q
nic nie wypisuje na standardowe wyjście i kończy działania na pierwszym dopasowaniu; przydatne, gdy polecenie grep chcemy użyć jako warunku.
grep zwraca zero jako kod wyjścia, gdy wzorzec uda się znaleźć i wartość niezerową w przeciwnym przypadku
Pokrewne komendy:
less - otwiera plik jako osobną stronę po której możemy się poruszać i ją przeszukiwać
more - otwiera plik podobnie jak less, ale dzieli go na strony po których łatwiej jest się poruszać
- Linux. BASH
Bash komendy
pipe
Łącznik | (ang. pipe) można go użyć z komendą np. grep
Pipe, jest to mechanizm, przekazywania strumienia danych z wyjścia jednej komendy na drugą.
Przykłady użycia:
Załóżmy, że chcemy wyciągnąć tylko katalogi z lokalizacji /etc
W tym celu wykonamy komendę
ls -l /etc | grep “^d”
- Linux. BASH
Co to ~bash?
Powłoka systemu UNIX (ang. bash shell)
Bash to jedna z najpopularniejszych powłok systemów uniksowych. Jest domyślną powłoką w większości dystrybucji systemu GNU/Linux oraz w systemie macOS od wersji 10.3 do 10.14
- Linux. Administracja użytkownikami
- tworzenie nowego użytkownika
Łączę się z serwerem np. przez SSH loguję się jako root lub korzystam z polecenia sudo.
Tworzę grupę główną, do której będzie przynależał mój użytkownik
$ sudo addgroup nazwagrupy*
$ cd
$sudo adduser nazwaużytkownika
Powłoka prosi o hasło (na filmiku widziałam ,że brali je jakoś z pliku):
Enter UNIX password:
Powłoka: prosi o inne info dot usera (moge je pominąć spacją):
Full Name [] :
Room Number [] :
Work Phone [] :
….
Tworzy się wtedy katalog domowy użytkownika i jest on dodawany do grupy głównej. W celu zdefininiowania dodatkowych uprawnień użytkownik może zostać przydzielony do grup podrzędnych.
Użytkownikowi można zdefiniowaćjedną grupę główna iwiele grup podrzędnych.
Aby dodać użytkownika doistniejącej grupy:
$ sudo usermod -a -G <nazwagrupy> <nazwausera></nazwausera></nazwagrupy>
- a jest od append
- G jest od Group
- Linux. Administracja użytkownikami
- usuwanie użytkownika
Łączę się z serwerem np. przez SSH loguję się jako root i wpisuję w powłokę:
$sudo deluser nazwa_użytkownika
- Linux. Administracja użytkownikami
- weryfikacja użytkownika
W celu weryfikacji poprawnego utworzenia użytkownika, zrzuć połączenie SSH i spróbuj ponownie zalogować się do serwera za pomocą danych logowania tegoż użytkownika.
Zauważysz, że nazwa użytkownika jest dokładnie nazwą wcześniej utworzonego konta.
- Linux. Administracja użytkownikami
jak nadać uprawnienia
sudo użytkownikowi?
Dodajemy tego użytkownika do grupy sudo za pomocą usemode.
Łączę się z serwerem, loguje się jako root i wpisuje w powłokę:
$ usermod -a -G sudo użytkownik
Aby wyświetlić grupy, do których przydzielony jest użytkownik wpisuję:
$ getent grupa | grep użytkownik
Aby wyświetlić powiązania grupy sudo wpisuję:
$ getent gruoa | grep sudo