man 명령어
로 자세한 사용법 및 옵션을 확인하자.
Global Regular Expression Print의 약자로, 특정 파일에서 지정한 문자열이나 정규표현식을 포함한 행을 출력해주는 명령어다.
grep [옵션] [패턴] <파일명>
옵션 | 설명 |
---|---|
-c | 일치하는 행의 수를 출력한다. |
-i | 대소문자를 구별하지 않는다. |
-v | 일치하지 않는 행만 출력한다. |
-n | 포함된 행의 번호를 함께 출력한다. |
-l | 패턴이 포함된 파일의 이름을 출력한다. |
-w | 단어와 일치하는 행만 출력한다. |
-x | 라인과 일치하는 행만 출력한다. |
-r | 하위 디렉토리를 포함한 모든 파일에서 검색한다. |
-m 숫자 | 최대로 표시될 수 있는 결과를 제한한다. |
-E | 찾을 패턴을 정규표현식으로 찾는다. egrep 과 같은 결과다. |
-F | 찾을 패턴을 문자열로 찾는다. fgrep 과 같은 결과다. |
awk는 파일로부터 레코드(record)를 선택하고, 선택된 레코드에 포함된 값을 조작하거나 데이터화하는 것을 목적으로 사용하는 프로그램이다. awk는 "awk programming language" 라는 프로그래밍 언어로 작성된 프로그램을 실행한다.
입력 데이터의 각 라인은 레코드라고 하고, 각 레코드에 들어 있는 텍스트는 공백 문자로 구분된 필드로 분류된다. awk 프로그래밍 문법에서 $0
은 한 행을 의미하고, $1
~ $N
은 각 필드를 나타낸다.
awk [옵션] 'pattern { action }' <파일명>
옵션 | 설명 |
---|---|
-F | 공백 문자를 필드 구분자로 사용 |
-F '[:\t]' | ':'와 tab을 필드 구분자로 사용 |
-f [awk_file] | awk 명령 스크립트를 파일에서 읽음 |
1) 입력 데이터로부터 주어진 패턴을 포함하는 라인을 찾기 위해 파일의 내용을 탐색한다.
2) 패턴에 일치하는 라인이 발견되면 해당 라인에 대해 지정된 액션을 실행한다.
3) 입력 파일의 끝을 만날 때까지 수행한다.
연산자 | 설명 |
---|---|
/p | 출력 |
/d | 삭제 |
s/pattern1/pattern2 | pattern1을 pattern2로 치환 |
list open files의 약자로, 열려있는 파일에 대한 정보를 출력해주는 명령어다. 일반 유저의 접근을 허용하지 않도록 permission을 700이나 100으로 변경하는 것이 보안상으로 유리하다.
lsof 명령어를 설치하지 않았다면 CentOS의 경우 sudo yum install lsof
, Ubuntu의 경우 sudo apt-get install lsof
로 설치해주어야 사용할 수 있다.
옵션 | 설명 |
---|---|
-a | 여러 옵션을 사용할 경우 AND 연산으로 정보를 출력 |
-t | 동작하고 있는 프로세스들의 PID만 출력 |
-i [프로토콜이름/포트번호] | 특정 포트를 사용하고 있는 프로세스 정보 출력 |
-u [UID] | 특정 사용자가 오픈한 파일 출력 |
-c [서비스] | 특정 서비스(ssh)에 연결되어 있는 프로세스 목록 출력 |
-p [PID] | 특정 프로세스가 오픈한 파일 출력 |
+D [디렉토리] | 해당 디렉토리 내의 열린 파일 출력 |
curl(client url)은 여러 프로토콜들을 이용해 URL로 데이터를 전송하여, 서버에 데이터를 보내거나 가져올 때 사용하기 위한 명령줄 유틸리티다. 대부분의 Linux 환경에 curl 패키지가 미리 설치되어 있다.
curl [옵션] <URL>
wget은 Web Get의 약어로, 웹 상의 파일 다운로드를 도와주는 리눅스 커맨드라인 유틸리티다. HTTP, HTTPS, FTP 프로토콜을 지원하며 이를 이영해 웹 서버에서 파일을 다운로드 받는다. wget 역시 대부분의 Linux 환경에 설치되어 있다.
wget [옵션] <URL>
# 웹에서 파일 다운로드
$ wget http://example.org/file.tar.gz
# ftp 서버에서 파일 다운로드
$ wget ftp://example.org/file.tar.gz
# 신뢰할 수 없은 https URL에서 파일 다운로드
# -no-check-certificate 옵션을 사용하면 인증서 유효성 검사를 무시할 수 있다.
$ wget https://example.org/file.tar.gz -no-check-certificate
# 다운로드 파일을 다른 이름으로 저장
$ wget -O [다른이름] https://example.org/file.tar.gz
# 웹사이트 미러링
# 미러는 컴퓨팅에서 자료 모음의 복사본으로, 미러링은 파일 동기화의 일종이다.
$ wget -m https://example.org/
# 파일 안에 저장된 URL 다운로드
$ wget -i filename
# 백그라운드에서 파일 다운로드
$ wget -b https://example.org/file.tar.gz
# 중단된 다운로드 재개
$ wget -c https://example.org/file.tar.gz
# 다운로드 속도 제한
$ wget -limit-rate=128k https://example.org/file.tar.gz
# wget 버전 확인
$ wget -version
파일의 일부분만 확인하고자 할 때 사용한다. 텍스트 형식으로 작성된 파일의 앞 10행 또는 마지막 10행만 화면에 출력한다.
head [옵션] <파일명>
tail [옵션] <파일명>
옵션 | 설명 |
---|---|
-n lines | 지정한 라인(행) 수만큼의 내용을 출력한다. |
-c bytes | 지정한 byte만큼의 내용을 출력한다. |
-q | 파일의 이름을 header에 출력하지 않는다. |
-v | 항상 파일의 이름을 header에 출력한다. |
-f | tail 명령어에만 있는 옵션. 실시간으로 변경 사항을 모니터링하여 파일에 추가되는 정보를 출력한다. |
파일의 내용이 많은 경우 cat 명령어로 확인하기 어려운데, less 명령어를 이용해여 텍스트 형식으로 작성된 파일을 페이지 단위로 확인할 수 있다. more
명령어와 비슷하지만 고급 기능이 있어 파일을 앞뒤로 탐색할 수 있다.
less [옵션] <파일명>
key | 동작 |
---|---|
위 방향키 | 한 줄 위로 이동 |
아래 방향키 | 한 줄 아래로 이동 |
PAGE_UP 또는 b | 한 페이지 위로 이동 |
PAGE DOWN 또는 Space Bar | 한 페이지 아래로 이동 |
g | 텍스트 파일의 처음 부분으로 이동 |
G | 텍스트 파일의 마지막 부분으로 이동 |
/문자열 | 입력된 문자열 찾기 |
n | 이전 검색어의 다음 찾기 |
q | 프로그램 종료 |
리눅스 파일 시스템에서 파일을 검색하는 데 사용되는 명령어다. 다양한 표현식을 사용하여 원하는 파일 목록을 추출할 수 있다.
# 경로는 상대 경로, 절대 경로 모두 가능하다.
find [옵션] <경로> [표현식]
# ssh 접속 (원격지 접속)
$ ssh [계정명]@[서버주소, 원격지 IP] -p [포트번호]
$ ssh root@192.168.0.1 -p 4242
보통 프로세스를 종료시키고자 할 때 사용한다. 내부적으로는 프로세스에 시그널을 보내 원하는 작업을 하게 하는 명령어다. ps
명령어를 통해 종료하고자 하는 프로세스의 pid를 확인할 수 있다.
kill [옵션] <pid>
옵션 | 설명 |
---|---|
-l | 시그널 종류를 출력한다. |
-s [signal_num/text] | 원하는 시그널을 지정한다. |
ps
명령어로 실행중인 프로세스의 PID를 확인할 수 있다.번호 | 시그널 | 설명 |
---|---|---|
1 | SIGHUP | 종료 (연결 끊기, 실행 종료) |
2 | SIGINT | 종료 (ctrl + c , 인터럽트) |
9 | SIGKILL | 종료 (강제종료, 프로그램에서 핸들러를 만들 수 없는 시그널) |
15 | SIGTERM | 종료 (정상종료) |
20 | SIGTSTP | 정지 (ctrl + z ) |