Um *
entre aspas simples é tratado literalmente. Então você precisa colocar apenas o nome do diretório que tem espaços, entre aspas:
ls "Night of the Living Dead (1968)"/*.rar
Um *
entre aspas duplas é expandido pelo shell.
A partir dos resultados a seguir, parece que o * .rar está sendo usado literalmente e não expandido. A man glob não dá detalhes sobre como ela se expande. Alguém gentilmente explicaria por quê?
~/Films $ls "Night of the Living Dead (1968)/" Night_of_the_Living_Dead_1968.par2 Night_of_the_Living_Dead_1968.part23.rar.1 Night_of_the_Living_Dead_1968.part01.rar Night_of_the_Living_Dead_1968.part24.rar ... ~/Films $ls "Night of the Living Dead (1968)/*.rar" ls: cannot access Night of the Living Dead (1968)/*.rar: No such file or directory ~/Films $ls "$(pwd)/Night of the Living Dead (1968)/*.rar" ls: cannot access /home/g/Films/Night of the Living Dead (1968)/*.rar: No such file or directory ~/Films $ls "Night of the Living Dead (1968)/*rar" ls: cannot access Night of the Living Dead (1968)/*rar: No such file or directory
Um *
entre aspas simples é tratado literalmente. Então você precisa colocar apenas o nome do diretório que tem espaços, entre aspas:
ls "Night of the Living Dead (1968)"/*.rar
Um *
entre aspas duplas é expandido pelo shell.