cat : 표준 입력으로 받는 값을 표준 출력으로 이어주는 명령으로 기본적으로는 텍스트 파일의 내용을 출력을 한다.
리다이렉션 기호와 함께 사용해서 파일을 생성하거나 여러 개의 텍스트 파일을 합치는 기능도 수행한다.
cat b : b 라는 파일의 내용을 출력한다.
cat b -n : 텍스트 파일 b 를 출력할 때 행번호를 붙여준다. (공백만 있는 줄 포함)
cat b -b : 텍스트 파일 b 를 출력할 때 행번호를 붙여준다. (공백만 있는 줄 제외) (= nl b)
-> -b 옵션은 공백만 있는 줄에 행번호를 붙이지 않고, -n 옵션은 모든 줄에 행번호를 붙여서 출력한다.
cal > a1 : 달력을 a1 이라는 파일에 생성한다.
who > a2 : who 명령한 것을 a2 라는 파일에 생성한다.
cat a1 과 cat a2 의 출력 결과는 위와 같다.
cat의 옵션 알아보기>>
cat a1 에 추가적으로 -n 이라는 옵션을 주었을 경우, 행번호가 붙인 채 출력된다.
a1 과 a2 를 같이 출력할 수도 있다. 명령어 cat a1 a2 를 해보았다.
a1 과 a2 가 순서대로 출력됨을 알 수 있다. cat a2 a1 할 경우 순서가 바뀐채 함께 출력될 것이다.
cat a1 a2 > a3 를 하면 a1 과 a2 두 파일의 내용을 합해서 a3 에 생성된다.
+ )
cat a3 >> a2 를 하면 a2 파일의 내용 밑에 a3 파일의 내용을 덧붙인다.
< cat 과 리다이렉션 >
리다이렉션은 입출력의 방향을 바꾸는 역할을 한다. 기본적으로 아래와 같이 4가지 기호로 되어있다.
> : 출력전환(표준 출력인 모니터에서 파일이나 기타 장치로 전환)
>> : 특수 출력(보통 파일로 저장할 때 파일의 뒷부분에 추가되어 덧붙여짐)
< : 입력 전환(표준 입력인 키보드에서 파일이나 기타 장치로 전환)
<< : 특수 입력(제시된 문자열이 입력될 때까지 대기했다가 한 번에 표준 출력으로 보낸다.)
사용 예]
cat > a.txt
-> 표준 입력(키보드)로 입력 받아서 표준 출력(화면)으로 출력하지 않고 a.txt 라는 파일에 출력(저장)
cat < a.txt
-> a.txt 라는 파일로부터 입력 받아 표준 출력(화면)에 보여준다.
cat > a7 을 하면 파일의 내용을 작성할 수 있고 a7의 파일이 생성된다.
> 를 사용하면 a5에 생성이 되고 거기에 또다시 > 를 해주면 파일의 내용이 덮어씌우게 된다.
뒤에 hostname을 덮붙이고 싶다면 hostname >> a5 를 하면 된다.
tac
cat 을 뒤집으면 tac 가 되듯이 tac 명령을 하면 cat 의 파일의 내용을 뒤집어서 출력해준다. 단, 저장은 안되므로 저장(생성)이 하고 싶다면 tac a5 > a6 명령을 하면 된다.
cat 명령만 내리면 어떻게 될까?
표준 입력으로 받는 값을 표준 출력으로 이어주는 명령이라고 했다. 따라서 aa를 쓰면 바로 aa가 출력됨을 볼 수 있다. 다 작성하면 [CTRL] + [D] 를 누르면 된다.
cat - 와 같은 명령이다.
'🦇 Linux' 카테고리의 다른 글
리눅스 기초 명령어7 - tee, nl (0) | 2021.07.13 |
---|---|
리눅스 기본 개념 - 파이프, 표준 입출력 (0) | 2021.07.13 |
리눅스 디렉터리 종류와 특징 (0) | 2021.07.07 |
리눅스 기초 명령어5 : 도움말 보기 -man, info, help (0) | 2021.07.07 |
리눅스 기초 명령어4 - 파일 내용 보기(cp, cat, more, less, head, tail) (0) | 2021.07.05 |