> a »?
ls všechny složky ve vašem domovkém adresáři a pomocí programu grep nalezněte všechny, které začínají na písmeno D.
ls na vstup programu grep?
Roura (pipe) slouží k propojení výstupu jednoho procesu na vstup druhého procesu, např. ls -l | wc -l.
Roury se dělí na dvé katagorie, nepojmenované a pojmenované.
Nepojmenované roury jsou typicky UNIXové roury s |.
Roury využívají zápis a čtení ze souboru s vlastním souborovým deskriptorem.
Vyzkoušejte následující příkazy v terminálu:
ls -l ~ | grep Do
echo “Hello World” | tr “[A-Z]” “[a-z]”
Pojmenovaná roura, implementovaná jako fronta FIFO, je využívaná ke komunikaci mezi nepříbuznými programy.
Pojmenovaná roura se vytvoří pomocí příkazu mkfifo <pipe name>.
mkfifo /tmp/my_pipe.pipeVýstup programu
ls -l zapište do roury a do souboru
ls -l > /tmp/my_pipe.pipe ls -l > /tmp/output.txtObsah souboru i roury můžeme číst pomocí programu
cat
cat < /tmp/my_pipe.pipe
output.txt a pojmenované roury?
Seznamte se s přiloženým programem pro zobrazení signálu využivající knihovny OTK a generátorem signálu sgen, které naleznete v adresáři signal_viewer.
libxmu-dev tedy apt install libxmu-dev.
Program sgen je jednoduchý pseudonáhodný generátor EKG signálu, který vypisuje hodnoty signálu na stdout případně do souboru jeli spuštěn jako ./sgen -f vystupni_soubor.dat. Nápovědu k použití programu vyvoláte ./sgen -h.
Program tsignal_viewer.c načítá hodnoty ze stdin případně ze zadaného souboru a vykreslí signál po částech do grafického okna OTK, například jako ./sgen | ./tsignal_viewer
Knihovna OTK je přiložena v adresáři otk_lib. Jedná se o relativně jednouduchou standalone zobrazovací knihovnu založenou na OpenGL. Její použití je zapouzdřeno v modulu xwin_otk_plot s rozhraním
void xwin_init(void); void xwin_close(); void xwin_set_plot(int xrange, float ymin, float ymax); void xwin_redraw_plot(int n, const float *ticks, const float *values); void xwin_redraw(void);
Příklad použití je dále demonstrován v tsignal_viewer.c.
Module xwin_otk_plot využivá periodického signálu pro aktualizaci počtu vykreslených snímků za sekund v pravém horním rohu okna. Aktualizace zobrazení je realizována funkcí xwin_redraw(). V příkladu je dále demonstrována obsluha stiknutí tlačítka Exit prostřednictvím callback funkce quit().
otk_lib a program tsignal_viewer.
tsignal_viewer a používáním funkcí xwin_otk_plot.
xwin_set_plot(max_len, min - 0.5, max + 0.5);.