Ну, в man basename я ничего не наше... :( Может быть, у меня ман старый? Вот, а способ sasha999 не будет работать для файлов с точками в имени. Скажем, для My.Favorite.Pic.jpeg с помощью cut можно получить только "My", а нужно "My.Favorite.Pic".
для начально условия
for i in *.java; do
mkdir -p `basename $i .java`
done
для общего случая
for i in *; do
mkdir -p `echo $i | sed "s%\.[[:alpha:]]*$%%"`
done