[기본 명령어]
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 패턴에 속한 파일 중에 지정한 개수만큼만 검색
'infra & cloud > linux' 카테고리의 다른 글
[Ubuntu] 양방향 복사붙여넣기 되지 않을 경우 (0) | 2020.01.11 |
---|---|
Binary file (standard input) matches 에러 (0) | 2019.10.24 |
쉘스크립트와 엑셀을 사용한 로그 분석 : awk 사용 (2) | 2019.04.16 |
맥주소(MAC ADDRESS) 확인 (0) | 2019.02.20 |
curl GET/POST/DELETE 전송 (0) | 2019.02.11 |