본문 바로가기
infra & cloud/linux

[linux] 자주 쓰는 리눅스 명령어 모음

by 사용자 펭귄대장 2019. 3. 28.

[기본 명령어]

1. OS 확인

grep . /etc/*-release

 

2. ip 확인

ifconfig

 

3. 계정생성

useradd 계정명

 

4. 계정패스워드변경

passwd 계정명

 

5. 파일 및 폴더에 권한 부여

chmod 755 파일명

 

유저(user)   : read 읽기(4) write 쓰기(2) execute 실행(1) = 4 + 2 + 1 = 7

그룹(group) : read 읽기(4) write 쓰기(2) execute 실행(1) = 4      + 1 = 5

기타(other)  : read 읽기(4) write 쓰기(2) execute 실행(1) = 4      + 1 = 5

Ex]
> chmod 755 start.sh

start.sh 파일에 대해
유저는 읽기(4) 쓰기(2) 실행(1),
그룹은 읽기(4) 실행(1),
기타는 읽기(4) 실행(1) 권한을 부여

 

6. 파일 및 폴더의 소유자 변경

chown 소유계정:소유그룹 파일명

 

ex) chown jboss:jboss start.sh

start.sh 파일에 대한 소유권을 jboss 계정, jboss 그룹으로 바꾼다.

 

7. 파일 읽기

cat 파일명;

 

8. 파일 찾기

find -name '*log*'

: 현재 디렉토리 하위에서 log 문자열이 포함된 파일명 기준으로 찾기

 

* grep

: 보통 grep 만 사용하는 경우는 드물고 파이프(|)와 같이 사용함.

Ex]
grep '기준이되는문자열'
grep -v '제외시킬 문자열'
grep -e '기준문자열1||기준문자열2'
grep -A 3 -B 1 '기준이되는문자열' : -A(after) 기준문자열 뒤로 3줄 -B(before) 이전 1줄까지 출력
cat '파일' | grep '파일내에 찾을 문자열'

9. 삭제

파일 제거

rm 파일명

디렉토리제거

rmdir 디렉토리명

파일 및 디렉토리 전부삭제

rm -rf 디렉토리명

 

프로그램설치

yum : CentOS

apt : Ubuntu

 

10. 압축

.zip 파일 현재위치에 풀기

> unzip file.zip -d .

 

11. 복사 관련

1) directory 통째로 복사

cp -r ./directory .

(omitting ~ 관련 에러가 날 경우 -r 옵션주기)

 

 

<mysql 관련>

1. mysql 접속

mysql -u mysql아이디 -p

 

2. 데이터베이스(스키마) 보기

show databases;

 

3. use 데이터베이스명(스키마);

 

4. 테이블목록 보기

show tables;

 

 

[vi (linux visual editor) 관련]

1. vi 실행

vi 파일명

 

* 좌측 line number 보기

:set number

 

2. 문서 끝으로 이동

G (입력모드아닌 상태에서)

:$

 

2-1. 문서 첫 부분으로 이동

gg (입력모드아닌 상태에서)

 

3. 특정 문자를 찾아 해당 문자 위치로 이동

3-1. 순차검색

:/ 찾을문자열

3-2. 역순검색 

:? 찾을문자열 

 

3-1. 문자 찾기 커서 이동(이전/다음 문자로 이동)

방향대로 이동: n

역방향으로 이동: N

Ex] server.log 파일에서 exception 이 들어간 문자열을 vi 모드에서 찾고싶은 경우

1. 문서의 끝에서 부터 찾기(backward 방향으로 서칭하기)
> vi server.log
> :$
>:?exception
n (현재 탐색 방향(backward)으로 이동하며 exception 문자열이 포함된 부분으로 커서 이동 
N (현재 탐색 방향과 반대방향(forward)으로 이동하며 exception 문자열이 포함된 부분으로 커서 이동

2. 문서의 시작점부터 찾기(forward 방향으로 서칭하기)
>vi server.log
(입력모드 아닌 상태에서) gg 
>:/exception
n (현재 탐색 방향(forward)으로 이동하며 exception 문자열이 포함된 부분으로 커서 이동
N (현재 탐색 방향과 반대방향(backward)으로 이동하며 exception 문자열이 포함된 부분으로 커서 이동

 

4. 문자 지우기

delete 키

한줄 지우기 : 입력모드아닌 상태에서 dd

 

5. 문자열 치환 

%s/대상문자열/치환할문자열/g (전역치환)

%s/대상문자열/치환할문자열/i (대소문자구분없이 치환)

 

6. 문자 입력 (INSERT 모드로 전환)

i 입력

INSERT 모드 종료는 ctrl + c 혹은 esc

 

7. 종료

6-1. 저장 후 종료

:wq

6-2. 저장

:w

6-3. 저장 없이 종료

:q!

 

[crontab 관련]

crontab [-u user] file
        crontab [-u user] [ -e | -l | -r ]
                (default operation is replace, per 1003.2)
        -e      (edit user's crontab)
        -l      (list user's crontab)
        -r      (delete user's crontab)
        -i      (prompt before deleting user's crontab)
        -s      (selinux context)

1. crontab -l

목록보기

 

2. crontab -e

edit 모드

 

3. crontab -r 

전체 제거

*사용 자체를 하지말 것

 

 

[네트워크 관련]

1. 네트워크 상태 보기 

netstat

 

2. 방화벽 확인

2-1. telnet ip port

현재 서버에서 ip port 에 대한 방화벽 확인

telnet 종료키 : ctrl + ]

 

2-2. ping domain or ip

현재 서버에서 domain 에 대한 ping 확인, ip 알아내기

ex]

> ping naver.com

> Ping naver.com [210.89.164.90] 32바이트 데이터 사용:

> telnet 210.89.164.90 80

> ctrl + ]

 

2-3. netstat -tnlp

열려있는 포트 확인

 

<프로세스 관련>

1. 프로세스 확인

ps -ef

 

2. 프로세스 중 특정 프로세스만 확인

ps -ef | grep 프로그램명

파이프(|) 사용

 

3. 프로세스 죽이기

kill -9 프로세스번호

*프로세스 번호는 ps -ef | grep 프로그램명 으로 확인

 

4. 서버 상태 확인(CPU, RAM 등)

top

 

<방화벽 관련>

firewalld : CentOS

ufw : Ubuntu

서버 ftp 설정 (vsftpd): 참고

 

[bash 관련]

which/whereis/locate 참고

1. which

명령어의 위치 찾기

which find

which -a find

 

2. whereis

명령어의 실행파일위치, 소스위치, man 파일위치

whereis find

 

3. locate

패턴 사용하여 파일 위치 찾기

locate *.sh

locate -n 10 *.sh 패턴에 속한 파일 중에 지정한 개수만큼만 검색

 

 

반응형

댓글0