03.업/08.개발환경

유닉스기초명령어사용법

봄날의차 2022. 12. 27. 16:09

1.터미널 설치

-터미널설치

-telnet 이나 ssh 클라이언트로 접근(접근 PC에서 사용)

EX)putty 사용

 

2.터미널 생성(telnet, ssh)

-시스템(사용자)로그인 이란?

:관리자에 의해 발급된 IDPWD를 통해 유닉스 시스템에 접근하는 방법

-로그인방법

-유닉스

.tlenet클라이언트를 통하는 방법(23port 사용)

.ssh클라이언트를 통하는 방법(22port 사용)

.telnetssh기본 포트를 변경할 수 있기 때문에 telnet으로 접속해 보고 안되면 ssh로 접속

 

3.사용자 로그인하기

.Text User Interface로그인

.사용자 로그인하기

-root 사용자로 접근하기

.명령프로프트에 su 입력

.$su - (하이픈을 넣는 경우 해당 계정의 프로파일( .profile )을 읽어 드리는 옵션임)

-일반사용자로 돌아오기

.명령프롬프트에 exit입력

 

4.사용자 로그아웃

-유닉스 환경에서 로그아웃

.exit명령어 사용

예제)

.$su - (루트로 로그인)

.$su - jeus (jeus계정으로 로그인)

.$exit (root 계정으로 복귀)

.Ctrl + D 단축키 사용

5.유닉스 기본명령어[which, pwd]

-명령어 경로 확인 : which

.시스템 환경변수의 PATH에 설정된 명령어의 위치를 알려줌

.which [명령어 이름] : full path 확인

# which sudo

/usr/bin/sudo

# which su

/bin/su

 

-현재 디렉토리 출력 : pwd

# pwd

/usr/local

 

5.유닉스 기본명령어[cat, more]

-파일의 내용을 화면에 출력하는 명령어 : cat [옵션] [파일명1] [파일명2]

.옵션: -n line 의 숫자를 표시

-Cat concatenate의 약자로 파일을 연결하는 용도로 사용하거나 단순 출력시 사용함

.화면에 file1의 내용을 출력

.Ex)$cat file1

.화면 단위로 라인숫자를 표시하여 httpd.conf 내용을 출력

.Ex)$cat -n httpd.conf | more

-한 화면씩 출력하는 명령어 : more [옵션] [파일명]

.Return 한줄만 이동

.D반페이지 뒤로 이동

.Space bar 한페이지 뒤로 이동

.B 한페이지 앞으로 이동

.Q more 종료

 

5.유닉스 기본명령어[df, du]

-디스크 공간 출력 : df

.파일스스템 구조와 용량을 표시함

.옵션 : -k kilobytes로 표시함

.Ex)df -k

 

-디스크 사용 공간 출력 : du [옵션] [경로 or 파일]

.옵션 : -k kilobytes로 표시함 m -s 사용량의 총합계만 표시

.Ex)현재 경로의 총사용량 표시

. $du -sk ./

.Ex)현재 경로의 하위 경로를 포함한 사용량 표시

. $du -k ./

 

5.유닉스 기본명령어[tar] : 아카이빙( 상대경로 사용 )

-경로 압축 : tar [옵션] [압축파일명] [압축할 경로]

.Ex)상대경로로 apache 디렉토리를 압축하는 명령

.$tar cvf apache.tar ./apache

 

-압축 파일 풀기 : tar [옵션] [압축파일명]

.$tar xvf apache.tar

 

5.유닉스 기본 명령어[ps]

-프로세스 상태 표시 : ps [옵션]

.Ex)ps -ef

.주의 OS에 따라 옵션이 상이 할 수 있으니 -ef 옵션을 사용함

6.유닉스 기본 명령어[ls]

-a : dot(.)로 시작사는 파일을 포함한 모든 파일 표시(숨김 파일까지 리스티)

-l : long format 으로 표시

 

7.유닉스 기본 명령어 [grep]

-파일, 표준 출력 패턴매칭:grep [검색할문자][파일명 or 디렉토리명](옵션)

-grep [OPTIONS] PATTERN [FILE...]

.옵션 v 검색시 제외할 옵션

.옵션 n 패턴이 포함된 line을 표시

 

-/etc/passwd 파일의 내용 중에 jeus 가 포함된 문자열의 line을 출력한다.

$grep n jeus /etc/passwd

 

-모든 프로세스의 출력을 redirection(pipe로 연결) 하여 grep으로 httpd 문자열이 포함된 내용을 출력한다.

$ps ef | grep ht

 

8.유닉스 기본명령어 find

-파일명이나 패턴 검색 : find [경로명][연산자](옵션0

-절대 경로인 / (root) 경로 이하에서 jeus 문자열을 포함하는 파일을 찾는 경우

$find / -name “*jeus*” -print

-상대 경로인 ./에서 jsp확장자로 끝나는 문자열을 포함하는 파일을 찾는 경우

$find ./ -name “*.jsp” -print

 

-[연산자](옵션) 설명 :

-name :

-print : 특정 OS의 경우 print 옵션을 주어야함.

 

-ifconfig : Network Interface 정보 출력

-ifconfig a (solaris) : Network Interface 정보 출력

 

9.유닉스 기본명령어 netstat 리눅스 경우

: root계정이 아니면 pid를 찾을 수 없다.

.옵션 p : PID 와 실행 프로그램명을 출력, a 모든 정보 출력 ....(root 계정일 경우만 추력됨)

.$netstat -antp ( 리눅스 만 가능 )

.$nestat -na(sunOS)

 

10.

lsof pid|more

옵션 p : pid로 조회

ex)

ps el | grep httpd

....

lsof p 3027 | more

....

 

통신유형 포트 수신데몬 pid 실행프로그램

 

uname a : os버전 체크

 

11.리다이렉션 [Redirection]

.표준 입력과 출력을 필요에 따라서 변경할 때 사용

.명령의 실행 결과를 화면이 아닌 파일로 저장할 때 혹은 반복된 입력이 필요한 경우에 사용

리다이렉션 의미
명령 > 파일명 명령의 실행결과를 파일로 출력
명령 >> 파일명 명령의 실행 결과를 지정한 파일의 끝에 덧붙여 출력
명령1 | 명령2 명령1의 출력을 명령2의 입력으로 사용하여 실행

 

12.Redirection & Pipes

-파일 디스크립터는 보통 표준입력, 표준출력, 표준에러라는 3가지로 나누어 생각할 수 있다.

.표준입력(stdin) : 어떤 프로그램을 실행하기 위해 꼭 필요한 요소를 프로그램을 실행할 때 함께 입력해 주는 것

.표준출력(stdout) : 프로그램의 실행 결과로서 화면에 나타나는 요소

.표준에러(stderr) : 에러 요소들의 출력을 의미한다.

 

-위의 각 디스크립터는 ‘>’ 또는 ‘<’ 의 기호와 함께 사용 함으로써 다른 파일 디스크립터로 바꾸어 줄 수 있다.

$ ls l > lslist.txt

: 위의 명령은 ls l의 실행 결과를 lslist.txt라는 파일에 저장하라는 것

 

$ ps >> lsoutput.txt

: lsoutput.txt 파일이 있을 경우 append 하고 없을 경우 파일을 생성한 후 ps 출력 내용을 기록한다.

 

-파이프는 한 프로그램에서의 출력을 다른 프로그램의 입력으로 보내어 다음 프로그램에서 사용할 수 있도록 한다.파이프의 표시는 ‘|’ 이다.

$ ls l | more

: 위의 수행은 ls l 의 결과를 more 를 통하여 한 페이지 이상의 내용을 페이지 별로 볼 수 있게 한다.

 

12.파일처리

-디렉토리 생성 : mkdir [디렉토리명]

:ex)mkdir /tmp/check : /tmp 디렉토리에 check 서브디렉토를 만듬

 

-디렉토리 복사 : cp r

.디렉토리 내의 파일과 서브 디렉토리까지 복사

.cp r Source Destination

 

주의 사항:서버 접근시 보안으로 인하여 되도록 mkdir, cp 명령어 사용은 자제

 

13.프로세스 중지

-find / 경로를 *.jsp 검색하다 중지하는 명령

$ find / -name “*.jsp”

 

-.(실행시간이 오래 걸리거나 중지할 필요가 있을 경우)

Ctlr + C(<-프로세스 중지)

 

13.Shell

-유닉스 구성

.커널 : 운영체제의 핵심으로서 메모리나 프로세서 등 시스템을 제어

.사용자 프로그램 : 웹서버나 FTP, SSH 등 일반적으로 사용하는 프로그램

.: 커널과 사용자 프로그램의 중간에 위치하는 명령어 해석기

 

14.쉘의 종류

.Bourne Shell (sh) : 최초의 대중화된 유닉스 쉘

.Korn Shell(ksh) : Bourne Shell을 포한하고 있으며, 강력한 명령어 편집기로 유닉스에서 많이 쓰임

.C Shell(csh) : Bourne Shell 과 호환이 되지만 인터페이스 구조가 다르고, C언어 문법과 제어구조에 비슷한 면을 가지고 있음

.TC Shell(tcsh) : C Shell을 확장시켜 제작하였고, 프리 소프트웨어로 많은 사람들이 사용

.Bourne Again Shell(bash) : 리늑스 시스템의 기본 Shell

Bourne Shell 을 기반으로 해서 기능읠 추가, 발전시킨 Shell

C ShellKorn Shell 의 장점을 결합

 

15.쉘의 유용한 기능

-메타문자 사용 : 명령어를 실행할 때, 파일을 인수로 사용할 경우 문자열을 포함하거나 혹은 동시에 모든 파일들을 지정할 경우 사용

? : 어떤 한 문자

* : 어떤 문자도 없거나 그 이상인 경우

 

-터미널설치

-telnet 이나 ssh 클라이언트로 접근(접근 PC에서 사용)

EX)putty 사용

 

2.터미널 생성(telnet, ssh)

-시스템(사용자)로그인 이란?

:관리자에 의해 발급된 IDPWD를 통해 유닉스 시스템에 접근하는 방법

-로그인방법

-유닉스

.tlenet클라이언트를 통하는 방법(23port 사용)

.ssh클라이언트를 통하는 방법(22port 사용)

.telnetssh기본 포트를 변경할 수 있기 때문에 telnet으로 접속해 보고 안되면 ssh로 접속

 

3.사용자 로그인하기

.Text User Interface로그인

 

.사용자 로그인하기

-root 사용자로 접근하기

.명령프로프트에 su 입력

.$su - (하이픈을 넣는 경우 해당 계정의 프로파일( .profile )을 읽어 드리는 옵션임)

-일반사용자로 돌아오기

.명령프롬프트에 exit입력

 

4.사용자 로그아웃

-유닉스 환경에서 로그아웃

.exit명령어 사용

예제)

.$su - (루트로 로그인)

.$su - jeus (jeus계정으로 로그인)

.$exit (root 계정으로 복귀)

.Ctrl + D 단축키 사용

5.유닉스 기본명령어[which, pwd]

-명령어 경로 확인 : which

.시스템 환경변수의 PATH에 설정된 명령어의 위치를 알려줌

.which [명령어 이름] : full path 확인

# which sudo

/usr/bin/sudo

# which su

/bin/su

 

-현재 디렉토리 출력 : pwd

# pwd

/usr/local

 

5.유닉스 기본명령어[cat, more]

-파일의 내용을 화면에 출력하는 명령어 : cat [옵션] [파일명1] [파일명2]

.옵션: -n line 의 숫자를 표시

-Cat concatenate의 약자로 파일을 연결하는 용도로 사용하거나 단순 출력시 사용함

.화면에 file1의 내용을 출력

.Ex)$cat file1

.화면 단위로 라인숫자를 표시하여 httpd.conf 내용을 출력

.Ex)$cat -n httpd.conf | more

-한 화면씩 출력하는 명령어 : more [옵션] [파일명]

.Return 한줄만 이동

.D반페이지 뒤로 이동

.Space bar 한페이지 뒤로 이동

.B 한페이지 앞으로 이동

.Q more 종료

 

5.유닉스 기본명령어[df, du]

-디스크 공간 출력 : df

.파일스스템 구조와 용량을 표시함

.옵션 : -k kilobytes로 표시함

.Ex)df -k

 

-디스크 사용 공간 출력 : du [옵션] [경로 or 파일]

.옵션 : -k kilobytes로 표시함 m -s 사용량의 총합계만 표시

.Ex)현재 경로의 총사용량 표시

. $du -sk ./

.Ex)현재 경로의 하위 경로를 포함한 사용량 표시

. $du -k ./

 

5.유닉스 기본명령어[tar] : 아카이빙( 상대경로 사용 )

-경로 압축 : tar [옵션] [압축파일명] [압축할 경로]

.Ex)상대경로로 apache 디렉토리를 압축하는 명령

.$tar cvf apache.tar ./apache

 

-압축 파일 풀기 : tar [옵션] [압축파일명]

.$tar xvf apache.tar

 

5.유닉스 기본 명령어[ps]

-프로세스 상태 표시 : ps [옵션]

.Ex)ps -ef

.주의 OS에 따라 옵션이 상이 할 수 있으니 -ef 옵션을 사용함

 

6.유닉스 기본 명령어[ls]

-a : dot(.)로 시작사는 파일을 포함한 모든 파일 표시(숨김 파일까지 리스티)

-l : long format 으로 표시

 

7.유닉스 기본 명령어 [grep]

-파일, 표준 출력 패턴매칭:grep [검색할문자][파일명 or 디렉토리명](옵션)

-grep [OPTIONS] PATTERN [FILE...]

.옵션 v 검색시 제외할 옵션

.옵션 n 패턴이 포함된 line을 표시

 

-/etc/passwd 파일의 내용 중에 jeus 가 포함된 문자열의 line을 출력한다.

$grep n jeus /etc/passwd

 

-모든 프로세스의 출력을 redirection(pipe로 연결) 하여 grep으로 httpd 문자열이 포함된 내용을 출력한다.

$ps ef | grep ht

 

8.유닉스 기본명령어 find

-파일명이나 패턴 검색 : find [경로명][연산자](옵션0

-절대 경로인 / (root) 경로 이하에서 jeus 문자열을 포함하는 파일을 찾는 경우

$find / -name “*jeus*” -print

-상대 경로인 ./에서 jsp확장자로 끝나는 문자열을 포함하는 파일을 찾는 경우

$find ./ -name “*.jsp” -print

 

-[연산자](옵션) 설명 :

-name :

-print : 특정 OS의 경우 print 옵션을 주어야함.

 

-ifconfig : Network Interface 정보 출력

-ifconfig a (solaris) : Network Interface 정보 출력

 

9.유닉스 기본명령어 netstat 리눅스 경우

: root계정이 아니면 pid를 찾을 수 없다.

.옵션 p : PID 와 실행 프로그램명을 출력, a 모든 정보 출력 ....(root 계정일 경우만 추력됨)

.$netstat -antp ( 리눅스 만 가능 )

.$nestat -na(sunOS)

 

10.

lsof pid|more

옵션 p : pid로 조회

ex)

ps el | grep httpd

....

lsof p 3027 | more

....

 

통신유형 포트 수신데몬 pid 실행프로그램

 

uname a : os버전 체크

 

11.리다이렉션 [Redirection]

.표준 입력과 출력을 필요에 따라서 변경할 때 사용

.명령의 실행 결과를 화면이 아닌 파일로 저장할 때 혹은 반복된 입력이 필요한 경우에 사용

리다이렉션 의미
명령 > 파일명 명령의 실행결과를 파일로 출력
명령 >> 파일명 명령의 실행 결과를 지정한 파일의 끝에 덧붙여 출력
명령1 | 명령2 명령1의 출력을 명령2의 입력으로 사용하여 실행

 

12.Redirection & Pipes

-파일 디스크립터는 보통 표준입력, 표준출력, 표준에러라는 3가지로 나누어 생각할 수 있다.

.표준입력(stdin) : 어떤 프로그램을 실행하기 위해 꼭 필요한 요소를 프로그램을 실행할 때 함께 입력해 주는 것

.표준출력(stdout) : 프로그램의 실행 결과로서 화면에 나타나는 요소

.표준에러(stderr) : 에러 요소들의 출력을 의미한다.

 

-위의 각 디스크립터는 ‘>’ 또는 ‘<’ 의 기호와 함께 사용 함으로써 다른 파일 디스크립터로 바꾸어 줄 수 있다.

$ ls l > lslist.txt

: 위의 명령은 ls l의 실행 결과를 lslist.txt라는 파일에 저장하라는 것

 

$ ps >> lsoutput.txt

: lsoutput.txt 파일이 있을 경우 append 하고 없을 경우 파일을 생성한 후 ps 출력 내용을 기록한다.

 

-파이프는 한 프로그램에서의 출력을 다른 프로그램의 입력으로 보내어 다음 프로그램에서 사용할 수 있도록 한다.파이프의 표시는 ‘|’ 이다.

$ ls l | more

: 위의 수행은 ls l 의 결과를 more 를 통하여 한 페이지 이상의 내용을 페이지 별로 볼 수 있게 한다.

 

12.파일처리

-디렉토리 생성 : mkdir [디렉토리명]

:ex)mkdir /tmp/check : /tmp 디렉토리에 check 서브디렉토를 만듬

 

-디렉토리 복사 : cp r

.디렉토리 내의 파일과 서브 디렉토리까지 복사

.cp r Source Destination

 

주의 사항:서버 접근시 보안으로 인하여 되도록 mkdir, cp 명령어 사용은 자제

 

13.프로세스 중지

-find / 경로를 *.jsp 검색하다 중지하는 명령

$ find / -name “*.jsp”

 

-.(실행시간이 오래 걸리거나 중지할 필요가 있을 경우)

Ctlr + C(<-프로세스 중지)

 

13.Shell

-유닉스 구성

.커널 : 운영체제의 핵심으로서 메모리나 프로세서 등 시스템을 제어

.사용자 프로그램 : 웹서버나 FTP, SSH 등 일반적으로 사용하는 프로그램

.: 커널과 사용자 프로그램의 중간에 위치하는 명령어 해석기

 

14.쉘의 종류

.Bourne Shell (sh) : 최초의 대중화된 유닉스 쉘

.Korn Shell(ksh) : Bourne Shell을 포한하고 있으며, 강력한 명령어 편집기로 유닉스에서 많이 쓰임

.C Shell(csh) : Bourne Shell 과 호환이 되지만 인터페이스 구조가 다르고, C언어 문법과 제어구조에 비슷한 면을 가지고 있음

.TC Shell(tcsh) : C Shell을 확장시켜 제작하였고, 프리 소프트웨어로 많은 사람들이 사용

.Bourne Again Shell(bash) : 리늑스 시스템의 기본 Shell

Bourne Shell 을 기반으로 해서 기능읠 추가, 발전시킨 Shell

C ShellKorn Shell 의 장점을 결합

 

15.쉘의 유용한 기능

-메타문자 사용 : 명령어를 실행할 때, 파일을 인수로 사용할 경우 문자열을 포함하거나 혹은 동시에 모든 파일들을 지정할 경우 사용

? : 어떤 한 문자

* : 어떤 문자도 없거나 그 이상인 경우