GNU/Linux >> Belajar Linux >  >> Linux

Penggunaan Dash (-) Sebagai Pengganti Nama File?

Untuk perintah, jika menggunakan - sebagai argumen menggantikan nama file akan berarti STDIN atau STDOUT.

  1. Tetapi dalam contoh ini, ia membuat file dengan nama - :

    echo hello > -
    

    Bagaimana saya bisa membuat - dalam contoh ini berarti STDOUT?

  2. Sebaliknya, bagaimana saya bisa membuat - berarti file bernama - dalam contoh seperti:

    cat -
    

Jawaban yang Diterima:

Menggunakan - sebagai nama file berarti stdin/stdout adalah konvensi yang digunakan banyak program. Ini bukan properti khusus dari nama file. Kernel tidak mengenali - khusus sehingga setiap panggilan sistem mengacu pada - sebagai nama file akan menggunakan - secara harfiah sebagai nama file.

Dengan pengalihan bash, - tidak dikenali sebagai nama file khusus, jadi bash akan menggunakannya sebagai nama file literal.

Ketika cat melihat string - sebagai nama file, ia memperlakukannya sebagai sinonim untuk stdin. Untuk menyiasatinya, Anda perlu mengubah string yang cat melihat sedemikian rupa sehingga masih merujuk ke file bernama - . Cara yang biasa dilakukan 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, sehingga file disebut sebagai ./-e tidak muncul sebagai -e opsi baris perintah ke program, misalnya.


Linux
  1. Penggunaan Memori Linux

  2. Linux – Penggunaan Memori Nyata?

  3. cPanel – Penggunaan Bandwidth

  1. cPanel – Penggunaan Disk

  2. Perintah Linux df

  3. FAQ Umpan Awan

  1. Bash memantau penggunaan disk

  2. Apakah mungkin menggunakan / dalam nama file?

  3. Cara mendapatkan penggunaan CPU