Пожалуйста, скажите мне, что это домашнее задание.
В файле .gitignore используется подстановочный знак в стиле glob (7), поэтому встраивание '*' должно работать. Linux действительно не заботится о написании имени файла, поэтому любой символ , кроме '/', может войти в имя файла. В командной строке обязательно используйте одинарные кавычки (а не двойные кавычки), чтобы оболочка не запуталась.
Чтение имен файлов из ls (1) и аналогичных разделит имя насимвол \ n, потому что стандартная библиотека glibc ищет новые строки, чтобы найти конец строки текста. Символы '/' и '\ n' обрабатываются специально на многих уровнях программного стека, например, путь к файлу или разделение буфера на строки, отображение имени файла или разрешение awk (1), sed (1) итакое сканирование списка имен файлов.
Но я согласен с другим постером: это плохая идея. Нет, я забираю это назад, это ужасная идея. Долгосрочная ремонтопригодность будет кошмаром.