27

When I perform ls in bash, I always see too many *.pyc files. Is there any way to hide these files?

J-Win
  • 1,322
  • 16
  • 35
user2566808
  • 291
  • 3
  • 4
  • Was there a significant reason behind this? I was annoyed/distracted by them myself (for a purpose of a talk with live demo); that's why I've ended up here. It _sounds_ like you were also only _annoyed_. – quapka Apr 16 '18 at 20:48

1 Answers1

33

This way lies the dark side, but you could force ls to never show them by adding something like

alias ls='ls --hide="*.pyc"'

to your .bashrc. ls will reveal the hidden files if you use -a or -A.

However, I would recommend just ignoring them in your head, or running this version of ls when you really don't want to see them.

John Kugelman
  • 349,597
  • 67
  • 533
  • 578
Matt Bryant
  • 4,841
  • 4
  • 31
  • 46
  • 3
    alias ls=`ls --ignore="*.pyc"` did not work for me. but `alias ls="ls --ignore="*.pyc""` did work – Jay Jul 11 '13 at 03:55
  • 4
    `alias ls='ls --hide=*.pyc'` might be better as this is overridden when you use `-a` option or search using wildcards like `ls *.pyc` – Phani Oct 10 '13 at 16:30
  • That's a really good point, thanks. I didn't know about that option. – Matt Bryant Oct 10 '13 at 17:51
  • I went ahead and removed `--ignore` from the answer. `--hide` is definitely preferable. – John Kugelman Jan 13 '14 at 21:40
  • 7
    It is probably a better idea to alias to something a little different.. like `alias lsl='ls --hide="*.pyc"'` so you don't nerf `ls` but have the functionality you want available easily. – Robert Mark Bram Feb 27 '14 at 05:27
  • 1
    To retain default colouring, use this: alias ls='ls --color=auto --hide=*.pyc' – Mayank Jaiswal Dec 13 '15 at 22:29
  • 1
    @TheoBelaire I've found the solution for OSX. (1) `brew install coreutils` (2) Put `alias lsp='gls --hide="*.pyc"'` to your `~/.bash_profile`; Then you can use `lsp` to `ls` without seeing `*.pyc`. (`lsp` is a command name I created which stands for "ls for python") – AnnieFromTaiwan Jan 06 '16 at 09:55