A linha que você escreveu define uma variável cujo valor é a string ls -f | grep -v / . Ao usá-lo sem aspas, ele é expandido para uma lista de palavras (a string é dividida em espaço em branco): ls , -f , | , grep , -v , / . O caractere | não é especial, pois o shell está dividindo a string, não a analisando, portanto, ela se torna o segundo argumento para o comando ls .
Você não pode inserir um comando em uma string como essa. Para definir um nome abreviado para um comando, use um alias (se o comando estiver completo) ou uma função (se o comando tiver parâmetros e nada mais do que passar alguns argumentos padrão para um único comando). No seu caso, um alias serve.
alias my_File='ls -f | grep -v /'
my_File