Как настроить DHCP-сервер и клиент на локальные виртуальные сетевые интерфейсы Linux

  1. Просто используйтеtime [any command]. Пример:time sleep 1будет спать в режиме реального времени (, т.е. :по секундомеру )из ~от 1,000 до ~1,020 с, как показано здесь:

     $ time sleep 1
    
     real    0m1.011s
     user    0m0.004s
     sys 0m0.000s
    

    Какая красота. Вы можете поместить любую команду после нее, и она выведет результат в удобном для человека -читаемом виде. Мне очень нравится использовать его для временных сборок. Экс:

     # time your "make" build
     time make
    
     # time your "Bazel" build
     time bazel build //path/to/some:target
    

    ...или для операций git, которые потенциально могут быть очень длинными,так что я могу развить реалистичные ментальные ожидания:

     # time how long it takes to pull from a massive repo when
     # I'm working from home during COVID-19. NB: `git pull`
     # is sooooo much slower than just pulling the one branch
     # you need with `git pull origin `, so just fetch
     # or pull what you need!
     time git pull origin master
    
  2. Для более -настраиваемых временных требований , когда вам может потребоваться манипулировать выводом или преобразовывать его в другие формы, в bash используйте внутреннюю $SECONDSпеременную. Вот демонстрация, включающая преобразование этих секунд в другие единицы, такие как минуты с плавающей запятой:

    Обратите внимание, что dt_minокругляется от0.01666666666...(1 секунда = столько минут )до 0.017в данном случае, так как я использую для округления функцию printf. В приведенной ниже части sleep 1;вы бы вызвали свой скрипт для запуска и времени, но вместо этого я просто сплю в течение 1 секунды ради этой демонстрации.

    Команда:

     start=$SECONDS; sleep 1; end=$SECONDS; dt_sec=$(( end - start )); \
     dt_min=$(printf %.3f $(echo "$dt_sec/60" | bc -l)); \
     echo "dt_sec = $dt_sec; dt_min = $dt_min"
    

    Выход:

     dt_sec = 1; dt_min = 0.017
    
  3. Связанные:

    1. Подробнее о bcи printfчитайте в моем ответе здесь:https://stackoverflow.com/questions/12722095/how-do-i-use-floating-point-division-in-bash/58479867#58479867
    2. Я уже не помню, где я впервые узнал о команде time, но, возможно, это было из ответа @ Trudbert прямо здесь .
0
16.07.2021, 02:26
0 ответов

Теги

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