Saya menemukan tautan ini tentang cara membuka tgz dalam satu langkah .
gzip -dc target.tar.gz | tar xf -
Apa artinya '-'?
Saya menemukan tautan ini tentang cara membuka tgz dalam satu langkah .
gzip -dc target.tar.gz | tar xf -
Apa artinya '-'?
Jawaban:
Ini adalah konvensi umum untuk digunakan -dalam argumen nama file yang berarti stdinatau stdout; tarmengikuti konvensi yang sama. Dari halaman manual:
-f, --file [HOSTNAME:]F
use archive file or device F (default "-", meaning stdin/stdout)
-artinya. Stdin / stdout sejauh ini merupakan makna yang paling umum, tetapi ada yang lain. Misalnya, untuk beberapa versi envitu berarti "mulai dengan lingkungan kosong".
Konvensi lain adalah dengan menggunakan '-' untuk menunjukkan akhir flag, dan awal nama file. Perilaku itu terintegrasi dengan getopt (3) di RedHat 4, setidaknya. Saya tidak dapat menemukan halaman manual Red Hat yang menggunakan '-' untuk menunjukkan akhir argumen, mereka semua tampaknya menggunakan '-' untuk melakukan itu. Halaman manual awk memiliki '-' dalam konteks itu, jadi mungkin hanya perintah "heirloom" lama Unix atau Solaris menggunakan '-' sebagai argumen - pemisah nama file.
--menandakan akhir dari opsi, jadi semua yang datang sesudahnya adalah operan. -bukan pilihan, jadi itu dan semua yang datang sesudahnya adalah operan. Ini adalah perilaku standar . Untuk banyak perintah, seperti tar, operan -berarti input atau output standar . Pada banyak shell, set - -asetara dengan set -- -a, dan pada beberapa shell Bourne lama set - -aadalah satu-satunya bentuk yang diterima, tapi ini pengecualian dengan setbuilt-in.
--untuk memisahkan opsi dari argumen.
tar xfz target.tar.gzdan untuk bziptar xfj target.tar.bz2