Après une mise à niveau vers 18.04, à partir de 16.04, tous les noms de fichiers avec des espaces s'affichent sous la forme 'file name'
. Auparavant, c'était simplement file name
. Les noms de fichiers sans espace s'affichent normalement:
$ ls
bar 'foo bar'
Bien que cela n'affecte en rien la fonctionnalité, je trouve cela encombrant visuellement.
J'utilise bash
comme Shell.
Comment puis-je supprimer ''
montrant autour des noms de fichiers avec des espaces?
Ce changement de comportement de ls
était à partir de 2016 mais il fait enfin son chemin dans Ubuntu.
Pour récupérer l'ancien comportement, utilisez ls -N
.
Vous pouvez éventuellement utiliser une variable d'environnement:
QUOTING_STYLE=literal ls
Faites-en un alias ou définissez export QUOTING_STYLE=literal
dans ton ~/.bashrc
pour obtenir l'ancien comportement.
Vous pouvez lire le lien ci-dessus pour plus de détails, y compris l'historique de quand, où, pourquoi et comment tout cela a commencé. Il y a pas mal de commentaires sous l'auteur des modifications ls où il justifie le nouveau comportement:
Quelques points sur le changement.
- Il a été introduit dans coreutils v8.25 et l'alignement amélioré dans v8.26
- Cela ne se produit que lors de la sortie vers les terminaux, donc ne casse pas les scripts
- Il supprime l'ambiguïté des utilisateurs pour les fichiers contenant des espaces
- Il désinfecte la sortie de sorte qu'il est sûr de copier et coller
- La sortie est désormais toujours valide pour copier et coller dans Shell
- Les utilisateurs peuvent revenir à l'ancien format en ajoutant
-N
à leur aliasls
C'est ls
qui cite la sortie, exécutez:
ls -N
pour obtenir la sortie sans aucune citation.
man ls
-N, --literal
imprimer les noms des entrées sans citer
Alias si vous le souhaitez:
echo "alias ls='ls -N'" >> .bashrc