Verständnisfrage zum Thema * auf der Konsole

Nils Kassube kassube at gmx.net
Mit Jan 9 22:25:30 GMT 2008


Frank Becker wrote:
> ich hatte nun das Vergnügen, die BenutzerIDs der Homeverzeichnisse zu
> ändern. Also gab ich ein:
> # cd /home
> # chown -R frank.frank frank

Fehlt da nicht ein sudo?

> Jetzt hat chown bei alle Dateien Owner und Group geändert. Aber nicht
> bei den versteckten Dateien. 

Das kann ich hier nicht nachvollziehen.

> Gut, dafür sind diese ja auch versteckt. 
> Als ich nun aber mit
> # cd frank
> # chown frank.frank *
>
> alle Dateien ändern wollte, wurden die versteckten Dateien nicht
> beeinflußt.
>
> Jetzt mein Verständnisproblem: Das Sternchen * steht doch für "Alle
> Zeichen in beliebiger Anzahl". Warum muss ich denn die
> Hidden-Verzeichnisse extra noch mal "anfassen"?
>
> Oder habe ich da den Sinn des * falsch verstanden?

Jein :) Also ein "*" als erstes Zeichen für Dateinamen gilt für alle nicht 
versteckten Dateien. Sonst hättest du auch ein kleines Problemchen, 
denn "alle Dateien" in einem Verzeichnis beinhaltet auch immer "./" 
und "../". DIE willst du aber ganz sicherlich nicht löschen, wenn du 
ein "rmdir *" verwendest. Dabei muss man schließlich daran denken, dass 
das aufgerufene Programm nicht das "*" übergeben bekommt, sondern die von 
der Shell daraus generierte Liste der Dateien.


Nils