Важно для программистов Java: просматривайте общие команды Linux в журналах.

Java

предисловие

Воспользуйтесь выходными, просмотрите личную кухню Brother Bird на Linux, посмотрите раздел просмотра содержимого файлов и сделайте заметку, ха-ха, надеюсь, это поможет вам.

cat

cat : отображать все содержимое файла, начиная с первой строки

Параметр Описание

cat [-AbEnTv]
参数:
-A : 相当于-vET 的整合参数,可列出一些特殊字符,而不是空白而已
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号
-E :将结尾的断行字符$显示出来
-n : 打印行号,连同空白行也会有行号,与-b的参数不同

пример демо

Пример 1:

Просмотр содержимого cattest.txt

[root@iZ2zehkwp9rwg4azsvnjbuZ whx]# cat cattest.txt 
test cat command
jaywei

#####

Пример второй:

Просмотрите содержимое cattest.txt и отобразите номер строки

[root@iZ2zehkwp9rwg4azsvnjbuZ whx]# cat -n cattest.txt 
     1	test cat command
     2	jaywei
     3	
     4	#####

Применимая сцена

  • cat — это аббревиатура от Concatenate, основная функция которой — непрерывное отображение содержимого файла на экране.
  • Как правило, когда количество строк в файле невелико, например, в пределах 40 строк, подходит cat.
  • Если это обычный DOS-файл, нужно обратить особое внимание на некоторые странные символы, такие как разрыв строки и [Tab], для его отображения необходимо добавить такие параметры, как -a.

tac

tac : начиная с последней строки видно, что tac — это обратная форма cat

пример демо

[root@iZ2zehkwp9rwg4azsvnjbuZ whx]# tac  cattest.txt 
#####

jaywei
test cat command

Применимая сцена

  • Функция tac противоположна кошке, кошка «отображается на экране непрерывно от первой строки до последней строки», а tac «отображается на экране в обратном порядке от последней строки к первой строке».

head

head : Отобразить содержимое в начале файла, в построчных единицах, первые 10 строк в начале файла по умолчанию.

Параметр Описание

head [OPTION]... FILE...
-n<行数> 显示的行数
-q 隐藏文件名
-v 显示文件名
-c<字节> 显示字节数

пример демо

Показать первые 12 строк файла sentinel.conf

[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# head -n 12  sentinel.conf 
# Example sentinel.conf

# *** IMPORTANT ***
#
# By default Sentinel will not be reachable from interfaces different than
# localhost, either use the 'bind' directive to bind to a list of network
# interfaces, or disable protected mode with "protected-mode no" by
# adding it to this configuration file.
#
# Before doing that MAKE SURE the instance is protected from the outside
# world via firewalling or other means.
#

tail

Просмотрите содержимое файла, также в построчных единицах, по умолчанию 10 строк, от конца к началу. При мониторинге динамических журналов Java обычно следуйте-fпараметры используются вместе.

Параметр Описание

tail [参数] [文件]  
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示文件的尾部 n 行内容

пример демо

Пример 1

Показать последние 12 строк файла sentinel.conf

[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# tail -n 12  sentinel.conf 
# <role> is either "leader" or "observer"
# 
# The arguments from-ip, from-port, to-ip, to-port are used to communicate
# the old address of the master and the new address of the elected slave
# (now a master).
#
# This script should be resistant to multiple invocations.
#
# Example:
#
# sentinel client-reconfig-script mymaster /var/redis/reconfig.sh

Пример 2

Постоянно проверяйте содержимое sentinel.conf

[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# tail -f sentinel.conf
# The arguments from-ip, from-port, to-ip, to-port are used to communicate
# the old address of the master and the new address of the elected slave
# (now a master).
#
# This script should be resistant to multiple invocations.
#
# Example:
#
# sentinel client-reconfig-script mymaster /var/redis/reconfig.sh
<==要等到输入[ctrl]-c 之后才离开tail 这个命令的检测

Пример 3

Продолжайте обнаруживать содержимое sentinel.conf и сопоставлять ключевые слова Redis. Соответствие ключевым словам, обычно используемымgrep,tailобычно будет следоватьgrepИспользование партнера.

[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# tail -f sentinel.conf | grep redis
# sentinel client-reconfig-script mymaster /var/redis/reconfig.sh
<==要等到输入[ctrl]-c 之后才离开tail 这个命令的检测

Применимая сцена

  • tial -fОн используется для динамического мониторинга журналов Java и часто используется при совместной отладке разработки.grepИспользуйте вместе.

more

more : отображать содержимое файла постранично

Параметр Описание

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
参数:
-num :一次显示的行数
-p :不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c : 跟 -p 相似,不同的是先显示内容再清除其他旧资料
-s : 当遇到有连续两行以上的空白行,就代换为一行的空白行
+/pattern : 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
-u :不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
+num : 从第 num 行开始显示
fileNames :欲显示内容的文档,可为复数个数

Общие рабочие команды

[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# more sentinel.conf 
# Example sentinel.conf
...(中间省略) ...
# Note that whatever is the ODOWN quorum, a Sentinel will require to
# be elected by the majority of the known Sentinels in order to
# start a failover, so no failover can be performed in minority.
#
# Slaves are auto-discovered, so you don't need to specify slaves in
--More--(29%)

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

  • Пробел: представляет страницу вниз
  • Enter : означает прокрутку вниз на одну строку
  • /string : указывает, что в отображаемом содержимом запрашивается ключевое слово «строка».
  • :f : Немедленно отобразить имя файла и количество строк, отображаемых в данный момент.
  • q : означает немедленно выйти и больше не отображать содержимое файла
  • b или [Ctrl]-b: представляет предыдущую страницу, но эта операция полезна только для файлов, а не для конвейеров.

Наиболее часто используются:в соответствии сqуйти, нажать空格键для перехода вниз нажмитеbстраницу назад, и/字符串Функция поиска, см. следующую демонстрацию

пример демо

Пример 1

[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# more -10 sentinel.conf
# Example sentinel.conf
...(此处省略)...
# Before doing that MAKE SURE the instance is protected from the outside
--More--(4%)

Просмотрите файл sentinel.conf в разбивке на страницы, показывая 10 строк на одной странице. Нажмите空格键, вы можете пролистать вниз,

[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# more -10 sentinel.conf
# Example sentinel.conf
...(此处省略)...
# protected-mode no
# port <sentinel-port>
# The port that this sentinel instance will run on
--More--(7%)

Нажмитеb, вы можете вернуться на предыдущую страницу

# *** IMPORTANT ***
...(此处省略)...
# Before doing that MAKE SURE the instance is protected from the outside
# world via firewalling or other means.
--More--(5%)

Нажмитеq, вы можете оставить сразу больше

[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# 

Пример 2

Если вы хотите найти ключевое слово sentinel в файле sentinel.conf, вы можете сделать это

[root@iZ2zehkwp9rwg4azsvnjbuZ redis-4.0.7]# more -10  sentinel.conf
# Example sentinel.conf
...(此处省略)...
# Before doing that MAKE SURE the instance is protected from the outside
/sentinel  输入/之后,光标就会自动跑到最下面一行等待输入

Как объяснялось выше, после ввода / курсор переместится в нижнюю строку и будет ждать вашего ввода.После того, как вы введете строку и нажмете [Enter], больше начнет запрашивать строку вниз, и Чтобы повторно запрашивать одну и ту же строку, вы можете напрямую нажать n. Наконец, если вы не хотите его читать, нажмите q, чтобы оставить больше.

# Before doing that MAKE SURE the instance is protected from the outside
/sentinel
...skipping
# protected-mode no

# port <sentinel-port>
# The port that this sentinel instance will run on
port 26379

# sentinel announce-ip <ip>
# sentinel announce-port <port>
#
/
...skipping
# Example:
#
# sentinel announce-ip 1.2.3.4

# dir <working-directory>
# Every long running process should have a well-defined working directory.
# For Redis Sentinel to chdir to /tmp at startup is the simplest thing
# for the process to don't interfere with administrative tasks such as
# unmounting filesystems.
--More--(23%)

Применимая сцена

  • More использует относительно большой файл для просмотра журнала, который можно просматривать постранично, не делая предыдущие данные невидимыми.

less

меньше похоже на больше, но использование меньше более гибко, чем больше.

  • Если вы используете меньше, вы можете использовать функции кнопок вниз и вниз для прокрутки файлов вперед и назад.
  • Кроме того, меньше функций запросов. Вы можете запрашивать не только вниз, но и вверх.

Общие рабочие команды

  • Пробел: прокрутить страницу вниз
  • [pagedown]: прокрутить вниз на одну страницу
  • [pageup]: прокрутить вверх на одну страницу
  • Enter : означает прокрутку вниз на одну строку
  • y : прокрутить вперед на одну строку
  • /string: Функция для поиска «строки»
  • ?string: функция для поиска "строки"
  • n: повторить предыдущий поиск (связанный с / или ?)
  • N: повторить предыдущий поиск в обратном порядке (связанный с / или ?)
  • q: оставить меньше программы
  • б перевернуться на одну страницу

пример демо

Пример 1

В файле sentinel.conf найдите ключевое слово sentinel следующим образом.

less sentinel.conf 

Введите обратную косую черту/,Введите ключевые словаsentinel, входить

Чтобы повторить предыдущий поиск, вы можете нажать n, чтобы повторить предыдущий поиск в обратном порядке, нажмите N

Пример 2

Linux динамически просматривает лог-файлы, обычно использует tail -f, но мы также можем использовать less+ F для достижения этой цели.

less + file-name + 命令 F =  tail -f + file-name

Мы часто используем ключевое слово tail -f +grep для динамического поиска журналов, сообщающих об ошибках, и это также можно реализовать с меньшими затратами. Сначала введите shirft+g, чтобы добраться до конца файла

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

Применимая сцена

  • less подходит для просмотра файлов с относительно большими журналами. Его можно просматривать постранично, и он более гибкий, чем more. Он также может динамически просматривать журналы. Обычно я использую его для просмотра журналов Java.

резюме

В этой статье собраны несколько команд linux для просмотра журналов файлов, cat, tac, head, tail, more, less, среди которых less действительно подходит для ежедневного просмотра журнала разработки, а less настоятельно рекомендуется.

Ссылка и спасибо

Личный публичный аккаунт

  • Если вы хороший ребенок, который любит учиться, вы можете подписаться на мой официальный аккаунт, чтобы учиться и обсуждать вместе.
  • Если вы считаете, что в этой статье есть какие-либо неточности, вы можете прокомментировать или подписаться на мой официальный аккаунт, пообщаться со мной в частном порядке, и все смогут учиться и прогрессировать вместе.