Linux parancsok segédanyag
Alap parancsok
| Parancs | Funkció |
|---|---|
man [parancs] |
adott parancs felhasználói kézikönyvének a megnyitása |
man ls |
ls parancs manualjának a megnyitása |
which [parancs] |
parancs teljes elérési útvonalának a kiírása |
which ls |
ls parancs elérési útvonalának a kiírása |
whereis [parancs] |
a parancshoz tartozó dokumentáció, forrásfájlok, és kapcsolódó könyvtárak kiírása |
whereis ls |
ls parancs és kapcsolódó anyagainak a kiiratása |
hostname |
hoszt név kiírása |
whoami |
aktuális felhasználó kiírása |
id |
aktuális felhasználó és csoport információk kiírása |
passwd |
jelszó megváltoztatása |
su [felhasználónév] |
átváltás másik felhasználóra |
su noob |
átváltás a noob felhasználóra |
uname |
rendszerinformációk kiírása |
sudo [parancs] |
parancs futtatása rendszergazdai jogokkal |
sudo cat /etc/shadow |
a shadow fájl kiírása rendszergazdai jogokkal |
clear |
terminál törlése |
history |
a korábban használt parancsok kiírása |
echo [szöveg] |
szöveg kiírása |
echo "Hello world!" |
„Hello world!” |
df -h |
tárhely adatok kiírása |
lsblk |
blokkeszközök kilistázása |
fdisk -l |
merevlemez partíciós táblájának megtekintése |
ps -eF |
futó folyamatok kilistázása |
top |
futó folyamatok, memória, cpu használat kiírása |
kill [pid] |
futó folyamat ‘kilövése’ process id alapján |
Fájl/könyvtár kezelés
| Parancs | Funkció |
|---|---|
pwd |
aktuális könyvtár kiírása |
ls |
könyvtár tartalmának kilistázása |
cd [könyvtár] |
könyvtár váltás |
cd /etc |
belépés a /etc könyvtárba |
mkdir [könyvtárnév] |
könyvtár létrehozása |
mkdir valami |
valami nevű könyvtár létrehozása |
cp [forrásfájl] [célfájl] |
fájl/könyvtár másolása |
cp valami.txt /tmp/valami.txt |
valami.txt másolása az aktuális könyvtárból a /tmp könyvtárba |
mv [forrásfájl] [célfájl] |
mozgatás/átnevezés |
mv valami.txt cucc.txt |
valami.txt átnevezése cucc.txt-re |
rm [fájl] |
fájl törlése |
rm valami.txt |
valami.txt törlése |
rmdir [könyvtár] |
könyvtár törlése (csak üres könyvtárral működik) |
rmdir valami |
valami nevű üres könyvtár törlése |
touch [fájl] |
üres fájl létrehozása/létező fájl utolsó módosítási idejének megváltoztatása |
file [fájl] |
fájl típusának a kiírása |
file valami.txt |
valami.txt típusának a kiírása |
cat [fájl] |
fájl tartalmának a kiírása |
cat valami.txt |
valami.txt tartalmának a kiírása |
head [fájl] |
fájl első pár sorának a kiírása |
head valami.txt |
valami.txt első sorainak kiírása |
tail [fájl] |
fájl utolsó pár sorának a kiírása |
tail valami.txt |
valami.txt utolsó sorainak kiírása |
strings [fájl] |
a fájlban olvasható stringek kiiratása |
locate [fájl] |
fájl keresés az adatbázis alapján |
locate valami.txt |
valami.txt keresése az adatbázis alapján |
find [hely] [opciók] |
keresés a megadott helyen a megadott opciók szerint |
find / -name valami.txt |
valami.txt keresése a / könyvtárban |
watch [parancs] |
parancs figyelése a megadott opciók szerint, alapbeállítás a 2 másodperc |
watch ls |
ls parancs figyelése |
Szöveg manipuláció
| Parancs | Funkció |
|---|---|
cut [opciók] [szöveg] |
szöveg darabolása a megadott szabályok szerint |
cut -d ":" -f 1 /etc/passwd |
a /etc/passwd fájl sorainak feldarabolása a kettőspontok mentén és az első mező kiiratása |
grep [keresett kifejezés] [szöveg] |
keresés a szövegben |
grep root /etc/passwd |
a root keresése az /etc/passwd fájlban |
sed |
stream editor (szövegfolyamot lehet vele módosítani) |
sed 's/foo/bar/' /etc/passwd |
a /etc/passwd kiiratása, és a kiírt szövegben a ‘foo’ kicserélése ‘bar’-ra |
awk |
szöveges állományok feldolgozására tervezett programozási nyelv |
awk -F: '{print $1}' /etc/passwd |
a /etc/passwd soraiból a kettősponttal elválasztott mezők közül az első kiiratása |
sort [szöveg] |
szöveg sorbarendezése |
sort /etc/passwd |
a /etc/passwd fájl kiírása, sorok ABC sorrendben |
wc -l [fájl] |
fájl sorainak a megszámolása |
wc -l /etc/passwd |
/etc/passwd sorainak a megszámolása |
Lapozó programok, szövegszerkesztők
morelessmostnanovi/vim
Csomagkezelés
| apt parancs | apt-get parancs | Funkció |
|---|---|---|
apt install [csomag] |
apt-get install [csomag] |
Csomag telepítése. |
apt remove [csomag] |
apt-get remove [csomag] |
Csomag törlése. |
apt purge [csomag] |
apt-get purge [csomag] |
Csomag törlése a konfigurációs fájlokkal együtt. |
apt search [kereső kifejezés] |
apt-cache search [keresett kifejezés] |
Csomag keresése a repository-ban. |
apt update |
apt-get update |
Csomag listák frissítése. |
apt upgrade |
apt-get upgrade |
Telepített csomagok frissítése. |
| parancs | funkció |
|---|---|
dpkg -i [deb csomag |
Csomag telepítése fájlból. |
dpkg -i mc_4.8.15-2_amd64.deb |
MC telepítése fájlból. |
Operátorok
| Operátor | Funkció |
|---|---|
[parancs] & |
Az adott parancsot háttérben indítja el. |
[parancs] && [parancs2] |
A második parancs csak akkor fut le, ha az első parancs sikeresen végrehajtásra került. |
[parancs] | [parancs2] |
A második parancs csak akkor fut le, ha az első parancs NEM került végrehajtásra. |
[parancs] ; [parancs2] |
A második parancs végrehajtása független attól, hogy az első parancs lefutott-e vagy sem. |
Felhasználók/csoportok
| Parancs | Funkció |
|---|---|
adduser [username] |
új felhasználó létrehozása |
adduser jakab |
jakab nevű felhasználó létrehozása |
adduser [username] [group] |
létező felhasználó hozzáadása csoporthoz |
adduser jakab sudo |
jakab felhasználó hozzáadása a sudo csoporthoz |
deluser [username] |
felhasználó törlése |
deluser jakab |
jakab törlése |
deluser [username] [group] |
felhasználó törlése csoportból |
deluser jakab sudo |
jakab törlése a sudo csoportból |
usermod [options] [username] |
felhasználó beállításainak módosítása |
usermod -s /bin/zsh jakab |
jakab alapértelmezett shelljének átállítása a zsh-ra |
su [username] |
átváltás másik felhasználóra |
su jakab |
átváltás jakab felhasználóra |
Átirányítások
| Átirányítás | Funkció |
|---|---|
stdout: >, >> |
A kimenet átirányítása. |
echo Hello > hello.txt |
A Hello nem a terminálra kerül kiírásra, hanem a hello.txt-be kerül bele. |
echo world! >> hello.txt |
A world!beírása hello.txt végére. |
stderr: 2>, 2>> |
A hibaüzenetek átirányítása. |
find / -name hello.txt 2> /dev/null |
A parancs futása során a hibaüzeneteket nem írja ki a terminálra, hanem a /dev/null-ba dobja (nem lesz megjelenítve sehol) |
stdin: < |
A bemenet átirányítása. |
adduser jakab < user.txt |
Az adduser parancs futtatása során az adatokat nem a billentyűzetről adjuk be neki, hanem user.txt fájlból. |
pipe: | |
egyik parancs kimenetének átirányítása a másik parancs bemenetére |
grep kali /etc/shadow | cut -d : -f1,2 |
a /etc/shadow fájlból a kali kifejezést tartalmazó sorok kiírása, majd feldarabolása a : mentén, és az 1. és 2. mező kiírása |
Jogosultságok
| Parancs | Funkció |
|---|---|
chmod [UGO] [file] |
Adott fájl/könyvtár jogosultságainak beállítása számokkal. |
chmod 751 script |
A script fájl beállítása: tulajdonos olvas, ír, végrehajt; csoport olvas, végrehajt; mások csak végrehajt. |
chmod [who] [operator] [permission] [file] |
Jogosultság hozzáadása/elvétele. |
chmod ug+w script |
A script fájlhoz írási jogot ad a tulajdonosnak és a csoportban lévőknek. |
chmod o-x script |
A script fájl futtatási jogának elvétele a ‘másoktól’ |
chmod u=rwx,g=rx,o=x script |
A script fájl jogainak egy parancsban történő beállítása. Tulajdonos: mindent csinálhat; Csoport: olvashat, futtathat; Mindenki más: csak futtathat. |
chown [user]:[group] [file] |
Fájl tulajdonosának és csoportjának megváltoztatása. |
chown root:root valami.txt |
A valami.txt tulajdonosa a root lett és a root csoporthoz tartozik. |
| who | operator | permission |
|---|---|---|
u – user (tulajdonos) |
+ – jog hozzáadása |
r – read (olvasási jog) |
g – group (csoport) |
- – jog elvétele |
w – write (írási jog) |
o – others (mások) |
= – jogok beállítása |
x – execute (végrehajtási jog) |
a – all (mindenki) |
s – setuid/setgid (tulajdonos/csoport jogaival futtatható) |
|
t – sticky bit |
Ütemezett feladatok
| Parancs | Funkció |
|---|---|
crontab -e |
Saját ütemezett feladatok szerkesztése. |
cronatb -l |
Saját ütemezett feladatok listázása. |
crontab -r |
Saját ütemezett feladatok törlése. |
crontab -u [user] [-e | -l | -r] |
Másik felhasználó ütemezett feldatai. |
crontab -u jakab -l |
jakab felhasználó ütemezett feladatainak a kilistázása. |
Fontos könyvtárak/fájlok
| Könyvtár/fájl | Funkció |
|---|---|
/home/[username] |
Minden felhasználó kap egy saját könyvtárat a /home könyvtárban a saját nevére. |
.bashrc, .zshrc |
A saját könyvtárban található. Az adott shell-re vonatkozó alapbeállítások/parancsok, melyek minden shell indításkor lefutnak. |
/etc/login.defs |
Felhasználók belépésével kapcsolatos alapbeállítások. Pl.: jelszó lejárati idő, jelszó cserék közti idő, stb. |
/etc/security/pwquality.conf |
Jelszó bonyolultsággal kapcsolatos beállítások. |
/etc/default/keyboard |
Billentyűzettel kapcsolatos beállítások. |
/etc/adduser.conf |
Az adduser parancscsal létrehozásra kerülő új felhasználók alapértelmezett beállításai. |
/etc/skel |
Ebben a mappában vannak az úgynevezett ‘skeleton’ fájlok: .bashrc, .zshrc, .profile, stb. |
Regex, wildcards
| Regex kifejezés | Funkció |
|---|---|
* |
0 vagy több karakter |
+ |
1 vagy több karakter |
? |
0 vagy 1 karakter |
{m} |
pontosan m karakter |
{m,n} |
m-től n-ig |
^ |
^ után lévő karakterrel kezdődik a keresett kifejezés |
^a |
a-val kezdődik a kersett kifejezés |
$ |
a $ előtt lévő karakterrel végződik a keresett kifejezés |
a$ |
a-val végződik a keresett kifejezés |
[ ] |
a szögletes zárójeleken belül megadott karakterek közül valamelyik |
[A-Za-z] |
az ABC nagy- és kisbetűi közül kell lennie |
\s |
whitespace karakter |
\b |
szó határ |
( ) |
karakter csoportosítás |
Példa regex:
IP címekre illeszkedő regex:
'\b(([0-9]{1,2}|1[0-9]{2}|2[0-5]{2})\.){3}([0-9]{1,2}|1[0-9]{2}|2[0-5]{2})\b'
Email címekre illeszkedő regex:
'\b([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})\b'
================================================================================
LINUX SEGÉDLET
================================================================================
1. JELSZÓ LEJÁRAT ( /etc/login.defs )
————————————————-
PASS_MAX_DAYS 30
PASS_MIN_DAYS 3
PASS_WARN_AGE 2
2. JELSZÓ BONYOLULTSÁG ( /etc/pam.d/common-password )
——————————————————————
Telepítés: sudo apt install libpam-pwquality
Sor végére: retry=3 minlen=6 lcredit=-1 ucredit=-2 dcredit=-1 ocredit=-1 enforce_for_root
3. FELHASZNÁLÓK ÉS JOGOK
—————————————
sudo useradd -m proba01
sudo useradd -m proba02
sudo useradd -m proba03
echo „proba01:Tesztvizsga123.” | sudo chpasswd
sudo usermod -aG sudo proba01
4. SZKRIPT ÉS ÜTEMEZÉS (proba01-ként)
—————————————————
Mappák: mkdir Programok Adatok
Script (nano ~/Programok/tesztlogs.sh):
#!/bin/bash
tail -n 2 /etc/passwd >> /home/proba01/Adatok/mylogs.txt
Jogosultság: chmod 751 ~/Programok/tesztlogs.sh
Ütemezés (crontab -e):
0 * * * * /home/proba01/Programok/tesztlogs.sh
5. SSH SZERVER BEÁLLÍTÁS ( /etc/ssh/sshd_config )
—————————————————————
Port 4265
PermitRootLogin no
MaxAuthTries 6
PermitEmptyPasswords no
X11Forwarding no
Banner /home/kali/banner.txt
6. KULCSKEZELÉS ÉS MÁSOLÁS
—————————————-
Generálás: ssh-keygen -t rsa
Másolás: ssh-copy-id -p 4444 [felhasznalo]@10.128.1.110
Fájlküldés: scp -P 4444 [fájl] [felhasznalo]@10.128.1.110:~/
7. EGYÉB PARANCSOK
——————————–
Telepítés: sudo apt install tmux gimp-help-fr
Letöltés: wget http://10.128.1.59/examchecker_tesztvizsga.sh
Futtatási jog: chmod +x examchecker_tesztvizsga.sh
================================================================================