본문 바로가기
IT/리눅스 명령어

[Linux] 리눅스 서버 기본 명령어 head 명령어 옵션 사용법 총정리

by 꾸꾸웍스 2022. 4. 13.
반응형

[Linux] 리눅스 서버 기본 명령어 head 명령어 옵션 사용법 총정리


 


 

※ 목차

1. 리눅스 head 명령어란???
2. 리눅스 head 명령어 사용법
3. 리눅스 head 명령어 옵션
4. 리눅스 head 명령어 옵션 사용법

 


 

1. 리눅스 head 명령어란???
  • 파일의 전체 내용 중 앞부분을 출력해 주는 명령어입니다.
  • 텍스트 파일로 된 파일의 전체 내용 중 앞부분을 출력해주며 binary로 된 파일은 출력은 되지만
    알아볼 수 없는 문자로 출력해 주기 때문에 텍스트 파일로 된 파일 출력을 권장합니다.
  • 주로 대용량의 로그 파일이나 줄 수가 많은 파일 또는 어떤 파일인지 확인하려고 할 때 사용합니다.
  • 옵션을 사용하면 파일의 행수나 용량을 지정할 수 있어 사용자가 원하는 만큼 출력을 지정할 수 있습니다.

 


 

2. 리눅스 head 명령어 사용법
  • 기본 사용법은 아래와 같습니다.
head [옵션] [파일]

  • 아무런 옵션을 사용하지 않으면 기본적으로 처음부터 10줄을 표준 출력으로 출력합니다.
### file1.txt 파일에는 a부터 z까지 각 5글자 씩 총 26줄이 존재합니다.

[ server 2022-04-13 14:17:26 ] ~/testdir
user@server # ls -l
total 4
-rw-r--r-- 1 user user 156 Apr 13 14:17 file1.txt

[ server 2022-04-13 14:17:28 ] ~/testdir
user@server # head file1.txt
aaaaa
bbbbb
ccccc
ddddd
eeeee
fffff
ggggg
hhhhh
iiiii
jjjjj

  • head 명령어로 한 개의 파일 또는 여러 개의 파일을 출력할 수 있습니다.
    • 여러 개의 파일을 출력할 시 각 내용 앞에 파일명의 이름을 출력합니다.
#### file1부터 file4까지는 동일한 내용으로 이름만 다른 파일이 존재 합니다.

[ server 2022-04-13 14:22:05 ] ~/testdir
user@server # ls -l
total 16
-rw-r--r-- 1 user user 156 Apr 13 14:17 file1.txt
-rw-r--r-- 1 user user 156 Apr 13 14:17 file2.txt
-rw-r--r-- 1 user user 156 Apr 13 14:17 file3.txt
-rw-r--r-- 1 user user 156 Apr 13 14:17 file4.txt

### 한개의 파일을 출력합니다.

[ server 2022-04-13 14:22:06 ] ~/testdir
user@server # head file1.txt
aaaaa
bbbbb
ccccc
ddddd
eeeee
fffff
ggggg
hhhhh
iiiii
jjjjj

### 여러개의 파일을 출력합니다.

[ server 2022-04-13 14:22:12 ] ~/testdir
user@server # head file1.txt file2.txt file3.txt file4.txt
==> file1.txt <==
aaaaa
bbbbb
ccccc
ddddd
eeeee
fffff
ggggg
hhhhh
iiiii
jjjjj

==> file2.txt <==
aaaaa
bbbbb
ccccc
ddddd
eeeee
fffff
ggggg
hhhhh
iiiii
jjjjj

==> file3.txt <==
aaaaa
bbbbb
ccccc
ddddd
eeeee
fffff
ggggg
hhhhh
iiiii
jjjjj

==> file4.txt <==
aaaaa
bbbbb
ccccc
ddddd
eeeee
fffff
ggggg
hhhhh
iiiii
jjjjj

  • head 명령어로 표준 입력을 받아 파일을 생성할 수 있습니다.
### 아래 경로에 파일이 존재 하지 않음
[ server 2022-04-13 14:25:34 ] ~/testdir
user@server # ls -l
total 0

### head 명령어를 이용해 리다이렉션 포준 입력을 받아 test_file.txt 파일을 생성
    ### 파일 입력이 완료되면 ctrl+d를 눌러 입력 종료
[ server 2022-04-13 14:25:36 ] ~/testdir
user@server # head > test_file.txt
Hi. My name is Song
Nice to meet you
bye bye

### 파일 생성 확인
[ server 2022-04-13 14:26:11 ] ~/testdir
user@server # ls -l
total 4
-rw-r--r-- 1 user user 45 Apr 13 14:26 test_file.txt

### cat 명령어를 이용해 파일 확인
[ server 2022-04-13 14:26:17 ] ~/testdir
user@server # cat test_file.txt
Hi. My name is Song
Nice to meet you
bye bye

  • 파이프를 이용해 다른 명령어 사용할 수 있습니다.
    • 파이프의 기호는 | 이며, 키보드의 shift+\ 버튼을 입력하면 됩니다.
[ server 2022-04-13 14:30:35 ] ~/testdir
user@server # ls -l
total 4
-rw-r--r-- 1 user user 45 Apr 13 14:26 test_file.txt

### 파이프를 이용해 head 명령어로 첫줄만 확인
[ server 2022-04-13 14:30:36 ] ~/testdir
user@server # cat test_file.txt | head -1
Hi. My name is Song

 


 

3. 리눅스 head 명령어 옵션
번호 옵션 long 옵션 설명
1 -{num} - 지정한 숫자만큼 행을 출력합니다.
2 -c --bytes=[-]K 지정한 바이트만큼 출력합니다.
(지정한 바이트 앞에 - 가 붙으면 지정한 만큼 마지막 부터 제외하고 출력)
3 -n --lines=[-]K 기본적으로 10줄의 출력대신 지정한 숫자의 행만큼 출력합니다.
(지정한 숫자 앞에 - 가 붙으면 지정한 만큼 마지막 부터 제외하고 출력)
4 -q --quiet, --silent 내용을 출력하기전 항상 파일명을 출력하지 않습니다.
5 -v --verbose 내용을 출력하기전 항상 파일명을 출력합니다.
6 - --help head 명령어의 사용법을 출력합니다.
7 - --version head 명령어의 버전을 출력합니다.

4. 리눅스 head 명령어 옵션 사용법
  • head -{num} 옵션 사용법
    • 지정한 숫자만큼 행을 출력합니다.
[ server 2022-04-13 14:45:29 ] ~/testdir
user@server # ls -l
total 4
-rw-r--r-- 1 user user 45 Apr 13 14:26 test_file.txt

### cat -n 옵션을 이용하여 파일 라인 확인
[ server 2022-04-13 14:45:30 ] ~/testdir
user@server # cat -n test_file.txt
     1  Hi. My name is Song
     2  Nice to meet you
     3  bye bye

### head -1을 사용하여 파일의 첫번째 라인만 출력
[ server 2022-04-13 14:45:36 ] ~/testdir
user@server # head -1 test_file.txt
Hi. My name is Song

  • head -c 옵션 사용법
    • 지정한 바이트 만큼 출력하고
      지정한 바이트 앞에 '-'기호가 붙으면 지정한 만큼 제외하고 출력합니다.
[ server 2022-04-13 14:49:10 ] ~/testdir
user@server # ls -l
total 4
-rw-r--r-- 1 user user 45 Apr 13 14:26 test_file.txt

### 예시를 위해 파일의 전체 내용을 출력합니다
[ server 2022-04-13 14:49:10 ] ~/testdir
user@server # cat test_file.txt
Hi. My name is Song
Nice to meet you
bye bye

### head -c 10의 의미는 맨 앞부터 10바이트 만큼 줄력합니다.
[ server 2022-04-13 14:49:34 ] ~/testdir
user@server # head -c 10 test_file.txt
Hi. My nam

### head -c -10의 의미는 10바이트를 제외하고 출력합니다.
[ server 2022-04-13 14:49:38 ] ~/testdir
user@server # head -c -10 test_file.txt
Hi. My name is Song
Nice to meet yo

  • head -n 옵션 사용법
    • 기본적으로 10줄의 출력 대신 지정한 숫자의 행만큼 출력합니다.
    • 지정한 숫자 앞에 '-' 기호가 붙으면 지정한 만큼 마지막부터 제외하고 출력합니다.
[ server 2022-04-13 14:54:40 ] ~/testdir
user@server # ls -l
total 4
-rw-r--r-- 1 user user 45 Apr 13 14:26 test_file.txt

### 예시를 위해 파일의 전체 내용을 확인
[ server 2022-04-13 14:54:41 ] ~/testdir
user@server # cat test_file.txt
Hi. My name is Song
Nice to meet you
bye bye

### head -n 1의 의미는 파일의 내용 중 첫번째 줄을 출력한다는 의미
[ server 2022-04-13 14:54:42 ] ~/testdir
user@server # head -n 1 test_file.txt
Hi. My name is Song

### head -n -1의 의미는 head로 출력 할 수 있는 내용의 마지막을 제외하고 출력한다는 의미
[ server 2022-04-13 14:54:48 ] ~/testdir
user@server # head -n -1 test_file.txt
Hi. My name is Song
Nice to meet you

  • head -q 옵션 사용법
    • 내용을 출력하기 전 항상 파일명을 출력하지 않습니다.
[ server 2022-04-13 14:59:18 ] ~/testdir
user@server # ls -l
total 8
-rw-r--r-- 1 user user 30 Apr 13 14:59 file2.txt
-rw-r--r-- 1 user user 45 Apr 13 14:26 test_file.txt

[ server 2022-04-13 14:59:22 ] ~/testdir
user@server # head file2.txt test_file.txt
==> file2.txt <==
aaaa
bbbb
cccc
dddd
eeee
ffff

==> test_file.txt <==
Hi. My name is Song
Nice to meet you
bye bye

[ server 2022-04-13 14:59:29 ] ~/testdir
user@server # head -q file2.txt test_file.txt
aaaa
bbbb
cccc
dddd
eeee
ffff
Hi. My name is Song
Nice to meet you
bye bye

  • head -v 옵션 사용법
    • 내용을 출력하기 전 항상 파일명을 출력합니다.
[ server 2022-04-13 15:01:35 ] ~/testdir
user@server # ls -l
total 8
-rw-r--r-- 1 user user 30 Apr 13 14:59 file2.txt
-rw-r--r-- 1 user user 45 Apr 13 14:26 test_file.txt

[ server 2022-04-13 15:01:38 ] ~/testdir
user@server # head -1 -v file2.txt test_file.txt
==> file2.txt <==
aaaa

==> test_file.txt <==
Hi. My name is Song

  • head --help 옵션과 --version 옵션
    • --help 옵션은 head 명령어의 사용법을 출력해주는 옵션입니다.
    • --version 옵션은 head 명령어의 버전을 출력해주는 옵션입니다.
### --help 옵션

[ server 2022-04-13 15:03:51 ] ~/testdir
user@server # head --help
Usage: head [OPTION]... [FILE]...
Print the first 10 lines of each FILE to standard output.
With more than one FILE, precede each with a header giving the file name.
With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.
  -c, --bytes=[-]K         print the first K bytes of each file;
                             with the leading '-', print all but the last
                             K bytes of each file
  -n, --lines=[-]K         print the first K lines instead of the first 10;
                             with the leading '-', print all but the last
                             K lines of each file
  -q, --quiet, --silent    never print headers giving file names
  -v, --verbose            always print headers giving file names
      --help     display this help and exit
      --version  output version information and exit

K may have a multiplier suffix:
b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,
GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils 'head invocation'


### --version 옵션

[ server 2022-04-13 15:03:56 ] ~/testdir
user@server # head --version
head (GNU coreutils) 8.22
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

 


 

반응형
그리드형

댓글