at.linux-FAQ

Programmieren unter Linux



Wo finde ich Doku zu Shell-Programmierung?

UNIX Shellprogrammierung

Bourne-Shell als Kommando- und Programmiersprache

SHELLdorado - your UNIX shell scripting resource

Advanced Bash-Scripting Guide

Bash Guide for Beginners

System shells on various Unix flavours

Und nicht zu vergessen: man 1 bash

Was hat es mit !# /bin/sh auf sich?

Darf da ein Leerzeichen stehen? Oder muss da gar ein Leerzeichen stehen portable L�sung?

Schleife �ber Dateien mit Sonderzeichen im Namen?

Die portable L�sung.

find . -type f | while read -r file; do
  echo "[$file]"
done

Die L�sung f�r GNU und FreeBSD kommt auch mit Zeilenwechsel im Dateinamen zurecht.

find .  -type f -print0 | while read -rd $'\0' file; do
  echo "[$file]"
done

Was funktionieren find, -exec und xargs?

find durchsucht eine oder mehrere Verzeichnishierarchien nach Dateien (oder Verzeichnissen) mit bestimmten Eigenschaften, und f�hrt damit bestimmte Aktionen aus. Interessant wird es, wenn man eigene Kommandos auf die gefundenen Dateien anwenden will. Dazu gibt es zwei Ans�tze:

-exec � command;

Dadurch wird f�r jede gefundene Datei command gestartet. Der Zeichenkette {} in command wird dabei durch den Dateinamen ersetzt.

Der Nachteil dieser L�sung ist die Geschwindigkeit. Viele Programme k�nnen von sich aus mit mehreren Argumenten in einer Kommandozeile umgehen. F�r jedes einzelne Argument einen separaten Prozess zu starten ist ineffizient.

-exec � command{}+

Hier wird command mit soviel Argumenten, wie in die Kommandozeile passen, aufgerufen. Leider gibt es diese Option nicht �berall. GNU find unterst�tzt das erst seit kurzem.

-print � |xargscommand

-print0 � |xargs � -0 � command

Wo finde ich Doku zu C & C++?

FAQ von de.comp.lang.c

FAQ von comp.lang.c

FAQ von de.comp.lang.iso-c++

C++ FAQ Lite

Literatur und Sammlungen zu C

Bit Twiddling Hacks

OOPWEB.com: C/C++ Directory

Programmieren unter Unix & Linux?

LDP programming HOWTOs

Unix Programming FAQ

Home Page of Dennis M. Ritchie

Home Page of W. Richard Stevens

Davin's collection of Unix programming links