Sorvége jel Linux, Mac és Windows alatt, folyamat kezelés parancssorból

Az ún. szövegfile-ok feldolgozása soronként történik. A sorvége karakterek a CR – carriage return, escape szekvenciája \r, (decimális kódja 13, hexadecimálisan pedig 0D, jelölik még ^M, azaz CTRL+M-ként is, “CTRL+V CTRL+M”-ként lehet “előhozni”), illetve az LF – line feed, azaz shell scriptben vagy c-ben jelölve \n (decimális kódja 10, hexadecimálisan pedig 0A).

Linux alatt – illetve OS X alatt is – ez “\n”, klasszikus Mac alatt “\r”, Windows alatt pedig “\r\n”. Látható tehát, hogy teljes káosz. 🙂

https://en.wikipedia.org/wiki/Newline

Nézzünk meg néhány hasznos billentyűzet kódot Linux/UNIX alatt, illetve a folyamat kezelés ide vonatkozó részeit!

CTRL+C: SIGINT, megszakítás, azaz interrupt, vagyis “kill
CTRL+Z
: SIGTSTP, az előtérben futó processz megszakítása, szoktak utána “bg <ENTER>“-t beírni, így a processz háttérben (background) tovább fut, jobs parancs-csal lehet kiírni a futó processzeket, illetve fg (foreground) paranccsal újra “előtérbe hozni” – eleve “háttérben” a sor végi “&” jellel lehet indítani egy folyamatot/processzt
CTRL+D: file vége, úgyis mint exit parancs a shellben, pl. bash-ban

CTRL+L: képernyőtörlés – ugyanaz, mint a “clear” parancs
CTRL+S
: leállítja a képernyőre/terminálba küldött “kimenetet”
CTRL+Q: a CTRL+S-sel leállított kimenetet “folytatja”

https://www.howtogeek.com/howto/ubuntu/keyboard-shortcuts-for-bash-command-shell-for-ubuntu-debian-suse-redhat-linux-etc/

https://www.thegeekdiary.com/understanding-the-job-control-commands-in-linux-bg-fg-and-ctrlz/

Linux parancsok II. – és a pipeline

Linux illetve UNIX-ok alatt van egy nagyon izgalmas eszköz a fejlesztő vagy rendszergazda kezében. Ez a “|” pipe jel. 🙂

https://www.guru99.com/linux-pipe-grep.html

A “|” pipe jel segítségével az egyik parancs kimenetét a következő parancs bemenetére köthetjük, így létrehozva egy pipeline-t, azaz egy csővezetéket. Értsd: egy parancs STDOUT-ját a következő parancs STDIN-jére lehet kötni. Természetesen több tagon keresztül lehet “vezetni” az adatfolyamot.

Nézzük meg a Linux/UNIX világ két legkedveltebb pager-ét, a more-t és a less-t.

gvamosi@gergo1:~$ ls -lR / | more

gvamosi@gergo1:~$ ls -lR / | less

A közös bennük, hogy az ls -lR miatt várhatóan jó hosszú listába engednek betekintést nyújtani, hiszen erre vannak kitalálva. A more csak előre “lép”, és minden UNIX rendszeren telepítve van, a less oda-vissza hagyja magát scrollozni, és implementációfüggő. 🙂

Bonyolítsuk meg a grep, azaz az egrep (reguláris kifejezések megengedettek, leírása később) funkcióval, és a hiba STDERR kimenetet irányítsuk át a null device-ba, azaz a “semmibe”.

gvamosi@gergo1:~$ ls -lR / 2> /dev/null | egrep "/home/gvamosi:$"
/home/gvamosi:

Ez a parancs egyszer ki fogja írni a “/home/gvamosi:” sztringet, mivel a gvamosi felhasználó által bebarangolható könyvtárak és fájlok között a saját home könyvtára egyszer szerepel. A grep parancs egyébként sor szinten keres szövegben adott mintát (szöveg vagy reguláris kifejezés). 🙂

Hogy miért írok a parancssori csővezetékről, azaz a pipeline-ról? A válasz abban rejlik, hogy ez mindenhol visszaköszön az infotudományban. Akár a TCP/IP adatátviteli protokoll stack, tehát az internetet felépítő protokollstruktúra – hiszen tekinthetjük a hálózatot csővezetéknek, akár egy modern és friss terminológia, a “Pipeline as Code” Jenkins alatt. 🙂

https://hu.wikipedia.org/wiki/TCP/IP

https://jenkins.io/doc/book/pipeline-as-code/

Mi az a UNIX? Honnan ered a Linux? Mi a csoda az a GNU?

A UNIX matematikai alapokon nyugszik. Igen, kell a matek! 🙂 Alapvetően két fő ágba sorolhatóak a UNIX operációs rendszerek. Ezek: System V illetve POSIX (Portable Operating System Interface for uniX).

A Linux a POSIX családba tartozik, ide tartozik még – a teljesség igénye nélkül – a BSD, a Mac OS X, a QNX és a Windows NT is. 🙂

https://hu.wikipedia.org/wiki/POSIX

Aztán vannak az ún. System V derivátumok, ezek – a teljesség igénye nélkül: AIX, SCO, Solaris, OpenSolaris és HP-UX.

https://hu.wikipedia.org/wiki/UNIX_System_V

A különbség abból adódik, hogy a POSIX később keletkezett, ezért pl. az IPC – az Inter Process Communication, vagyis a folyamatok közötti kommunikáció – újabb implementációt kapott. Ezen kívül több markáns különbség van pl. egy RedHat Linux és egy Solaris operációs rendszer kezelése között. Nem utolsó sorban a Linux rendszereken a GNU összes csomagja alapból helyet kapott, ami pl. egy Solaris UNIX esetében külön opció. 🙂

https://www.tutorialspoint.com/inter_process_communication/inter_process_communication_system_v_posix.htm

És a végére egy kis olvasnivaló a GNU-ról. A betüszó jelentése rekurzív (önhivatkozó) módon „GNU’s Not Unix”. 🙂

https://hu.wikipedia.org/wiki/GNU

Hackerek, figyelem! Mik azok a /etc/passwd és a /etc/group file-ok? :)

Nézzünk meg két sort a passwd file-ból!

root:x:0:0:root:/root:/bin/bash
gvamosi:x:1000:1000:gvamosi,,,:/home/gvamosi:/bin/bash

A root user, a rendszergazda szerepel benne az első sorban, 0-ás uid-del és gid-del (felhasználó id és csoport id), illetve saját magam, mint felhasználó, az első, felhasználók számára kiosztott uid-del és gid-del, az 1000-essel.

Az itt szereplő gid a felhasználó alap csoport azonosítója. Az összes többi csoport-tagságot a groups paranccsal lehet lekérdezni.

gvamosi@gergo1:~$ groups
gvamosi cdrom floppy audio dip video plugdev netdev bluetooth scanner kvm libvirt libvirt-qemu

Látható, hogy jónéhány csoport-jogosultsággal is rendelkezek, mint gvamosi user. 🙂 Nézzük, hogy van ez lekönyvelve a group file-ban!

gvamosi@gergo1:~$ cat /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:
fax:x:21:
voice:x:22:
cdrom:x:24:gvamosi
floppy:x:25:gvamosi
tape:x:26:
sudo:x:27:
audio:x:29:pulse,gvamosi
dip:x:30:gvamosi
www-data:x:33:
backup:x:34:
operator:x:37:
list:x:38:
irc:x:39:
src:x:40:
gnats:x:41:
shadow:x:42:
utmp:x:43:
video:x:44:gvamosi
sasl:x:45:
plugdev:x:46:gvamosi
staff:x:50:
games:x:60:
users:x:100:
nogroup:x:65534:
systemd-journal:x:101:
systemd-timesync:x:102:
systemd-network:x:103:
systemd-resolve:x:104:
input:x:106:
crontab:x:107:
netdev:x:108:gvamosi
uuidd:x:109:
rtkit:x:110:
avahi-autoipd:x:111:
messagebus:x:112:
ssh:x:113:
bluetooth:x:114:gvamosi
geoclue:x:115:
pulse:x:116:
pulse-access:x:117:
scanner:x:118:saned,gvamosi
avahi:x:119:
colord:x:120:
saned:x:121:
Debian-gdm:x:122:
gvamosi:x:1000:
ssl-cert:x:123:
mysql:x:124:
kvm:x:125:gvamosi
libvirt:x:126:gvamosi
libvirt-qemu:x:64055:libvirt-qemu,gvamosi
sambashare:x:127:
render:x:105:
tss:x:128:
rdma:x:129:
systemd-coredump:x:999:

Jól látható, hogy a gvamosi felhasználó több csoportnál szerepel tagként.

És hogy hol vannak könyvelve a jelszavak – természetesen kódoltan? Ezek helye az ún. shadow file. Na ez már csak root-ként, azaz rendszergazdaként olvasható. 🙂

gvamosi@gergo1:~$ l /etc/shadow
-rw-r----- 1 root shadow 1467 Jun 19 04:01 /etc/shadow

Egy tetszőleges file vagy könyvtár tulajdonosát a chown, csoport tulajdonosát pedig a chgrp paranccsal tudjuk beállítani.

gvamosi@gergo1:~$ chgrp kvm tty3_terminal_alma.txt
gvamosi@gergo1:~$ ls -l tty3_terminal_alma.txt
-rw-r–r– 1 gvamosi kvm 497 Sep 4 07:09 tty3_terminal_alma.txt

Jogosultságkezelés filerendszer-szinten

Ha kérünk egy listát egy tetszőleges könyvtárban egy terminálablakban az ls -l paranccsal, akkor sok érdekességet látunk.

gvamosi@gergo1:~$ ls -l
total 64
drwxr-xr-x 3 gvamosi gvamosi 4096 Aug 22 04:30 Android
drwxr-xr-x 3 gvamosi gvamosi 4096 Aug 22 04:40 AndroidStudioProjects
drwxr-xr-x 2 gvamosi gvamosi 4096 Aug 22 04:15 Desktop
drwxr-xr-x 24 gvamosi gvamosi 4096 Sep 1 23:58 Documents
drwxr-xr-x 23 gvamosi gvamosi 12288 Aug 27 20:37 Downloads
-rwxr-xr-x 1 gvamosi gvamosi 25 Sep 8 11:10 ls.sh
drwxr-xr-x 3 gvamosi gvamosi 4096 Aug 28 2017 Music
drwxr-xr-x 4 gvamosi gvamosi 4096 Sep 2 14:21 ownCloud
drwxr-xr-x 2 gvamosi gvamosi 4096 Sep 7 13:43 Pictures
drwxr-xr-x 2 gvamosi gvamosi 4096 Aug 26 2017 Public
-rw-r--r-- 1 gvamosi gvamosi 3122 Mar 28 2017 Release.key
drwxr-xr-x 2 gvamosi gvamosi 4096 Aug 26 2017 Templates
-rw-r--r-- 1 gvamosi gvamosi 497 Sep 4 07:09 tty3_terminal_alma.txt
drwxr-xr-x 2 gvamosi gvamosi 4096 Aug 26 2017 Videos

A sor elején a d betű azt jelöli, hogy egy bejegyzés könyvtár-e. Az r bejegyzés az olvasási jog, a w bejegyzés az írási jog, és végül az x bejegyzés a “végrehajthatósági” jog, azaz hogy egy adott bejegyzés “executeable”-e vagyis futtatható-e.

Három csoportra lehet ezeket a flag-eket megadni, külön a gvamosi user-re, azaz felhasználóra, majd a gvamosi group-ra, azaz felhasználói csoportra és végül az egyéb felhasználókra.

Parancs szinten ez a következőképpen néz ki:

gvamosi@gergo1:~$ chmod o-x ls.sh
gvamosi@gergo1:~$ ls -l ls.sh
-rwxr-xr-- 1 gvamosi gvamosi 25 Sep 8 11:10 ls.sh

Így tudjuk az “others“-től, azaz a többi felhasználótól megvonni a jogot arra, hogy futtathassa a példa ls.sh parancsfile-unkat. Jól látható, hogy a harmadik csoportban eltűnt az x flag. 🙂

Nézzük meg még az úgynevezett symbolic link-eket. Az ln paranccsal tudunk egyet létrehozni. Ez a link mutathat könyvtárra, file-ra, bármire. Nagyon hasznos tud lenni, ha el akarunk érni valamit, ami más könyvtárban van elhelyezve a filerendszerben.

gvamosi@gergo1:~$ ln -s ls.sh alma.sh
gvamosi@gergo1:~$ l
total 64
lrwxrwxrwx 1 gvamosi gvamosi 5 Sep 8 11:18 alma.sh -> ls.sh
-rwxr-xr-- 1 gvamosi gvamosi 25 Sep 8 11:10 ls.sh

Jól látható az alma.sh link-ünk. Innentől az alma.sh parancsot is végrehajthatjuk. 🙂 Ugyanaz, mint az ls.sh. A sor elején az l betű jelzi, hogy szimbolikus linkről van szó, nem önálló file-ról.

Szólni kellene még az úgynevezett setuid illetve setgid bit-ről, és a sticky bit-ről.

gvamosi@gergo1:~$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 63736 Jul 27 2018 /usr/bin/passwd

Itt látható a setuid bit, az s, ami azt jelenti, hogy a tulajdonosa, azaz a root user, a rendszergazda uid-jével – ez egyébként a nulla: 0 – fog futni a passwd parancs. (A passwd paranccsal mellesleg jelszót lehet változtatni, és azért kell ez a setuid módosítás, hogy a saját jelszavát bárki meg tudja változtatni a régi jelszava ismeretében.) 🙂 A setuid flag nem hatásos könyvtárakra!

A setgid bit vonatkozhat file-ra, illetve könyvtárra. Ha file-t jelöl, akkor a futáskor kapott ID-je a setgid csoport id lesz. Amennyiben könyvtárra vonatkozik, úgy az alatta létrehozott file-ok és könyvtárak is megkapják az adott csoport jogait, tehát pl. minden csoporttag tudni fogja írni illetve törölni az adott könyvtárban lévő bejegyzéseket. 🙂

A sticky bit a /tmp könyvtárra hasznos. Ez egy korábbi rendszer-hézagot foltozott be, egy sebezhetőséget szüntetett meg, amikor kitalálták. A sticky bit-tel megjelölt könyvtárban csak a tulajdonos módosíthatja a file-jait.

gvamosi@gergo1:~$ ls -ld /tmp
drwxrwxrwt 27 root root 299008 Sep 8 11:39 /tmp

Jól látható, hogy a rendszer ideiglenes könyvtárát bárki írhatja, azaz törölheti is! Ezért kellett ide a sticky bit. 🙂

Beszélnünk kell még a chmod parancsról. Bit szinten, bináris módon is működik, számokkal.

gvamosi@gergo1:~$ mkdir test
gvamosi@gergo1:~$ chmod 2775 test
gvamosi@gergo1:~$ ls -ld test
drwxrwsr-x 2 gvamosi gvamosi 4096 Sep 8 11:42 test

A setuid/setgid/sticky bit az első helyen a 4/2/1, illetve hasonlóképpen van a 775 is. Mit értünk bináris ábrázolás alatt? Egész egyszerűen a kettő hatványokat. Ezek: 2^0=1 (kettő a nulladik hatványon és így tovább), 2^1=2, 2^2=4. És jobbról balra kell számolni. Tehát az rwx bitekre: 421, az összegük 4+2+1=7 és r-x-re: 4+1=5. Ennyi. 😀

Hasznos linkek:

https://hu.wikipedia.org/wiki/Kettes_sz%C3%A1mrendszer

https://linuxconfig.org/how-to-use-special-permissions-the-setuid-setgid-and-sticky-bits

Prompt – PS1 környezeti változó – mit is jelent a terminál ablakban vagy szöveges terminálban megjelenő gvamosi@gergo1:~$ prompt jel?

Az egész rendszerre érvényes, belépéskor automatikusan végrehajtott parancsok és beállítások helye a /etc/profile, ami rendszergazdaként, vagyis root user-ként (felhasználóként) szerkeszthető. Csak a prompt-beállítás szempontjából fontos részeket idézem.

gvamosi@gergo1:~$ cat /etc/profile

if [ "${PS1-}" ]; then
if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then
# The file bash.bashrc already sets the default PS1.
# PS1='\h:\w\$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ "id -u" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi

Nézzük meg a PS1 környezeti változó beállítását, ami nem más, mint a prompt jel. 🙂

Értelmezés: ha a PS1 környezeti változó beállított azaz definiált (set -u parancccsal ekvivalens a szintaxis, a set-ről a későbbiekben lesz szó), továbbá a BASH környezeti változó is létezik és értéke nem /bin/sh, akkor végrehajtja a /etc/bash.bashrc file-ban foglaltakat (a . <script-név> ekvivalens a source <script-név> jelöléssel) Nézzük csak meg ezt a file-t! Csak a prompt-beállítás szempontjából fontos részeket idézem.

gvamosi@gergo1:~$ cat /etc/bash.bashrc
# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, overwrite the one in /etc/profile)
# but only if not SUDOing and have SUDO_PS1 set; then assume smart user.
if ! [ -n "${SUDO_USER}" -a -n "${SUDO_PS1}" ]; then
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

Ez a szkript-rész először megnézi, hogy nem zérus-e a PS1 környezeti változó, azután megpróbálja beállítani a debian_chroot változót – a chroot-ról majd később -, végül pedig beállítja a prompt-ot. Ha van chroot változó, akkor (ez_a_chroot) kezdetű, amúgy pedig \u – felhasználónév @ \h – hosztnév : \w munkakönyvtár és a végén egy dollárjel és egy “space” – üres karakter. 🙂

gvamosi@gergo1:~$

A ~ jel nem mást jelöl, mint a home könyvtárat. A pwd parancs mindig kiírja az aktuális könyvtárat.

gvamosi@gergo1:~$ pwd
/home/gvamosi

Az összes környezeti változót amúgy a set paranccsal kérdezhetjük le.

gvamosi@gergo1:~$ set | grep PS1
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

A grep parancsról és a | pipe jelről pedig majd a későbbiekben írok. 🙂

Manual pages, man pages, man lapok, használati útmutatók – rendszergazdáknak és programozóknak

Hogyan kaphatunk a parancsokról még több leírást, a --help opción felül? Erre valók az ún. manual pages, man pages – azaz a man lapok vagyis a használati útmutatók.

gvamosi@gergo1:~$ man ls

A fenti paranccsal az ls parancs használati útmutatóját, man lapjait kérhetjük le.

A man lapok szekciókba vannak sorolva. Pl. a 3-as szekcióból így kérhetjük le a printf c függvényt.

gvamosi@gergo1:~$ man 3 printf

Ezzel a lekérdezéssel máris a Linux Programmer’s Manual-ban, vagyis a Linux Programozók Kézikönyvében vagyunk. Egy kizárólagosan ebben a kézikönyvben meglévő c függvényt, pl. a getc-t, simán a man getc paranccsal is lekérdezhetjük.

gvamosi@gergo1:~$ man printf

Ez a parancs eközben a printf-et mint Linux parancsot adja vissza. Ezzel egyenértékű a

gvamosi@gergo1:~$ man 1 printf

parancs, ami alapértelmezett a printf esetében, mivel benne van az egyes szekcióban, azaz a User Commands – Felhasználói Parancsok között is. 🙂

A .bash_profile file a home könyvtárban és az alias-ok

Tartozom tegnapról egy magyarázattal. Volt ugye bár ez a parancs:

gvamosi@gergo1:/dev$ l tty3

Ez nem más, mint egy alias bejegyzés a home könyvtárban található .bash_profile-ból. Hogy mi ez a file? Amennyiben – egyébként szinte mindig – bash van beállítva a /etc/passwd file-ban login shell-nek – magyarázat egy későbbi postban 🙂 -, úgy az ebben a file-ban található parancsok belépéskor végre lesznek hajtva. No ide teszem vagy 20 éve a kedvenc alias-aimat. 🙂

gvamosi@gergo1:~$ cat .bash_profile

# added by gvamosi on 20170830
export PATH=$PATH:.
# added by gvamosi on 20170828
alias ls="ls --color"
alias l="ls -l"
alias la="ls -la"

Egyrészt beállítom keresési útvonalnak az aktuális könyvtárat az export paranccsal – ezek a tab billenyűvel elérhetőek, és az első pár karatkter begépelése jól jöhet 🙂 -, másrészt a kedvenc alias-aimat hozzáadom a shell-emhez. Ezek a színes file lista, és az l és la parancsok.

Még egy érdekesség a mai bejegyzés végére: a cd paranccsal – paraméter nélkül – a home könyvtárunkba kerülünk. 🙂

Ami a Linux könyvtárrendszerének rövid bemutatásából kimaradt: /dev és /proc

No de mi is az a /dev? Nos, az ez alatt lévő bejegyzések a tulajdonképpeni device-ai, azaz eszközei a rendszernek.

A teljesség igénye nélkül pár érdekesség:

gvamosi@gergo1:/dev$ file sda
sda: block special (8/0)

Ez nem más, mint a rendszerben található SSD. A lemez partícióit, tehát a fizikai geometriáját az fdisk paranccsal kérdezhetjük le, rendszergazdaként (root felhasználóként).

root@gergo1:~# fdisk /dev/sda

Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): p
Disk /dev/sda: 119.2 GiB, 128035676160 bytes, 250069680 sectors
Disk model: SanDisk SD7SN3Q1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 046052F0-2FB9-4908-BC4C-09BA8D14623C

Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 233687039 232636416 111G Linux filesystem
/dev/sda3 233687040 250068991 16381952 7.8G Linux swap

Command (m for help):

Akkor nézzük tovább! Írjuk ki az “alma” üzenetet saját magunknak a ctrl+alt+f3-mal elérhető tty3-ra, azaz a 3-as szöveges “terminálra” (ehhez ott azonos nevű felhasználóként előbb bejelentkeztem).

gvamosi@gergo1:/dev$ file tty3
tty3: character special (4/3)
gvamosi@gergo1:/dev$ l tty3
crw------- 1 gvamosi tty 4, 3 Sep 4 06:53 tty3
gvamosi@gergo1:/dev$ echo "alma" > tty3

Ezt egy alap Debian 10-es installáció grafikus felületén lévő terminálból tettük – ami a ctrl+alt+f2 billentyűzet kombinációval érhető el – azonos “gvamosi” felhasználó néven. A képernyők között a ctrl+alt+f1..6 billentyűkkel válthatunk. Egy régebbi Linux-omon, egy RedHat-on még f1..12 számú konzol volt. 🙂 De nézzük, mi történt a 3-as terminálon:

Debian GNU/Linux 10 gergo1 tty3

gergo1 login: gvamosi
Password:
Last login: Wed Sep 4 07:04:31 CEST 2019 on tty3
Linux gergo1 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5 (2019-06-19) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
gvamosi@gergo1:~$ alma

És akkor válasszunk valami szépet a /proc könyvtárból! Írjuk be a következő parancsot:

gvamosi@gergo1:~$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 61
model name : Intel(R) Core(TM) M-5Y10c CPU @ 0.80GHz
stepping : 4
microcode : 0x1f
cpu MHz : 798.167
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 20
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap intel_pt xsaveopt dtherm ida arat pln pts
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds
bogomips : 1995.39
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:

És ugyanez a lista még 3 processzor-magra. A /proc könyvtár alatt sokféle rendszer szintű információt tudhatunk meg. Lehet bátran nézegetni. 🙂

A leggyakoribb parancsok I.

Azután a bizonyos dollár jel után – erről majd később – egy terminálban vagy a konzolon adhatunk a linux rendszerünknek parancsokat.

gvamosi@gergo1:~$ ls -l

Ez a parancs kijelzi egy listában az adott könyvtár tartalmát. A -l egy kapcsoló, azt jelenti, hogy kijelzést kapunk a file típusáról, hogy könyvtár-e vagy file vagy egyéb, a jgosultságokról, írható, olvasható vagy végrehajtható – a részletekről a későbbiekben -, a tulajdonosáról, méretéről, a létrehozás dátumáról és a nevéről.

gvamosi@gergo1:~$ ls --help

Általában igaz, hogy a --help kapcsolóval egy parancs felhasználásáról kaphatunk információkat.

mkdir alma: új könyvtár létrehozása “alma” név alatt
cd alma: váltás a paraméterben megadott “alma” könyvtárba
cd ..: váltás a szülő könyvtárba (eggyel feljebb a hierarchiában)
touch alma/alma.txt: “alma” könyvtár alatt “alma.txt” file létrehozása üres mérettel
rmdir alma: “alma” könyvtár törlése, csak ha üres! – figyelem, nem visszavonható!!
rm alma/alma.txt: “alma.txt” file törlése – figyelem, a törlés végleges, nem visszavonható!!

És búcsúzóul még egy szép parancs:

gvamosi@gergo1:~$ w
07:46:57 up 17:26, 1 user, load average: 0.60, 0.70, 0.81
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
gvamosi tty2 tty2 Mon14 17:26m 18:54 0.05s /opt/google/chrome/chrome

A “w” parancs kijelzi, hogy ki van és kik vannak belépve a számítógépre, és hogy mit is csinálnak nagyjából 🙂 – merthogy a Linux egy többfelhasználós operációs rendszer – mily meglepő. 🙂