Linux Command Line - 파일로 작업하기

toastedEevee·2024년 11월 19일

Linux Command Line

목록 보기
7/7
post-thumbnail

cat으로 파일을 출력하기


‘결합하다’(concatenate)는 의미의 cat은 파일의 내용을 출력해서 보여주거나, 두 파일을 결합해서 출력하는 명령어이다.

cat <filename>

[예시]

cat poem.txt
  • 아래와 같이 파일의 내용이 출력된다.
To see a World in a Grain of Sand
And a Heaven in a Wild Flower 
Hold Infinity in the palm of your hand 
And Eternity in an hour
A Robin Red breast in a Cage
Puts all Heaven in a Rage 
A Dove house filld with Doves & Pigeons
Shudders Hell thr' all its regions
cat peanutbutter.js jelly.css
💡

두 파일을 결합해서 내용을 출력하지만, 파일 원본이 변경되거나 새로 생성되는 것은 아니다.

less로 파일을 출력하고 탐색하기


텍스트 파일을 화면에 출력하는 명령어로, 파일 내용을 페이지 단위로 나눠서 스크롤하면서 읽기 편하게 만들어준다.

less <filename>

특징

  • 페이지 단위로 보기: less는 텍스트 파일을 한 화면에 보여주고, 위아래로 스크롤하면서 볼 수 있어 긴 파일을 읽기에 좋다.
  • 상호작용성: 파일을 열고 나서도 키보드를 통해 다양한 조작(스크롤, 검색 등)이 가능하다.
    • 스크롤: 화살표 키나 PgUp, PgDn 등을 통해 위아래로 이동.
    • 검색: /를 누르고 검색어를 입력해 해당 단어를 찾을 수 있다.
  • 빠른 로딩: less는 처음부터 파일 전체를 로딩하지 않고, 필요한 만큼만 읽어들여 큰 파일도 빠르게 열 수 있다.
  • 일시 종료 후 재시작 가능: q를 누르면 less를 종료하고 명령어 입력 상태로 돌아갈 수 있다.

cat과 less 비교

구분lesscat
기본 기능페이지 단위로 출력, 스크롤 가능파일 내용을 한 번에 출력
상호작용성키보드로 파일을 탐색하고 검색 가능단순 출력, 상호작용 불가
속도대용량 파일도 빠르게 로드대용량 파일의 경우 속도가 느림
종료 방법q를 눌러 종료내용 출력 후 자동으로 종료
💡

less는 긴 파일을 탐색하며 읽기 좋고, cat은 짧은 파일을 빠르게 확인할 때 유용하다.

tac은 cat의 반대


cat을 거꾸로 한 tac은 파일의 내용을 수직 역순으로 출력하는 명령어이다.

[예시]

file.txt의 내용이 다음과 같을 때,

first thing
second thing
third thing

아래의 결과를 출력한다.

tac file.txt

[출력 결과]
third thing
second thing
first thing

rev는 reverse


rev는 마치 거울에 비친 것처럼 각 행을 반대로 뒤집어 출력한다.

[예시]

file.txt의 내용이 다음과 같다면,

first line
second line
third line

거울에 비친 것처럼 각 행이 뒤집혀서 출력된다.

rev file.txt

[출력 결과]
enil tsrif
enil dnoces
enil driht

head로 파일의 시작 부분을 빠르게 확인하기


파일의 첫 부분을 확인할 때 사용하는 명령어로, 기본적으로 파일의 처음 10줄을 출력한다. 이를 통해 전체 파일을 열지 않고도 파일의 시작 부분만 빠르게 확인할 수 있다.

head filename.txt

주요 옵션

  • -n [줄 수] : 출력할 줄 수를 지정하기
  • --lines [줄 수] : 출력할 줄 수를 지정하기
head -n 5 filename.txt
head --lines 25 countries.txt
  • -[줄 수] : -n이나 --lines 없이 숫자만 지정해서 출력할 수도 있다.
  • -c [바이트 수] : 파일의 처음부터 지정한 바이트만큼 출력한다.
head -c 20 filename.txt

tail로 파일의 끝부분을 출력하기


head와 반대로 파일의 끝부분을 출력하는 명령어이며, 기본적으로 파일의 마지막 10줄을 보여준다. 로그 파일을 모니터링하거나 파일의 최신 내용을 확인할 때 유용하게 사용된다.

tail filename.txt

주요 옵션

  • -f 또는 --follow : 파일이 변경될 때마다 새로 추가된 내용을 실시간으로 출력한다. 특히 로그 파일을 실시간으로 모니터링할 때 자주 사용함.

    [예시]

    Q. 로그 파일을 실시간 모니터링하면서 최근 5줄을 확인하고 싶다면?

    tail -n 5 -f filename.log
    💡 위 명령어를 사용하면 파일에 새로운 내용이 추가될 때마다 자동으로 출력되며, `Ctrl + C`로 종료할 수 있다.
  • --pid=[PID] : 지정한 프로세스(PID)가 종료될 때까지 tail -f를 유지하도록 하는 보조 옵션이다.

    [예시]

    Q. 특정 프로세스가 종료될 때까지 로그 파일을 모니터링하려면?

    tail -f --pid=1234 filename.log
    💡 이 명령어는 지정한 프로세스가 종료되면 자동으로 멈춘다.

wc = ‘word count’


파일의 줄 수나 단어 수 혹은 바이트 수를 알려주는 명령어로, 파일의 크기나 내용을 간단히 요약하고 싶을 때 유용하게 사용된다.

wc filename.txt
[출력 결과]
197 246 1852 filename.txt

→ 차례대로 filename.txt의 줄 수, 단어 수, 바이트 수를 출력한다.

주요 옵션

  • -l (lines) : 줄 수만 출력
  • -w (words) : 단어 수만 출력
  • -c (bytes) : 바이트 수만 출력
  • -m (characters) : 문자 수만 출력. 멀티바이트 문자를 포함하여 정확한 문자 수를 셀 때 유용함.
💡

여러 파일에 대해 wc 명령어를 사용할 수도 있으며, 각 파일에 대한 결과와 전체 합계가 표시된다.

sort


파일이나 명령어 출력의 내용을 오름차순 또는 내림차순으로 정렬하는 데 사용하는 명령어이다. 정렬 기준은 기본적으로 알파벳 순서(소문자 우선)이지만, 숫자 순서나 사용자 지정 필드로도 정렬할 수 있다.

sort filename.txt

명령어는 filename.txt의 내용을 오름차순으로 정렬하여 출력한다. 정렬된 내용을 원본 파일에 저장하려면 리다이렉션(>)을 사용해야 한다.

주요 옵션

  • -r (reverse) : 내림차순으로 정렬
  • -n (numeric) : 숫자 값을 기준으로 정렬
  • -k [필드 번호] : 특정 필드를 기준으로 정렬 (필드는 공백, 탭 등으로 구분된 열을 의미)
  • -t [구분자] : 구분자를 지정하여 필드를 나눈다. (기본 구분자는 공백)
    sort -t ':' -k 3 filename.txt
    → 이 명령어는 filename.txt에서 :를 구분자로 설정하고, 세 번째 필드를 기준으로 정렬한다.
  • -u (unique) : 중복 항목을 제거하고 정렬
  • -o [파일명] : 정렬된 결과를 지정된 파일에 저장
    sort filename.txt -o sorted.txt
profile
내가그린솜뭉치

0개의 댓글