Я хочу создать журнал все команды набираются в терминале

Читайте о bash, который является оболочкой командной строки. Если вы когда-либо использовали MS-DOS, это похоже. Большинство используемых вами команд довольно прямолинейны: он начинается с команды, за которой следует пробел. Команда может быть либо внутренней командой bash, либо внешней программой / командой. Если это внешнее, это должно быть там, где bash может найти его, либо в пути, либо указанном.

После команды часто есть параметры, специфичные для команд. После опций могут потребоваться имена файлов. Имейте в виду, что пробелы разделяют элементы в этом списке, поэтому, если имя файла имеет пробел, оно должно быть «экранировано», например: name \ with \ spaces. Каждое пространство имеет обратную косую черту перед ним, чтобы сделать его символом, а не разделителем. Как правило, вы также можете поместить двойные кавычки вокруг имени.

Если это команда bash, вы можете узнать больше несколькими способами:

Введите man name_of_command, где name_of_command - это имя программы. Используйте пробелы для прокрутки текста, «b» на страницу назад и «q», чтобы выйти.

Введите name_of_command --help, чтобы получить сокращенный список опций

. Вы можете получить много информации, введя «человек-мужчина», а также «человек-баш». Но некоторые более простые руководства помогут вам начать.

Итак, в следующий раз, когда вы увидите команду, попробуйте ввести первое слово после команды «человек» или введите первое слово, а затем --help чтобы понять, каковы параметры.

После изучения командной строки bash вы сможете экспериментировать с более продвинутыми темами. В Интернете есть много учебников по Linux.

5
задан 24 January 2011 в 20:22

50 ответов

Если вы хотите, чтобы вы регистрировали все команды, запускаемые в интерактивной оболочке, см. BashFAQ 88 - Как я могу избежать потери строк истории?

0
ответ дан 4 August 2018 в 20:04

Вы также можете использовать CTRL + R в терминале для поиска своей истории.

  1. CTRL + R
  2. введите поисковые запросы (например, введите 'sudo apt-get' )
  3. нажмите CTRL + R для циклического переключения между каждым соответствием
0
ответ дан 4 August 2018 в 20:04

Все, что пользователь вводит в терминал вручную, сохраняется в ~ / .bash_history , где ~ является сокращением для текущего каталога пользователя. Также обратите внимание, что файлы, начинающиеся с . , скрыты; в Nautilus вы можете показать их, нажав Ctrl + H.

Взгляните на него, набрав

  cat .bash_history  

Для просмотра вашей истории, аннотированной последовательными номерами, введите

  history  

Вы можете выполнить команды, которые вы видите там, набрав ! 2129 [ ! d5], например, который выполнил бы номер команды 2129, как показано командой history .

Обратите внимание, что команда history показывает вас во втором журнале, но .bash_history сохраняется только после выхода из терминала.

Немного интересной информации:

  • Команды, начинающиеся с пробела, не сохраняются в .bash_history . Если вы запустите команду, подобную rm -R mydir / , вы можете прикрепить ее к пробелу, чтобы предотвратить ее повторное включение, нажав стрелку вверх.

Как говорит Жоао, размер сохраненной истории можно контролировать с помощью экспорта HISTFILESIZE = 5000 .

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

Я написал для этого функцию:

  function begin_install_log () {if [$ # -eq 0] then echo "Нет аргументов, предоставленных" HIST_NUM = "" else HIST_NUM = $ (история  | tail -n 1 | awk '{print $ 1}') HIST_NUM = $ ((HIST_NUM + 2)) OUTPUT_FILE = $ HOME / environment / ansible / .install_cache / $ {1} fi} function capture_install_log () {if [!  $ HIST_NUM], тогда echo "run" begin_install_log 'first "else history | grep -A999 $ HIST_NUM | awk' {$ 1 =" ";  print $ 0} '& gt; & gt; & gt; & gt;  $ OUTPUT_FILE HIST_NUM = "" fi  

Использование:

  $ begin_install_log some_file_name $ blah $ blah $ blah $ capture_install_log  

Вам, конечно, придется изменить переменную OUTPUT_FILE в соответствии с вашими потребностями.

Приветствия!

0
ответ дан 4 August 2018 в 20:04

Если вы хотите, чтобы вы регистрировали все команды, запускаемые в интерактивной оболочке, см. BashFAQ 88 - Как я могу избежать потери строк истории?

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

Вы также можете использовать CTRL + R в терминале для поиска своей истории.

  1. CTRL + R
  2. введите поисковые запросы (например, введите 'sudo apt-get' )
  3. нажмите CTRL + R для циклического переключения между каждым соответствием
0
ответ дан 6 August 2018 в 04:05

Все, что пользователь вводит в терминал вручную, сохраняется в ~ / .bash_history , где ~ является сокращением для текущего каталога пользователя. Также обратите внимание, что файлы, начинающиеся с . , скрыты; в Nautilus вы можете показать их, нажав Ctrl + H.

Взгляните на него, набрав

  cat .bash_history  

Для просмотра вашей истории, аннотированной последовательными номерами, введите

  history  

Вы можете выполнить команды, которые вы видите там, набрав ! 2129 [ ! d5], например, который выполнил бы номер команды 2129, как показано командой history .

Обратите внимание, что команда history показывает вас во втором журнале, но .bash_history сохраняется только после выхода из терминала.

Немного интересной информации:

  • Команды, начинающиеся с пробела, не сохраняются в .bash_history . Если вы запустите команду, подобную rm -R mydir / , вы можете прикрепить ее к пробелу, чтобы предотвратить ее повторное включение, нажав стрелку вверх.

Как говорит Жоао, размер сохраненной истории можно контролировать с помощью экспорта HISTFILESIZE = 5000 .

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

Я написал для этого функцию:

  function begin_install_log () {if [$ # -eq 0] then echo "Нет аргументов, предоставленных" HIST_NUM = "" else HIST_NUM = $ (история  | tail -n 1 | awk '{print $ 1}') HIST_NUM = $ ((HIST_NUM + 2)) OUTPUT_FILE = $ HOME / environment / ansible / .install_cache / $ {1} fi} function capture_install_log () {if [!  $ HIST_NUM], тогда echo "run" begin_install_log 'first "else history | grep -A999 $ HIST_NUM | awk' {$ 1 =" ";  print $ 0} '& gt; & gt; & gt; & gt;  $ OUTPUT_FILE HIST_NUM = "" fi  

Использование:

  $ begin_install_log some_file_name $ blah $ blah $ blah $ capture_install_log  

Вам, конечно, придется изменить переменную OUTPUT_FILE в соответствии с вашими потребностями.

Приветствия!

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

Все, что пользователь вводит в терминал вручную, сохраняется в ~ / .bash_history , где ~ является сокращением для текущего каталога пользователя. Также обратите внимание, что файлы, начинающиеся с . , скрыты; в Nautilus вы можете показать их, нажав Ctrl + H.

Взгляните на него, набрав

  cat .bash_history  

Для просмотра вашей истории, аннотированной последовательными номерами, введите

  history  

Вы можете выполнить команды, которые вы видите там, набрав ! 2129 [ ! d5], например, который выполнил бы номер команды 2129, как показано командой history .

Обратите внимание, что команда history показывает вас во втором журнале, но .bash_history сохраняется только после выхода из терминала.

Немного интересной информации:

  • Команды, начинающиеся с пробела, не сохраняются в .bash_history . Если вы запустите команду, подобную rm -R mydir / , вы можете прикрепить ее к пробелу, чтобы предотвратить ее повторное включение, нажав стрелку вверх.

Как говорит Жоао, размер сохраненной истории можно контролировать с помощью экспорта HISTFILESIZE = 5000 .

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

Если вы хотите, чтобы вы регистрировали все команды, запускаемые в интерактивной оболочке, см. BashFAQ 88 - Как я могу избежать потери строк истории?

0
ответ дан 7 August 2018 в 22:05

Вы также можете использовать CTRL + R в терминале для поиска своей истории.

  1. CTRL + R
  2. введите поисковые запросы (например, введите 'sudo apt-get' )
  3. нажмите CTRL + R для циклического переключения между каждым соответствием
0
ответ дан 7 August 2018 в 22:05

Я написал для этого функцию:

  function begin_install_log () {if [$ # -eq 0] then echo "Нет аргументов, предоставленных" HIST_NUM = "" else HIST_NUM = $ (история  | tail -n 1 | awk '{print $ 1}') HIST_NUM = $ ((HIST_NUM + 2)) OUTPUT_FILE = $ HOME / environment / ansible / .install_cache / $ {1} fi} function capture_install_log () {if [!  $ HIST_NUM], тогда echo "run" begin_install_log 'first "else history | grep -A999 $ HIST_NUM | awk' {$ 1 =" ";  print $ 0} '& gt; & gt; & gt; & gt;  $ OUTPUT_FILE HIST_NUM = "" fi  

Использование:

  $ begin_install_log some_file_name $ blah $ blah $ blah $ capture_install_log  

Вам, конечно, придется изменить переменную OUTPUT_FILE в соответствии с вашими потребностями.

Приветствия!

0
ответ дан 7 August 2018 в 22:05

Все, что пользователь вводит в терминал вручную, сохраняется в ~ / .bash_history , где ~ является сокращением для текущего каталога пользователя. Также обратите внимание, что файлы, начинающиеся с . , скрыты; в Nautilus вы можете показать их, нажав Ctrl + H.

Взгляните на него, набрав

  cat .bash_history  

Для просмотра вашей истории, аннотированной последовательными номерами, введите

  history  

Вы можете выполнить команды, которые вы видите там, набрав ! 2129 [ ! d5], например, который выполнил бы номер команды 2129, как показано командой history .

Обратите внимание, что команда history показывает вас во втором журнале, но .bash_history сохраняется только после выхода из терминала.

Немного интересной информации:

  • Команды, начинающиеся с пробела, не сохраняются в .bash_history . Если вы запустите команду, подобную rm -R mydir / , вы можете прикрепить ее к пробелу, чтобы предотвратить ее повторное включение, нажав стрелку вверх.

Как говорит Жоао, размер сохраненной истории можно контролировать с помощью экспорта HISTFILESIZE = 5000 .

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

Если вы хотите, чтобы вы регистрировали все команды, запускаемые в интерактивной оболочке, см. BashFAQ 88 - Как я могу избежать потери строк истории?

0
ответ дан 10 August 2018 в 10:19

Вы также можете использовать CTRL + R в терминале для поиска своей истории.

  1. CTRL + R
  2. введите поисковые запросы (например, введите 'sudo apt-get' )
  3. нажмите CTRL + R для циклического переключения между каждым соответствием
0
ответ дан 10 August 2018 в 10:19

Я написал для этого функцию:

  function begin_install_log () {if [$ # -eq 0] then echo "Нет аргументов, предоставленных" HIST_NUM = "" else HIST_NUM = $ (история  | tail -n 1 | awk '{print $ 1}') HIST_NUM = $ ((HIST_NUM + 2)) OUTPUT_FILE = $ HOME / environment / ansible / .install_cache / $ {1} fi} function capture_install_log () {if [!  $ HIST_NUM], тогда echo "run" begin_install_log 'first "else history | grep -A999 $ HIST_NUM | awk' {$ 1 =" ";  print $ 0} '& gt; & gt; & gt; & gt;  $ OUTPUT_FILE HIST_NUM = "" fi  

Использование:

  $ begin_install_log some_file_name $ blah $ blah $ blah $ capture_install_log  

Вам, конечно, придется изменить переменную OUTPUT_FILE в соответствии с вашими потребностями.

Приветствия!

0
ответ дан 10 August 2018 в 10:19

Все, что пользователь вводит в терминал вручную, сохраняется в ~ / .bash_history , где ~ является сокращением для текущего каталога пользователя. Также обратите внимание, что файлы, начинающиеся с . , скрыты; в Nautilus вы можете показать их, нажав Ctrl + H.

Взгляните на него, набрав

  cat .bash_history  

Для просмотра вашей истории, аннотированной последовательными номерами, введите

  history  

Вы можете выполнить команды, которые вы видите там, набрав ! 2129 [ ! d5], например, который выполнил бы номер команды 2129, как показано командой history .

Обратите внимание, что команда history показывает вас во втором журнале, но .bash_history сохраняется только после выхода из терминала.

Немного интересной информации:

  • Команды, начинающиеся с пробела, не сохраняются в .bash_history . Если вы запустите команду, подобную rm -R mydir / , вы можете прикрепить ее к пробелу, чтобы предотвратить ее повторное включение, нажав стрелку вверх.

Как говорит Жоао, размер сохраненной истории можно контролировать с помощью экспорта HISTFILESIZE = 5000 .

6
ответ дан 13 August 2018 в 16:42
  • 1
    Однако важно помнить, что если оболочка прерывается ненормально, например, из-за сетевых проблем, брандмауэр изменяется или потому, что он был убит, то история не записывается. – Rajat Gupta 22 February 2014 в 21:04

Если вы хотите, чтобы вы регистрировали все команды, запускаемые в интерактивной оболочке, см. BashFAQ 88 - Как я могу избежать потери строк истории?

0
ответ дан 13 August 2018 в 16:42

Вы также можете использовать CTRL + R в терминале для поиска своей истории.

  1. CTRL + R
  2. введите поисковые запросы (например, введите 'sudo apt-get' )
  3. нажмите CTRL + R для циклического переключения между каждым соответствием
0
ответ дан 13 August 2018 в 16:42

Я написал для этого функцию:

  function begin_install_log () {if [$ # -eq 0] then echo "Нет аргументов, предоставленных" HIST_NUM = "" else HIST_NUM = $ (история  | tail -n 1 | awk '{print $ 1}') HIST_NUM = $ ((HIST_NUM + 2)) OUTPUT_FILE = $ HOME / environment / ansible / .install_cache / $ {1} fi} function capture_install_log () {if [!  $ HIST_NUM], тогда echo "run" begin_install_log 'first "else history | grep -A999 $ HIST_NUM | awk' {$ 1 =" ";  print $ 0} '& gt; & gt; & gt; & gt;  $ OUTPUT_FILE HIST_NUM = "" fi  

Использование:

  $ begin_install_log some_file_name $ blah $ blah $ blah $ capture_install_log  

Вам, конечно, придется изменить переменную OUTPUT_FILE в соответствии с вашими потребностями.

Приветствия!

0
ответ дан 13 August 2018 в 16:42

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

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