Pourquoi est-ce que je prends un train quand je roule 'ls'?

27

J'ai récemment remarqué quelque chose d'étrange que je n'aime pas beaucoup:

Quand je cours, je prends un train

Alors pourquoi est-ce que je prends un train en courant ls? Et comment puis-je arrêter cela et le faire se comporter normalement? Est-ce un œuf de Pâques que j'ai découvert? J'utilise Ubuntu GNOME 15.04.

Mise à jour des informations:

Courir which lsme donne le même train et courir ls -l $(which ls)me donne juste un autre type de train.

L'exécution command -v lsne produit rien. Et courir command -v slne produit également rien.

Tout cela peut avoir quelque chose à voir avec le cowpackage (ou quelque chose comme ça) que j'ai récemment installé et qui promettait d '«alléger un peu les choses».

kos
la source
14
Peut-être quelqu'un aliasé votre lsà sl?
steeldriver
2
Et maintenant, nous savons pourquoi vous vouliez convertir un MP4 en GIF animé plus tôt. J'installe slpar défaut juste pour avoir un petit rire quand je fais du gros doigt quelque chose. Vous devrez probablement annuler l'alias si vous ne l'avez pas fait vous-même juste pour obtenir un bon petit rire.
KGIII

Réponses:

34
  1. Essayez de supprimer le package drôle via

    sudo apt-get purge sl 
    
  2. Vérifiez vos alias par lsexemple dans votre ~/.bashrcou ~/.profile.

  3. Vérifiez le binaire /usr/games/slet supprimez

    sudo rm /usr/games/sl
    
  4. Vérifiez la sortie de

    strace sl |& grep execve
    strace ls |& grep execve
    

    si le point trois n'a pas réussi.

  5. Et à l'avenir, n'installez PAS quoi que ce soit qui puisse «alléger un peu les choses» dans la description. ;)

UN B
la source
17

En règle générale, vous pouvez ajouter \ à une commande pour désactiver l'alias uniquement pour cette instance de l'exécution de la commande. Par exemple,

[2023] $ alias ls
alias ls = 'ls -F -Chs --color = tty'
[2024] $ ls
140K au total
4.0K bin / 0 Téléchargements @ 0 prog.git @
...

[2025] $ \ ls
bin Téléchargements doc.git freertos.git prog.git tmp
...

Donc, je recommande d'essayer votre ls avec un «\» ajouté

Ensuite, vous pouvez essayer d'exécuter la commande ls directement avec le chemin complet.

/ bin / ls

Ensuite, commandez / bin / ls

aussi, vérifiez votre chemin,

echo $ PATH
assurez-vous que / bin est la première entrée.
$ PATH = / usr / bin: / usr / local / bin: / usr / bin: / bin: / sbin: / usr / sbin: usr / local / sbin: / usr / local / bin

Mais je pense que la suppression cowserait utile.

Om Narasimhan
la source