
‘결합하다’(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 <filename>
less는 텍스트 파일을 한 화면에 보여주고, 위아래로 스크롤하면서 볼 수 있어 긴 파일을 읽기에 좋다.PgUp, PgDn 등을 통해 위아래로 이동./를 누르고 검색어를 입력해 해당 단어를 찾을 수 있다.less는 처음부터 파일 전체를 로딩하지 않고, 필요한 만큼만 읽어들여 큰 파일도 빠르게 열 수 있다.q를 누르면 less를 종료하고 명령어 입력 상태로 돌아갈 수 있다.| 구분 | less | cat |
|---|---|---|
| 기본 기능 | 페이지 단위로 출력, 스크롤 가능 | 파일 내용을 한 번에 출력 |
| 상호작용성 | 키보드로 파일을 탐색하고 검색 가능 | 단순 출력, 상호작용 불가 |
| 속도 | 대용량 파일도 빠르게 로드 | 대용량 파일의 경우 속도가 느림 |
| 종료 방법 | q를 눌러 종료 | 내용 출력 후 자동으로 종료 |
less는 긴 파일을 탐색하며 읽기 좋고, cat은 짧은 파일을 빠르게 확인할 때 유용하다.
cat을 거꾸로 한
tac은 파일의 내용을 수직 역순으로 출력하는 명령어이다.
[예시]
file.txt의 내용이 다음과 같을 때,
first thing
second thing
third thing
아래의 결과를 출력한다.
tac file.txt
[출력 결과]
third thing
second thing
first thing
rev는 마치 거울에 비친 것처럼 각 행을 반대로 뒤집어 출력한다.
[예시]
file.txt의 내용이 다음과 같다면,
first line
second line
third line
거울에 비친 것처럼 각 행이 뒤집혀서 출력된다.
rev file.txt
[출력 결과]
enil tsrif
enil dnoces
enil driht
파일의 첫 부분을 확인할 때 사용하는 명령어로, 기본적으로 파일의 처음 10줄을 출력한다. 이를 통해 전체 파일을 열지 않고도 파일의 시작 부분만 빠르게 확인할 수 있다.
head filename.txt
-n [줄 수] : 출력할 줄 수를 지정하기--lines [줄 수] : 출력할 줄 수를 지정하기head -n 5 filename.txt
head --lines 25 countries.txt
-[줄 수] : -n이나 --lines 없이 숫자만 지정해서 출력할 수도 있다.-c [바이트 수] : 파일의 처음부터 지정한 바이트만큼 출력한다.head -c 20 filename.txt
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 filename.txt
[출력 결과]
197 246 1852 filename.txt
→ 차례대로 filename.txt의 줄 수, 단어 수, 바이트 수를 출력한다.
-l (lines) : 줄 수만 출력-w (words) : 단어 수만 출력-c (bytes) : 바이트 수만 출력-m (characters) : 문자 수만 출력. 멀티바이트 문자를 포함하여 정확한 문자 수를 셀 때 유용함.여러 파일에 대해 wc 명령어를 사용할 수도 있으며, 각 파일에 대한 결과와 전체 합계가 표시된다.
파일이나 명령어 출력의 내용을 오름차순 또는 내림차순으로 정렬하는 데 사용하는 명령어이다. 정렬 기준은 기본적으로 알파벳 순서(소문자 우선)이지만, 숫자 순서나 사용자 지정 필드로도 정렬할 수 있다.
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