역시 CLI.. 명령어 너무 많아요..
텍스트 파일의 내용을 표준 출력하는 명령어이다.
리다이렉선션*(redirection) 기호로 파일을 생성하거나 병합할 수 있다.
$ cat [option] [filename(s)]
주요 옵션
| 옵션 | 의미 |
|---|---|
| -b | 텍스트 파일 출력 시 행 번호 부착 (공백줄 제외) |
| -n | 텍스트 파일 출력 시 행 번호 부착 (공백줄 포함) |
| -E | 각 라인의 맨 끝에 개행문자 $를 출력 |
| -T | 탭 문자를 ^│ 로 표시하여 출력 |
| -v | 인쇄 불가능한 문자를 식별하여 출력 |
| -A | 일반적으로 출력되지 않는 문자 출력(-vET 옵션 통합) |
| -s | 인접한 여러 공백 줄을 하나의 공백줄로 출력 |
[사용예시]
$ cat
-> 표준 입력을 표준 출력으로 출력
키보드에 내용을 입력 후 enter를 누르면
그대로 모니터로 출력한다.
CTRL + C로 종료한다.
$ cat > a.txt
-> 입력받은 내용을 a.txt에 저장한다.
입력 후 CTRL + D를 누르면 a.txt에 저장된다.
$ cat < a.txt || $ cat a.txt
-> a.txt의 내용을 출력한다.
$ cat < a.txt > b.txt (= $ cp a.txt b.txt)**
-> a.txt의 내용을 b.txt라는 파일에 출력한다.
$ cat a.txt b.txt
-> a.txt와 b.txt의 내용을 화면에 출력한다.
$ cat a.txt b.txt > c.txt
-> a.txt와 b.txt의 내용을 c.txt에 병합하여 저장한다.
*리다이렉션(redirection)
입출력의 방향을 바꾸는 역할을 한다.
| 기호 | 사용법 |
|---|---|
| > | 출력 전환 (모니터 -> 파일이나 기타장치) |
| >> | 특수 출력 (파일 저장 시 뒷부분 추가) |
| < | 입력 전환 (키보드 -> 파일이나 기타장치) |
| << | 특수 입력 (제시된 문자열이 입력될 때까지 대기하였다가 한 번에 출력) |
** cp 사용법 : [Linux] 터미널 명령어 정리 (2) - 디렉토리 & 파일
텍스트 파일의 첫 부분을 보여주는 명령어이다.
기본 옵션 : 10줄
$ head [option] filname(s)
주요 옵션
[사용예시]
$ head -3 *.c
$ head -q *.txt
텍스트 파일의 끝부분을 보여주는 명령어이다.
기본 옵션 : 10줄
$ tail [option] filename(s)
주요 옵션
[사용예시]
$ tail /etc/password
$ tail -f /var/log/messages
텍스트 파일의 내용이 긴 경우 화면 단위(page)로 출력한다.
$ more [option] filename
주요 옵션
more 상태에서 사용하는 명령어
| 명령키 | 의미 |
|---|---|
| [h] | more에 대한 도움말(help) |
| [Enter] | 다음 줄 |
| [space], [z] | 다음 페이지 |
| [d], [CTRL]+[d] | 다음 반 페이지 |
| [b], [CTRL]+[b] | 이전 페이지(back) |
| [f] | 한 페이지 skip 후 다음 페이지(forward) |
| [CTRL]+[l] | 화면을 다시 출력 |
| = | 현재 줄 번호 출력 |
| :f | 현재 파일명과 줄 번호 출력 |
| ! | 다른 명령을 입력 할 수 있는 상태로 전환 |
| vi | 현재 화면에서 vi 편집창으로 전환 |
| /pattern | 현재 파일에서 지정한 패턴(pattern) 검색 |
| [q] 혹은 [Q] | more 명령어 종료(quit) |
[사용예시]
$ more /etc/password
$ more -20 /etc/passwd
$ ls -l /etc |more
more과 비슷하게 한 화면씩 출력한다.
커서키를 이용하여 상하좌우 이동이 가능하고 vi에서 사용하는 명령어를 사용할 수 있다.
$ less [option] filename
주요 옵션
less 상태에서 사용하는 명령어
| 명령키 | 의미 |
|---|---|
| [h] | less에 대한 도움말(help) |
| [Enter], [e] | 다음 줄 |
| [space], [z] | 다음 페이지 |
| [d], [CTRL]+[d] | 다음 반 페이지 |
| [y] | 이전 줄 |
| [u], [CTRL]+[u] | 이전 반 페이지 |
| [SPACE], [f], [CTRL]+[f] | 한 페이지 skip 후 다음 페이지(forward) |
| /pattern | 현재 파일에서 지정한 패턴(pattern) 아래 방향으로 검색 |
| ?pattern | 현재 파일에서 지정한 패턴(pattern)으로 위 방향으로 검색 |
| [n] | 검색 시 정방향으로 다음 문자열을 찾아 화면의 맨 첫 줄로 위치 |
| [N] | 검색 시 역방향으로 다음 문자열을 찾아 화면의 맨 첫 줄로 위치 |
| [q] 혹은 [Q] | more 명령어 종료(quit) |
[사용예시]
$ less /etc/passwd
$ less -N /etc/passwd
텍스트 파일에서 특정 패턴(pattern, 문자열)을 갖는 줄을 찾아서 출력한다.
$ grep [option] pattern file(s)
주요 옵션
* 방대한 양의 옵션이 있기에 일부만 정리하였다.
| 옵션 | 의미 |
|---|---|
| -c (--count) | 일치하는 패턴이 있는 줄의 개수를 출력한다. |
| -h | 여러 개의 파일을 검색 시 출력하는 파일의 이름이 붙는 것을 방지한다. |
| -n | 일치하는 패턴이 있는 줄의 번호와 내용을 출력한다. |
| -w | 패턴과 한 단어로 일치해야 출력한다. |
| -x | 패턴과 한 줄로 일치해야 출력한다. |
[사용예시]
$ grep linux *
$ grep -c linux *
$ grep -h linux *
$ grep "[0-9]" readme
텍스트 파일의 행(line) 수, 단어(word) 수, 문자(byte) 수를 출력한다.
$ wc [option] file
주요 옵션
[사용예시]
$ wc readme
$ who | wc -l
who 명령어 : 접속자 수 확인
텍스트 파일의 내용을 행 단위로 정렬한다.
공백, 숫자, 특수문자, 대문자, 소문자 순으로 출력한다.
숫자 : 숫자 형태의 문자로 취급
특수 문자 : ASCII 코드값 순
$ sort [option] file
주요 옵션
* 방대한 양의 옵션이 있기에 일부만 정리하였다.
기본 구분자 : 공백[사용예시]
$ sort jalin.txt
$ sort -r -o jalin_rev.txt jalin.txt
$ sort -t: -n -k3 /etc/passwd
데이터의 열(column)을 추출할 때 사용한다.
추출하는 데이터 : 글자(character), 바이트(byte), 행(row, field)
$ cut [option] file
주요 옵션
기본 구분자 : tab[사용예시]
$ cut -c 1-10 /etc/passwd
$ cut -f 1,3 -d: /etc/passwd
하나의 파일을 여러 개의 파일로 분리한다.
$ split [option] file [file_name]주요 옵션
[사용예시]
$ split -l 30 /etc/passwd
=> $ split -30 /etc/passwd
$ split -b 1M /tmp/data data
텍스트 파일 안의 임의의 문자(열)을 변경하거나 제거할 떄 사용한다.
$ tr [option] 문자1 문자2 < 파일명$ tr option 문자 < 파일명주요 옵션
[사용예시]
$ tr o i < tr.txt
$ tr -s 'o' < tr.txt
$ tr '[a-z]' '[A-Z]' < tr.txt
$ tr -d 'o' < tr.txt
달력을 출력하는 명령이다.
$ cal [option] [[month] year]
주요 옵션
[사용예시]
$ cal
$ cal -j
$ cal 2022
시스템의 날짜 및 시간을 출력하거나 변경한다.
# date [option] [+FORMAT]
# date [option] [MMDDhhmm[[CC]YY][.ss]]
MM : 월 (01~12)
DD : 일 (01~31)
hh : 시 (00~23)
mm : 분 (00~59)
CC : 연도의 앞 두자리
YY : 연도의 뒤 두자리
.ss : 초 (00~59)
주요 옵션
[사용예시]
$ date
# date 1222210511
# date -s 06:40:20
$ date -u
FORMAT 포스팅은 생략한다. (추후 포스팅 예정)
시스템 정보를 출력한다.
커널 버전, 머신 타입(하드웨어 타입) 등을 알 수 있다.
$ uname [option]
주요 옵션
[사용예시]
$ uname -a
Linux www 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 6NU/Linu
GUI의 발전은 4차 산업 혁명 시대의 도래를 앞당겼다.