현재 실행중인 프로세스의 목록을 보는 명령어(process status에서 따온 이름)
[option]
-e : 실행중인 모든 프로세스의 정보를 출력한다.
-f : 프로세스에 대한 자세한 정보를 출력한다.
-u [사용자이름] : 특정 사용자에 대한 모든 프로세스의 정보를 출력
-p pid : pid로 지정한 프로세스의 정보를 출력
u : 프로세스 소유자의 이름. CPU 사용량, 메모리 사용량 등 상세 정보를 출력
a : 터미널에서 실행한 프로세스의 정보를 출력
x : 실행중인 모든 프로세스의 정보를 출력
새 파일을 작성하고 터미널에서 파일 내용을 보고 출력을 다른 명령행 도구나 파일로 리디렉션하는데 사용
특정문자 검색하기
유효한 빈 파일을 작성하기 위한 명령어
명령어 간소화
파일 권한 변경하기
파일시스템의 사용량 확인하기
표준 출력하기
환경 변수 출력하기
셸 명령어 실행하기
종료하기
파일 옮기기
파일, 디렉토리를 삭제할 수 있습니다.
리눅스에서는 파일 복구가 안되거나 매우 어렵기 때문에 rm 명령어를 사용할 때는 조심 또 조심하세요.
rm
*.dat
'.dat'로 끝나는 파일을 모두 삭제한다.
rm
*
모든 파일을 삭제한다.
rm
-r dir1/
rm
-rf dir1/
curl [options] [URL...]
가장 간단한 형태로 옵션 없이 호출될 경우, Curl은 지정된 리소스를 표준 출력에 표시합니다.
-k
--insecure
-l
--head
-D
--dump-header < file >
-L
--location
서버에서 HTTP 301 이나 HTTP 302 응답이 왔을 경우 redirection URL 로 따라간다.
--max-redirs 뒤에 숫자로 redirection 을 몇 번 따라갈지 지정할 수 있다.
기본 값은 50이다
curl -v daum.net 을 실행하면 결과값으로 다음과 같이 HTTP 302 가 리턴된다.
< HTTP/1.1 302 Object Moved
< Location: http://www.daum.net/
-L 옵션을 추가하면 www.daum.net 으로 재접속하여 결과를 받아오게 된다.
-d
--data
-v
--verbose
-J
--remote-header-name
-o
--output FILE
-O
--remote-name
-s
--silent
편집기 명령어로 들어가기 전에 전체적인 구조 살펴보기
파일, 디렉토리를 복사
netstat [옵션] [| grep 포트 번호 or 서비스 명]
[option]
-l
(listen) : 연결 가능한 상태
-n
(number port) : 포트 넘버
-t
(tcp) : tcp
-u
(udp) : udp
-p
: 프로그램 이름 / PID
-a
: 모두
-i
: 이더넷 카드별 정상/에러/드랍 송수신 패킷 수 확인
-r
: 라우팅 테이블
-s
: 네트워크 통계
[자주 사용 하는 옵션]
netstat -nap
연결을 기다리는 목록과 프로그램을 보여준다
netstat -an | grep 포트번호
특정 포트가 사용 중에 있는지 확인
netstat -nlpt
TCP listening 상태의 포트와 프로그램을 보여준다
컨테이너들의 resource 사용 집계를 라이브 스트림으로 보여준다.
docker stats [OPTIONS] [CONTAINER...]
컨테이너에서 실행되고 있는 프로세스 목록을 출력한다.
docker top <컨테이너 이름, ID> <ps 옵션>
[option]
-a
모든 사용자의 프로세스를 출력합니다.
-u
각 프로세스의 사용자(UID)를 표시합니다.
-s
시그널을 표시합니다.
-v
가상 메모리를 표시합니다.
-x
자신을 실행시킨 셸이 없는 프로세스를 출력합니다.
-c
커널에서 사용되는 프로세스 이름으로 표시합니다.
-e
환경 변수를 표시합니다.
-f
내용을 완전한 형태로 표시합니다.
-l
자세한 형식으로 출력합니다.
-n
WCHAN 값을 숫자료 출력합니다.
"테이프 아카이버(Tape ARchiver)"의 "아카이버(Archiver)"는 통상적으로 "여러 개의 파일을 하나의 파일로 합치는 프로그램"을 의미합니다. 저장 장치에 파일을 저장하거나 네트워크를 통해 파일을 전송할 때 파일이 여러 개 있으면 관리가 복잡해지기 때문에, 여러 파일을 하나로 합쳐서 처리하기 위한 목적으로 만들어진 프로그램이죠. 그리고 "테이프(Tape)"에서 알 수 있듯이, 과거에 저장 장치로 사용되었던 테이프(Tape)에 파일을 백업하기 위해 만들어진 프로그램이라는 것을 유추할 수 있습니다.
보통 리눅스에서 파일을 압축 파일을 다룰 때, "tar로 압축(compress)한다"는 표현을 쓰는 경우가 많은데, 정확히 말하자면 tar 자체는 "데이터의 크기를 줄이기 위한 파일 압축"을 수행하지 않습니다. 앞서 설명했듯이, 여러 파일을 하나의 파일로 묶는 용도로 사용될 뿐이죠. 대신, tar를 통해 하나로 합쳐진 파일을 gzip 또는 bzip2 방식을 사용하여 압축할 수 있는데, 이 때 gzip 또는 bzip2 명령을 따로 수행하지 않고 tar 명령의 옵션으로 처리할 수 있습니다. 이런 이유로, "tar로 압축한다"는 표현이 통용될 수 있는 것이고, "tar 압축"이라는 말이 사용자 입장에서는 아주 잘못된 표현은 아니라고 할 수 있죠.
tar 명령을 통해 만들어지는 파일은 보통 ".tar" 확장자를 사용합니다. 그리고 gzip 또는 bzip2으로 압축된 경우, 파일 뒤에 ".gz" 또는 ".bz2" 확장자를 추가하여 ".tar.gz" 또는 ".tar.bz2"로 파일 이름을 지정하거나, 드물지만 좀 더 간략하게, tar + gzip을 ".tgz"로, tar + bzip2를 ".tb2", ".tbz", "tbz2" 등으로 지정하기도 합니다.
tar가 널리 쓰이게 된 이유 중 한 가지는, 단순 아카이버 기능에 더해, tar로 묶여지기 전 파일들의 속성과 심볼릭 링크, 디렉토리 구조 등을 그대로 가져갈 수 있는 특징 때문입니다. 그래서 최근에는 리눅스 용 프로그램, 데이터, 소스 및 라이브러리 등을 배포하는 용도로 많이 사용됩니다.
tar [OPTION...][FILE]...
-f
: 대상 tar 아카이브 지정. (기본 옵션)
-c
: tar 아카이브 생성. 기존 아카이브 덮어 쓰기. (파일 묶을 때 사용)
-x
: tar 아카이브에서 파일 추출. (파일 풀 때 사용)
-v
: 처리되는 과정(파일 정보)을 자세하게 나열.
-z
: gzip 압축 적용 옵션.
-j
: bzip2 압축 적용 옵션.
-t
: tar 아카이브에 포함된 내용 확인.
-C
: 대상 디렉토리 경로 지정.
-A
: 지정된 파일을 tar 아카이브에 추가.
-d
: tar 아카이브와 파일 시스템 간 차이점 검색.
-r
: tar 아카이브의 마지막에 파일들 추가.
-u
: tar 아카이브의 마지막에 파일들 추가.
-k
: tar 아카이브 추출 시, 기존 파일 유지.
-U
: tar 아카이브 추출 전, 기존 파일 삭제.
-w
: 모든 진행 과정에 대해 확인 요청. (interactive)
-e
: 첫 번째 에러 발생 시 중지.