gzip не работает после трубопровода

Ваш терминал висит, это очень странно. В терминале я обычно могу удалить пробелы, экранируя символ пробела с помощью обратного слэша:

rm -r test\ dir

Если это не работает, попробуйте ли вы его включить одиночные или двойные кавычки:

rm -r "test dir" или rm -r 'test dir'

Еще одна идея - установить диспетчер файлов терминала, такой как Midnight Commander, и попытаться удалить файл таким образом. Удачи!

6
задан 4 January 2011 в 20:44

45 ответов

Поскольку после создания sql-файла database.sql больше нет выхода. Он не продолжается, поэтому труба не получает никаких данных. вы можете сделать это: mysqldump -u root -p auth & gt; data.sql & amp; & amp; gzip data.sql

2
ответ дан 6 August 2018 в 04:11

Ваш синтаксис здесь неправильный. Поскольку вы отправляете вывод команды mysqldump в базу данных.sql, в gzip нет выхода для передачи через gzip. Просто удалите этот бит, поэтому вы создаете только файл gzipped: / usr / bin / mysqldump --opt -u root -ppassword database | gzip & gt; database.sql.gz

Если вы действительно хотите создавать сжатые и несжатые версии, вам нужно будет запустить две отдельные команды: / usr / bin / mysqldump --opt -u root -ppassword database & gt; database.sql; cat database.sql | gzip & gt; database.sql.gz

или использовать tee для разделения вывода: / usr / bin / mysqldump --opt -u root -ppassword database | tee database.sql | gzip & gt; database.sql.gz

6
ответ дан 6 August 2018 в 04:11

конвейер означает, что вы НЕ записываете в файл, поэтому просто удалите «> database.sql» в своем однострочном пространстве.

Попробуйте что-то вроде этого:

/ usr / bin / mysqldump --opt -u root -ppassword database | gzip> database.sql.gz

2
ответ дан 6 August 2018 в 04:11

Ваш синтаксис здесь неправильный. Поскольку вы отправляете вывод команды mysqldump в базу данных.sql, в gzip нет выхода для передачи через gzip. Просто удалите этот бит, поэтому вы создаете только файл gzipped: / usr / bin / mysqldump --opt -u root -ppassword database | gzip & gt; database.sql.gz

Если вы действительно хотите создавать сжатые и несжатые версии, вам нужно будет запустить две отдельные команды: / usr / bin / mysqldump --opt -u root -ppassword database & gt; database.sql; cat database.sql | gzip & gt; database.sql.gz

или использовать tee для разделения вывода: / usr / bin / mysqldump --opt -u root -ppassword database | tee database.sql | gzip & gt; database.sql.gz

6
ответ дан 7 August 2018 в 22:10

конвейер означает, что вы НЕ записываете в файл, поэтому просто удалите «> database.sql» в своем однострочном пространстве.

Попробуйте что-то вроде этого:

/ usr / bin / mysqldump --opt -u root -ppassword database | gzip> database.sql.gz

2
ответ дан 7 August 2018 в 22:10

Проблема в том, что вы пытаетесь перенаправить вывод как в файл, так и в канал.

Если вы хотите сжать вывод команды в файл, вы должны использовать:

  / usr / bin / mysqldump --opt -u root -ppassword database |  gzip & gt;  database.sql.gz  
2
ответ дан 7 August 2018 в 22:10

Поскольку после создания sql-файла database.sql больше нет выхода. Он не продолжается, поэтому труба не получает никаких данных. вы можете сделать это: mysqldump -u root -p auth & gt; data.sql & amp; & amp; gzip data.sql

2
ответ дан 7 August 2018 в 22:10

Ваш синтаксис здесь неправильный. Поскольку вы отправляете вывод команды mysqldump в базу данных.sql, в gzip нет выхода для передачи через gzip. Просто удалите этот бит, поэтому вы создаете только файл gzipped: / usr / bin / mysqldump --opt -u root -ppassword database | gzip & gt; database.sql.gz

Если вы действительно хотите создавать сжатые и несжатые версии, вам нужно будет запустить две отдельные команды: / usr / bin / mysqldump --opt -u root -ppassword database & gt; database.sql; cat database.sql | gzip & gt; database.sql.gz

или использовать tee для разделения вывода: / usr / bin / mysqldump --opt -u root -ppassword database | tee database.sql | gzip & gt; database.sql.gz

6
ответ дан 10 August 2018 в 10:24

Проблема в том, что вы пытаетесь перенаправить вывод как в файл, так и в канал.

Если вы хотите сжать вывод команды в файл, вы должны использовать:

  / usr / bin / mysqldump --opt -u root -ppassword database |  gzip & gt;  database.sql.gz  
2
ответ дан 10 August 2018 в 10:24

конвейер означает, что вы НЕ записываете в файл, поэтому просто удалите «> database.sql» в своем однострочном пространстве.

Попробуйте что-то вроде этого:

/ usr / bin / mysqldump --opt -u root -ppassword database | gzip> database.sql.gz

2
ответ дан 10 August 2018 в 10:24

Поскольку после создания sql-файла database.sql больше нет выхода. Он не продолжается, поэтому труба не получает никаких данных. вы можете сделать это: mysqldump -u root -p auth & gt; data.sql & amp; & amp; gzip data.sql

2
ответ дан 10 August 2018 в 10:24

Проблема в том, что вы пытаетесь перенаправить вывод как в файл, так и в канал.

Если вы хотите сжать вывод команды в файл, вы должны использовать:

  / usr / bin / mysqldump --opt -u root -ppassword database |  gzip & gt;  database.sql.gz  
2
ответ дан 13 August 2018 в 16:50

Поскольку после создания sql-файла database.sql больше нет выхода. Он не продолжается, поэтому труба не получает никаких данных. вы можете сделать это: mysqldump -u root -p auth & gt; data.sql & amp; & amp; gzip data.sql

2
ответ дан 13 August 2018 в 16:50

Ваш синтаксис здесь неправильный. Поскольку вы отправляете вывод команды mysqldump в базу данных.sql, в gzip нет выхода для передачи через gzip. Просто удалите этот бит, поэтому вы создаете только файл gzipped: / usr / bin / mysqldump --opt -u root -ppassword database | gzip & gt; database.sql.gz

Если вы действительно хотите создавать сжатые и несжатые версии, вам нужно будет запустить две отдельные команды: / usr / bin / mysqldump --opt -u root -ppassword database & gt; database.sql; cat database.sql | gzip & gt; database.sql.gz

или использовать tee для разделения вывода: / usr / bin / mysqldump --opt -u root -ppassword database | tee database.sql | gzip & gt; database.sql.gz

6
ответ дан 13 August 2018 в 16:50

конвейер означает, что вы НЕ записываете в файл, поэтому просто удалите «> database.sql» в своем однострочном пространстве.

Попробуйте что-то вроде этого:

/ usr / bin / mysqldump --opt -u root -ppassword database | gzip> database.sql.gz

2
ответ дан 13 August 2018 в 16:50

Другие вопросы по тегам:

Похожие вопросы: