Câu trả lời:
gzip
và các lệnh phụ của nó đều được đọc từ STDIN theo mặc định. Chúng tôi có thể kiểm tra điều này với một bài kiểm tra thực sự đơn giản:
$ echo testing | gzip | zcat
testing
Hoặc một cái gì đó kỳ lạ hơn để chứng minh rằng đó không phải là một con sán:
$ dd if=/dev/urandom of=bigfile bs=1024 count=102400
102400+0 records in
102400+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 6.42114 s, 16.3 MB/s
$ sha1sum bigfile
25b4832d3e738e70721d86695ea7a767a3afb229 bigfile
$ cat bigfile | gzip | zcat | sha1sum
25b4832d3e738e70721d86695ea7a767a3afb229 -
Điều đó cho tôi thấy rằng s3cmd
đầu ra của bạn bị bẩn hoặc không đúng cách theo một cách nào đó. Hãy thử chuyển hướng đến tệp (thay vì cung cấp tên tệp thực) và sau đó xem đầu ra trong một cái gì đó như head
. Hoặc tải về đúng cách và so sánh.
s3cmd
đầu ra. Tôi đã thay đổi cách tiếp cận của tôi và sử dụngcurl
thay thế.