En ce qui concerne le système d'exploitation, ils sont tous les deux aussi utilisables l'un que l'autre.
Une chose que je voudrais noter - certains logiciels (tels que certains systèmes de lecture vidéo - XBMC, etc.) remplaceront automatiquement les traits de soulignement par des espaces lors de l'affichage des fichiers pour les rendre plus beaux.
Pour cette seule raison, je serais tenté de m'en tenir aux traits de soulignement.
De plus, les traits d'union sont utilisés pour les commutateurs vers les commandes, il peut donc être un peu déroutant d'avoir des traits d'union dans vos noms de fichiers ainsi que dans vos commutateurs de commande.
En dehors de cela, c'est purement un choix personnel.
Dash ne vous oblige pas à appuyer sur SHIFT, ce qui signifie que vous tapez plus rapidement. C'est le seul autre avantage auquel je peux penser au-delà de ce que M. Jenkins a suggéré.
La personne qui fait cette suggestion est probablement un utilisateur passionné de Vim et souhaite tout faire avec le moins de mouvements de clavier.
Ma recommandation est d'utiliser des traits de soulignement au lieu d'espaces. Les traits de soulignement sont généralement la convention que les gens utilisent lors du remplacement des espaces, bien que les traits d'union conviennent aussi, je dirais. Mais comme les traits d'union peuvent apparaître d'autres manières, comme les mots avec trait d'union, vous aurez plus de succès dans la préservation d'une valeur de nom en utilisant des traits de soulignement. Par exemple, si vous avez un fichier intitulé "Une photo prise à Winston-Salem, NC.jpg" et que vous souhaitez convertir les espaces en traits de soulignement, vous pouvez conserver le trait d'union dans le nom et conserver sa signification.
Les espaces causent des problèmes aux personnes qui souhaitent utiliser la ligne de commande de manière avancée, comme dans les boucles for comme ceci :
for file in *.mp3 ; do mpg321 $file -w - | oggenc -o ${file%%.mp3}.ogg - ; done
Si l'un des fichiers mp3 correspondant à ce caractère générique contient des espaces dans son nom, le nom du fichier sera divisé en sections au lieu de l'ensemble. Vous pouvez contourner ce problème en modifiant la variable IFS du shell BASH ou en utilisant la commande find, mais c'est ennuyeux et beaucoup de gens ne le savent pas, donc cela peut causer des problèmes.
Je doute que cela ou même une campagne d'autocollants empêcherait les gens de mettre des espaces dans les noms de fichiers, mais si vous voulez vous aider, plus de pouvoir pour vous et merci au nom de ceux d'entre nous qui s'en soucient.