Menggunakan -sebagai nama file berarti stdin / stdout adalah konvensi yang banyak digunakan program. Ini bukan properti khusus dari nama file. Kernel tidak mengenali -sebagai istimewa sehingga panggilan sistem apa pun yang merujuk -sebagai nama file akan digunakan -secara harfiah sebagai nama file.
Dengan pengalihan bash, -tidak dikenali sebagai nama file khusus, jadi bash akan menggunakannya sebagai nama file literal.
Ketika catmelihat string -sebagai nama file, itu memperlakukannya sebagai sinonim untuk stdin. Untuk menyiasatinya, Anda perlu mengubah string yang catmelihat sedemikian rupa sehingga masih merujuk ke file yang disebut -. Cara biasa untuk melakukan ini adalah dengan mengawali nama file dengan path - ./-, atau /home/Tim/-. Teknik ini juga digunakan untuk mengatasi masalah serupa di mana opsi baris perintah berbenturan dengan nama file, jadi file yang disebut sebagai ./-etidak muncul sebagai -eopsi baris perintah ke suatu program, misalnya.