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 stdin
atau stdout
; tar
mengikuti 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 env
itu 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 - -a
setara dengan set -- -a
, dan pada beberapa shell Bourne lama set - -a
adalah satu-satunya bentuk yang diterima, tapi ini pengecualian dengan set
built-in.
--
untuk memisahkan opsi dari argumen.
tar xfz target.tar.gz
dan untuk bziptar xfj target.tar.bz2