Niedawno zmieniłem konfigurację emacs, aby ukryć pliki kopii zapasowych, przygotowując kropkę do nazwy pliku. To skłoniło mnie do myślenia - czy istnieje gotowy sposób na zmianę zachowania w Bash, aby użyć listy dowolnych globów dla jakich plików do ukrycia? Szybkie skanowanie stron podręcznika bash i ls nic nie pokazało.
10
ls
zignorowałeś wszystkie pliki zaczynające się odignore-
lub wszystkie pliki, które kończą się na.bak
?Odpowiedzi:
ls
ma--hide=PATTERN
opcję, która wygląda tak, jak robi, co chcesz, i można ją przesłonić, aby pokazać je za pomocą-a
lub-A
. Jeśli chcesz, aby stało się to automatycznie, dodaj alias do swojego~/.bashrc
(lub, w przypadku, gdy istnieje już alias, dodaj go do tego aliasu).Istnieje również opcja,
--ignore=PATTERN
która nie jest nadpisywana przez opcje-a
i-A
.źródło
ls --hide=*1 a*
nie ukrywa, ale wciąż wymienia wszystkie trzya-1 a-2 a-3
? Spodziewałbym się, że to ukryjea-1
?a*
Jest rozszerzony przez powłokę i zawieraa-1
. Opcja ukrywania nie ignoruje plików jawnie nazwanych jako argumenty.Oto mój pseudonim dla
ls
:To ukrywa pliki takie jak
backup.c~
i#autosave.h#
. (I, choć jestem przekonany, lubię kolory, więc to też robi.)źródło