2016-01-14 2 views
1

Допустим, я хочу, чтобы сохранить (добавить) выходы команд:Linux: Как записать выходы двух команд терминала в файл?

  • Дата
  • бесплатно -m

.. в файл. С ожиданием, как:

Thu Jan 14 04:38:08 GMT 2016 
       total  used  free  shared buffers  cached 
Mem:    3655  1087  2567   0   50  117 
-/+ buffers/cache:   919  735 
Swap:    0   0   0 

Я знаю, как спасти с отдельными командами, как:

# date >> memlogs.txt 
# free -m >> memlogs.txt 

Но как я правильно сделать их в одну чистую команду, пожалуйста?

+0

Можете ли вы подтвердить свою оболочку? Поскольку вы используете Linux, можно предположить bash, но корневое приглашение в csh/tcsh может иметь приглашение '#'. – ghoti

+0

Привет, это 'bash'. –

ответ

4
{ date; free -m; } > memlogs.txt 

(Обратите внимание на заднюю точку с запятой.)

или

{ 
    date 
    free -m 
} > memlogs.txt 

или

exec > memlogs.txt 
date 
free -m 

объемного звучания последним со скобками, чтобы поместить команды в суб- если вы хотите, чтобы перенаправление было временным.

(
    exec > memlogs.txt 
    date 
    free -m 
) 
+0

Спасибо! Мне нравится этот первый, но с «двойными» стрелками, чтобы «добавить» в файл. '{date; free -m; } >> memlogs.txt'. –

Смежные вопросы