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. 🙂

BASH programozás – script-ek

Beköszönés szintjén találtam egy rövidke ismertetőt a linux rendszerek parancssori programozásához. 🙂

http://web.cs.elte.hu/linfo/Shell/script.html

Az egyik script-et ki is próbáltam. Tényleg működik.

#!/bin/sh
for i in *.txt 
do
 if grep font $i > /dev/null
 then 
 mv $i ..
 fi
done

Hogy mit jelent az első sorban a /bin/sh? Kideríthetjük!

gvamosi@gergo1:~$ file /bin/sh
/bin/sh: symbolic link to dash
gvamosi@gergo1:~$ file /bin/dash
/bin/dash: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=486323dd0fe3ec5af388e4ea4217a1f0092961d2, stripped
gvamosi@gergo1:~$ file /bin/bash
/bin/bash: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=ffe165dc81a64aea2b05beda07aeda8ad71f1e7c, stripped
gvamosi@gergo1:~$ ls -l /bin/dash
-rwxr-xr-x 1 root root 121464 Jan 17 2019 /bin/dash
gvamosi@gergo1:~$ ls -l /bin/bash
-rwxr-xr-x 1 root root 1168776 Apr 18 06:12 /bin/bash

És hogy mit csinál a szkript? Megnézi a .txt kiterjestésű file-okat, hogy van-e bennük “font” sztring, és ekkor mozgatja őket a szülő “..” könyvtárba. 🙂