Para imprimir desde linux en C puedes escribir en el fichero stdprn
fprintf (stdprn, "texto para imprimir");
o bien escribir en un fichero cualquiera y luego mandarlo imprimir con
system ("lp fichero"); /* lp es el comando de algunos unix para imprimir ficheros, aunque puede cambiar */
En cuanto a lo del código de barras en la impresora matricial, echale un ojo al manual de la impresora (o busca por internet para tu impresora en concreto). Hay algunos caracteres que se le mandan imprimir, pero que en vez de imprimir interpreta y ejecuta como comandos.
Una secuencia determinada pone la impresora en modo gráfico. A partir de ahí, cualquier byte que le envies se imprimira con 8 pixels en vertical, de forma que los unos son puntos negros y los 0 son puntos blancos.
En tu caso, para código de barras, si escribes, después de haber puesto la impresora en modo gráfico
fprintf (stdprn, "%c%c%c%c", 0xff, 0x00, 0xff, 0x00);
obtendrás una barra negra de ocho pixels de alto, seguido de una blanca, otra negra y otra blanca.
Ya es cuestión de que juegues con ello un poco.
Se bueno.