Часто используемые команды Linux в работе

Java Linux

предисловие

Только лысая голова может стать сильнее.

Текст был включен в мой репозиторий GitHub, добро пожаловать, звезда:GitHub.com/Zhongf UC очень…

Я ранее писал "В чем разница между проектами, которые вы делаете в компании, и проектами, которые вы делаете в школе?«Я не знаю, остались ли у вас какие-либо впечатления. В нем упоминалось, что вам, возможно, придется подождать на сервере Linux на работе, чтобы проверить некоторую информацию (особенно проверить журналы, чтобы найти ошибки).

Я также прошел курс по Linux, когда учился в колледже, и в то же время делал заметки, связанные с Linux:

Однако, после того, как я закончил учебу в школе, я не стал практиковать свои навыки (это было еще слишком плохо), и, можно сказать, я забыл об этом, когда пошел в компанию. В этой статье в основном рассматриваются предыдущие заметки и записываются некоторые команды, которые обычно используются в работе.

  • Я должен учитывать свое текущее измерение. Мои рабочие часы относительно короткие, поэтому может быть много команд, которые будут проигнорированы. Добро пожаловать, чтобы добавить в область комментариев

我TM怎么这么垃圾

1. Просмотр журнала

Есть проблема в сети, подключитесь к онлайн-машине, чтобы проверить журнал.очень распространеноперация. Когда я впервые подключился к онлайн-машине, чтобы проверить журнал, я запомнил только следующие команды (при условии, что наш файл журнала теперь называетсяservice.log):

  • cat service.log
  • tail -f service.log
  • vim serivice.log
  • (явно недостаточно)

Теперь размер вывода журнала составляет около 1 ГБ в день:

每天产出1GB大小的日志

Если это небольшой файл, простоcatКоманда еще может справиться, но если вы напрямую используетеcatКоманда открывает файл журнала размером 1 ГБ, который гарантированно вас убьет (ctrl + cпокидатьcatкоманда занимает много времениcatкоманду на остановку).

  • Обычно я просто используюcatчтобы увидеть, что текстовое содержимое этого маленького файла

Точно так же, если это небольшой файл, простоvimкоманда для открытия файла также будет работать, но если вы используетеvimкоманду, чтобы открыть файл размером 1 ГБ или даже больше, вы также можетеочевидныйЧувствовал себя медленно и заикался.

я обычно люблю использоватьvimЧтобы найти соответствующую запись, моя общая операция:

  • vim service
  • в соответствии сGперейти в конец файла
  • в соответствии с?+ Поиск по ключевым словам для соответствующих записей
  • в соответствии сnЧтобы запросить, нажмитеNЗапрос вниз

tail -f service.logЯ обычно использую эту команду, чтобы проверить, приходит ли трафик (или я могу напрямую посмотреть журнал при отладке, а затем быстроctrl +cвыключенный)

Перед лицом относительно больших файлов журналов мы должны сотрудничатьgrepПриходите играть, например, теперь мы знаем, что определенный номер мобильного телефона не может получить код подтверждения SMS, и мы хотим посмотреть, на что похож журнал этого номера мобильного телефона. Итак, мы можем сделать это:

  • cat service.log | grep 13888888888

Тем самым вы можетеservice.logвсе содержат13888888888Записи были найдены, и скорость поиска по-прежнему была очень высокой.

检索日志

Теперь, когда мы можем искать соответствующие записи по ключевым словам, я хочу взглянутьконтекст журнала для этой записи[Таким образом, вы можете узнать приблизительный статус выполнения этих данных]

Для начала нам нужно узнать номер строки соответствующей записи, вcatдобавить команду после-nпараметры в порядке. Итак, команда:cat -n service.log | grep 13888888888, как показано ниже, мы можем найти соответствующий номер строки

查看行数

Теперь количество строк равно 29506. Как правило, нам нужно посмотреть только первые 10 строк и последние 10 строк из 29506, чтобы узнать, в чем проблема, поэтому мы можем сделать это:

  • sed -n "29496,29516p" service.log: Поиск от строки 29496 до конца строки 29516
  • cat -n service.log | tail -n +29496 | head -n 20: Поиск со строки 29496 и переход на 20 вперед

Если ключевое слово не очень точное (слишком много записей в журнале), мы можем использоватьmoreкоманда для просмотра или вывода в файл для анализа:

  • cat service.log | grep 13 |more: передать результат запроса в дополнительный вывод
  • cat service.log | grep 13 > /home/sanwai/aa.txtЗапишите результат запроса в/home/sanwai/aa.txtв файле

Иногда мы хотим подсчитать, сколько строк выводит этот журнал, мы можем использовать эту команду:

  • cat service.log | wc -l

查看行数

Использованная литература:

Во-вторых, процесс расследования и порт

Есть две команды для проверки процесса:

  • ps -ef
  • ps aux

Две приведенные выше команды предназначены для вывода списка всех процессов, мы по-прежнему передаем|трубы иgrepЧтобы отфильтровать процессы, которые вы хотите проверить, например:ps -ef |grep java

Что вы делаете, чтобы узнать процесс? Зная его идентификатор процесса, мы можем убить его.

  • kill -9 processId: убить процесс

Проверка порта также является очень распространенной операцией.Распространенные команды:netstat -lntup:

l:listening   n:num   t:tcp  u:udp  p:display PID/Program name for sockets

查看当前所有tcp/udp端口的信息

Просмотр подробной информации о порте:lsof -i:4000

查看某个端口的详细信息

3. Проверьте состояние системы

3.1 НАВЕРХ Просмотр состояния процесса в режиме реального времени

TOPКоманда для просмотра состояния процесса. Одно из средних значений нагрузки может быть не таким простым для понимания. Объясним это:

средняя нагрузка: в течение определенного интервала времениработающая очередь(сколько процессов запущено на ЦП или ожидает запуска)среднее количество процессов.

средняя нагрузка имеет три значения, которые представляют:1 минута, 5 минут, 15 минутСреднее количество процессов в очереди запущенных процессов.

  • Процедуры работают + готовые к ожиданию среднего процесса процесса (1 минута, 5 минут, 10 минут) в определенное время

Процессы Linux можно разделить на три состояния:

  • процесс блокировки
  • работающий процесс
  • запущенный процесс

Например, сейчас в системе 2 запущенных процесса и 3 запущенных процесса, тогда загрузка системы равна 5, а средняя загрузка равнаСреднее количество нагрузок в определенный период времени.

3.2бесплатно для просмотра использования памяти

Идея механизма управления памятью в линуксе включает (не смею сказать)Максимальное использование памяти, ядро ​​поставит оставшуюся памятьПрименить как кешированный, а кэшированный не относится к категории бесплатных.

Если свободной памяти недостаточно, ядроЧастичное освобождение кэш-памяти, освобожденная память перераспределяется приложению. Так что для Linux-систем память, доступная для выделения, — это не только свободная память, но и кэшированная память (по сути, буферы).

  • доступная память=свободная память+кэшированная память+буферы

Буферный кеш и кеш страницы. Первый предназначен для чтения и записи дисковых блоков, а второй — для чтения и записи инодов файлов. Эти кэши эффективно сокращают время системных вызовов ввода-вывода (таких как чтение, запись, getdents). Дисковые операцииЛогический уровень (файловая система) и физический уровень (дисковый блок)

Использованная литература:

Наконец

Мое рабочее время относительно короткое, поэтому многие команды могут быть проигнорированы Добро пожаловать, чтобы добавить более часто используемые команды в область комментариев. Если какие-то команды станут более важными в будущем, я поделюсь ими~

рад вывестигалантерейные товарыОбщедоступный номер технологии Java:Java3y. В публичном аккаунтеБолее 200 оригинальных статейТехнические статьи, обширные видеоресурсы, красивые карты мозга,Следуйте, чтобы получить его!

转发到朋友圈是对我最大的支持!

Я думаю, что моя статья хорошо написана, нажмитеотличный!