tar -tf filename.tar
folder1/file
folder1/name
[...]
Saya ingin mengekstrak file dan nama , folder2 . Apakah ini dapat dilakukan sebagai one-liner?
Gunakan -C
dan --strip-components
(Lihat man tar
).
mkdir FOLDER
# for remote tar file
curl -L ’remote_tar_file' | tar -xz - -C FOLDER --strip-components=1
# for local tar file
tar -xzf FILENAME -C FOLDER --strip-components=1
The -C
bendera mengasumsikan direktori sudah di tempat sehingga isi dari file tar dapat diperluas ke dalamnya. karenanya mkdir FOLDER
.
The --strip-components
flag digunakan ketika sebuah file tar secara alami akan memperluas dirinya menjadi sebuah folder, biarkan katakanlah, seperti github mana contoh untuk repo-name-master
folder. Tentu saja Anda tidak memerlukan folder level pertama yang dibuat di sini, jadi --strip-components
setel 1
akan secara otomatis menghapus folder pertama itu untuk Anda. Semakin besar angkanya, semakin banyak folder bersarang yang dihapus.
man tar
. Tidak menemukan--strip-components
. bagusAnda juga dapat menggunakan
--transform
opsi ini untuk sedikit lebih fleksibel. Ia menerima operasi penggantian pengganti apa pun.Sebagai contoh, ini adalah bagaimana saya mengekstrak tarbal Linux ke direktori baru sehingga saya bisa menerapkan tambalan:
sumber