Respostas:
Sim, use gzip para isso. A melhor maneira é ler os dados como entrada e redirecionar o arquivo compactado para saída, ou seja,
cat test.csv | gzip > test.csv.gz
cat test.csv
enviará os dados como stdout e, usando o pipe-sign, o gzip lerá esses dados como stdin. Certifique-se de redirecionar a saída gzip para algum arquivo, pois os dados compactados não serão gravados no terminal.
xz
:mysqldump mydb | xz > dbdump.sql.xz
-9
, o nível de compactação padrão é -6
.