Development knowledge/Linux

[Linux] 리눅스 tail 명령어 사용법 (실시간 로그 보는 방법)

yuri lee 2024. 7. 9. 18:50
반응형

Intro 

안녕하세요. 이번 시간에는 리눅스 tail 명령어 사용법에 대해 알아보도록 하겠습니다 :) 

 

How to use

다음은 테스트용 json 파일입니다. 

{
    "quiz": {
        "sport": {
            "q1": {
                "question": "Which one is correct team name in NBA?",
                "options": [
                    "New York Bulls",
                    "Los Angeles Kings",
                    "Golden State Warriros",
                    "Huston Rocket"
                ],
                "answer": "Huston Rocket"
            }
        },
        "maths": {
            "q1": {
                "question": "5 + 7 = ?",
                "options": [
                    "10",
                    "11",
                    "12",
                    "13"
                ],
                "answer": "12"
            },
            "q2": {
                "question": "12 - 8 = ?",
                "options": [
                    "1",
                    "2",
                    "3",
                    "4"
                ],
                "answer": "4"
            }
        }
    }
}

 
아무런 옵션 없이 tail 를 사용하면 아래와 같이 마지막에서 총 10개의 라인을 가져옵니다. 

➜  Desktop tail linux-tail-test.json
                    "1",
                    "2",
                    "3",
                    "4"
                ],
                "answer": "4"
            }
        }
    }
}%

 
 
특정 라인 수를 호출해주고 싶다면 -n옵션을 사용하여 아래와 같이 사용할 수 있습니다. 아래는 100개의 라인까지 표시하는 예제입니다. 

➜  Desktop tail -100 linux-tail-test.json
{
    "quiz": {
        "sport": {
            "q1": {
                "question": "Which one is correct team name in NBA?",
                "options": [
                    "New York Bulls",
                    "Los Angeles Kings",
                    "Golden State Warriros",
                    "Huston Rocket"
                ],
                "answer": "Huston Rocket"
            }
        },
        "maths": {
            "q1": {
                "question": "5 + 7 = ?",
                "options": [
                    "10",
                    "11",
                    "12",
                    "13"
                ],
                "answer": "12"
            },
            "q2": {
                "question": "12 - 8 = ?",
                "options": [
                    "1",
                    "2",
                    "3",
                    "4"
                ],
                "answer": "4"
            }
        }
    }
}%

 
 
실시간으로 로그를 확인하고 싶다면 -f옵션을 사용할 수 있습니다. 종료 시에는 control+c 단축키를 활용하면 됩니다. tail -f 옵션은 서비스의 로그를 읽을 때 유용하게 사용됩니다.

➜  Desktop tail -f linux-tail-test.json

 
 

Tail Manual

아래는 더 자세한 tail 명령어의 메뉴얼입니다. 참고 부탁드립니다 :) 

TAIL(1)                                                                                              General Commands Manual                                                                                             TAIL(1)

NAME
     tail – display the last part of a file

SYNOPSIS
     tail [-F | -f | -r] [-qv] [-b number | -c number | -n number] [file ...]

DESCRIPTION
     The tail utility displays the contents of file or, by default, its standard input, to the standard output.

     The display begins at a byte, line or 512-byte block location in the input.  Numbers having a leading plus (‘+’) sign are relative to the beginning of the input, for example, “-c +2” starts the display at the second
     byte of the input.  Numbers having a leading minus (‘-’) sign or no explicit sign are relative to the end of the input, for example, “-n 2” displays the last two lines of the input.  The default starting location is “-n
     10”, or the last 10 lines of the input.

     The options are as follows:

     -b number, --blocks=number
             The location is number 512-byte blocks.

     -c number, --bytes=number
             The location is number bytes.

     -f      The -f option causes tail to not stop when end of file is reached, but rather to wait for additional data to be appended to the input.  The -f option is ignored if the standard input is a pipe, but not if it is
             a FIFO.

     -F      The -F option implies the -f option, but tail will also check to see if the file being followed has been renamed or rotated.  The file is closed and reopened when tail detects that the filename being read from
             has a new inode number.

             If the file being followed does not (yet) exist or if it is removed, tail will keep looking and will display the file from the beginning if and when it is created.

             The -F option is the same as the -f option if reading from standard input rather than a file.

     -n number, --lines=number
             The location is number lines.

     -q, --quiet, --silent
             Suppresses printing of headers when multiple files are being examined.

     -r      The -r option causes the input to be displayed in reverse order, by line.  Additionally, this option changes the meaning of the -b, -c and -n options.  When the -r option is specified, these options specify the
             number of bytes, lines or 512-byte blocks to display, instead of the bytes, lines or blocks from the beginning or end of the input from which to begin the display.  The default for the -r option is to display
             all of the input.

     -v, --verbose
             Prepend each file with a header.

     If more than a single file is specified, or if the -v option is used, each file is preceded by a header consisting of the string “==> XXX <==” where XXX is the name of the file.  The -q flag disables the printing of the
     header in all cases.

     All number arguments may also be specified with size suffixes supported by expand_number(3).

EXIT STATUS
     The tail utility exits 0 on success, and >0 if an error occurs.

EXAMPLES

 

반응형