일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 도커 시작하기
- elk stack
- c
- 데이트
- 데이터베이스
- 코딩
- mysql on docker
- 알고리즘
- 파이썬
- 정보처리기사
- 도커 mysql
- 도커 elk
- c++
- MySQL
- nvidia docker
- 푸시푸시
- 앤서블 설치
- java
- 도커
- 백준
- 클라우드
- 자바
- docker
- ansible install
- 스트림셋이란?
- python
- mysql docker
- streamsets 강의
- 스트림셋
- C언어
- Today
- Total
리그캣의 개발놀이터
서버 구축 및 관리 -중간고사 정리 본문
추가 공부 사항.
* 가상터미널(참고)
- ALT-[F1] ~ [F6] 1~6번 가상 터미널(텍스트화면, no X-Windows)
- ALT-[F7] X-Windows 복귀
- CTRL-ALT-[F1] graphical display
- CTRL-ALT-[F2] Shell prompt
- CTRL-ALT-[F3] Install log(messages from installation program)
- CTRL-ALT-[F4] system-related messages
- CTRL-ALT-[F5] other messages
* % logout 시스템 종료
시스템 종료
# shutdown -h now 지금 시스템 종료(halt)
# shutdown -r now 지금 시스템 reboot
# shutdown -h 잠시후 시스템 종료
# reboot 시스템 재시작(위 –r과 동일)
마운트
# vi /etc/fstab
...
/dev/sda2 /C ntfs defaults 0 0 <== booting시 자동으로 마운트 됨
/dev/sdc1 /USB vfat noauto 0 0 <== 수동 마운트
/dev/sda5 /D ntfs noauto,umask=0002,uid=500,gid=500,iocharset=cp949 0 0
네트워크 설정(/etc/sysconfig/network-scripts/ifcfg-eth0,
/etc/sysconfig/network/devices/ifcfg-eth0)
$ ifconfig 네트워크 카드 상태 보기.
$ ifconfig -a 모든 네트워크 카드 상태 보기.
랜카드 디바이스 이름과 IP 주소 확인
# ifup eth0 eth0(첫 번째 랜카드 디바이스) 활성(activate)화 시킴.
# ifdown eth0 eth0(첫 번째 랜카드 디바이스) 비활성(deactivate)화 시킴.
# ping 210.110.40.10 210.110.40.10번 호스트(gateway) 네트워크 통신 가능 테스트
서비스 실행/중지/재실행/상태(시스템 관리)
수동으로 시스템 서비스 시작/마침
명령문:
# service 서비스명 start|stop|status|restart <== 서비스 시작|마침|상태 표시.
# service network start
# service sshd start
Unix 기본 명령어 : http://jongp.com/class/unix/basic.htm 참조
cd, ls, cat, more, mv, rm, cp, mkdir, rmdir, man, df, passwd, chmod, du, sort, date,
ps, logout, grep, find, kill, ...
Unix 명령어 기초
★ ; : 여러 명령을 순서대로 각각 실행하려면 “;”으로 구분하여 입력하면 된다.
예) more filename; cd dname; more file2 <== 세 명령을 순서대로 실행한다.
★ >, <, >> : redirection - 명령의 실행 결과는 보통 표준 입/출력
(stdin/stdout=keyboard/monitor)이 된다.
그러나 이를 파일로 저장('>')이나 읽기('<')와 같이 '>', '<'으로 입출력을 바꾼다.
또 이미 출력 파일이 존재하는 경우 그 뒤에 추가할 때에는 '>>'을 사용할 수 있다.
예) cat file1 > file3 <== file1의 내용을 file3에 저장한다.
cat file2 >> file3 <== file2의 내용을 file3에 추가.
cat file1 file2 > file3 <== file1과 file2의 내용을 이어서 file3에 저장.
★ | : pipeline - 한 명령의 실행 결과(표준 출력)를 다른 명령의 입력으로 받아 이어서 실행
하고자 할
때 앞 명령어 다음에 '|'를 쓰고 다음 명령을 내리면 된다.
예) ls -l | more <== directory list를 페이지 단위로 보여준다.
cat fname | wc <== 파일 fname 내용의 문자수, 단어 수, 줄 수를 표시한다.
who | grep park <== 현재 기계를 사용하고 있는 사람 중에서 ‘park’ 문자가
있는 줄을 보여준다.
-----------------------------------------------------------------------------------------------
1) cat : file의 내용을 화면에 보여준다(concatination). MS-DOS의 ‘type’와 비슷.
형식 : cat [option] [file(s)]
option : -n 출력시 줄 번호를 출력
-u 출력시 버퍼링이 안된다.
예) cat file
cat fname1 fname2 > fname3 ? fname1과 fanme2를 붙여서 fname3로 저장.
2) cd : change directory, 현재의 디렉토리를 바꾼다. DOS의 ‘cd’와 비슷.
형식 : cd [directory]
예) cd dname ? dname 디렉토리로 이동. MS-DOS의 cd와 같은 의미이나 cd와 dname
사이에 반드시
공간(space)이 있어야 된다.
3) cp : copy, file룰 복사한다. MS-DOS의 ‘copy’와 비슷.
형식 : cp [file(s)] [(directory/)file]
예) cp fname1 fname2 ? fname1을 fname2로 복사, dos의 ‘copy fname1 fname2’와 같
음.
4) df : 슈퍼블록에서 카운트하고 있는 마운트된 file 시스템, 디렉토리에서 사용가능 한 디
스크블록과 free inode수를 알려준다.
형식 : df [-it][-f][]
5) du : disk usage, 사용자 자신의 디스크 사용(disk utilization) 상황(크기)을 블록단위로
출력해준다.
형식 : dir [option]
option : -s 사용량의 총계를 보여준다.
-a 각 파일의 크기를 보여준다
예) du
6) grep : file에서 특정한 패턴을 찾는데 사용되면 , 그 패턴을 포함하고 있는 모든 행을 출
력한다.
DOS의 find "text" [d:][path][filename]와 비슷
형식 : grep [option] limited regular expression [file]
option : -v expression에 일치하는 줄만 print.
-c 일치하는 줄의 개수를 print.
-l 최소한 하나의 일치가 있는 file 이름만 print
-n line number print
예) grep text a* ? a로 시작되는 모든 파일에서 “text”가 들어있는 줄을 모두 보여준다.
7) kill : 지정한 프로세서에게 종료신호를 보낸다.
형식 : kill [-sihgnam_number] process_id(s)
8) touch : 지정된 file의 날짜와 시간을 현재의 시각으로 바꾼다.
형식 : touch [-amc] [mmddhhmm[yy]] file(s)
9) tty : 컴퓨터 시스템에 연결하여 사용하고 있는 터미널의 이름을 알려준다.
10) umask : file이 만들어질 때 적용되는 파일 접근모드를 설정한다.
11) dircmp : directory compare, 두 개의 디렉토리를 비교하여 결과를 출력한다.
형식 : dircmp [-d][-s][-wn] dir1 dir2
12) ls : list, 디렉토리의 내용을 화면을 통해 보여준다. DOS의 ‘dir’와 비슷.
형식 : ls [option] [name(s)]
option : -l 긴(long) 형식으로 출력 (mode, link count, owner, time ...)
-a .(dot)로 시작하는 file(숨김파일) 포함 (예 .login, .cshrc, .Xinit ...)
-F Directory 끝에 /를 붙이고, 실행가능 파일은 *를 붙여서 출력
-R sub-directory도 recursive하게 list, 즉 부 디렉토리 안의 (부 디렉토리...) 모든
내용을 보여줌.
-1 출력은 한 줄에 한 파일씩
-g 어느 group 소속인지도 출력하라.
예) ls 현(current) 디렉토리의 모든 파일 이름들을 보여준다. dos의 “dir /w”와 비슷.
예) ls -l dname 디렉토리 dname의 모든 파일 이름과 그 속성(허가, 크기, 날짜, 이름 등)
을 긴 형식으로 보여줌.
예) ls -al 현(current) 디렉토리의 숨겨진 파일( .으로 시작하는 파일 이름)을 포함한 모든
파일 이름과
그 속성을 긴 형식으로 보여준다.
* note : 파일명이 '-'로 시작된 것이 있으면 ls *, mv 등 명령이 잘 되지 않음("ls: invalid
option -- 0 ..."
use mv ./-fn fn).
13) mkdir : make directory, directory를 만든다. DOS의 md와 비슷.
형식 : mkdir [-m]mode [-p] <경로><디렉토리 이름>
예) mkdir dname 'dname' 디렉토리룰 만든다. dos의 "md dname"과 같음.
14) rmdir : remove directory, 지정된 디렉토리를 제거한다. DOS의 ‘rd’와 비슷.
형식 : rmdir [-ps]<디렉토리이름>
예) rmdir dname “dname 디렉토리룰 삭제. 해당 디렉토리가 비어 있어야 한다. dos의
“rd dname”과 같음.
15) pwd : pathword, 현재의 작업디렉토리를 화면에 출력한다.
예) pwd 현재의 디렉토리의 전 경로(full path)를 보여준다.
16) bru : 디렉토리 또는 파일 단위로 카트리지 테이프에 저장 또는 복구시키는 기능을 한
다.
형식 : bru -cdeghitx[-#abcBCfFLImnopRsuvw]files
17) cmp : compare, 두 개의 파일을 비교하여 차이점을 화면에 출력한다.
형식 : cmp [option] file1 file2
option : -l 각 다른 부분에 대해서 바이트 번호와 상이한 바이트를 출력하라
-s 출력하지 말고 적절한 종료코드만 return 할 것.
예) cmp fname1 fname2 두 파일 fname1과 fname2을 비교하여 다른 부분을 보여준다.
18) comm : 지정된 두 개의 파일을 비교하여 삭제 또는 공통되는 부분을 선택할 때 사용
된다.
형식 : comm [-[123]] file1 file2
19) cut : 파일의 각 행에서 선택된 필드를 절단한다.
형식 : cut -clist [file]
20) dd : 파일을 변환 또는 복사를 한다.
형식 : dd[option=value]
21) diff : 지정된 두 개의 파일간의 차이를 비교하여 두 개의 파일이 일치되기 위해 필요한
정보를 제공한다.
22) fgrep : 문자열에 따라 파일을 검색을 한다.
형식 : fgrep [option] string [file]
23) find : 어떤 파일이 어떤 디렉토리에 존재하는지 찾아준다.
형식 : find pathname_list expression
- pathname_list에서 expression을 만족하는 파일을 찾는다.
예) find . -name mail -print 현(.) 디렉토리(부 디렉토리 포함) 안에 'mail'이라는 디렉토리
명이나 파일명을
찾아 전 경로(full path)를 보여줌. dos의 "dir /s mail"과 같음.
24) join : 관계형 데이터베이스 조작명령으로 지정된 파일의 관계를 결합하여 결과를 표
준 출력장치로 출력한다.
형식 : join [option] file1 file2
25) ln : link, 두 개의 파일을 연결(link)시켜 사용하게 한다. MS Windows에서 단축 아이콘
과 같은 기능.
형식 : 1. ln file1 [file2] : file1 과 file2을 link(연결)
2. ln file(s) directory : file(s)에 대한 링크가 directory에 만들어진다.
3. ln [-s] file1 [file2] : 다른 파일 시스템에 있는 파일도 link 시켜준다.(BSD unix에서
만 가능)
예) ln name1 name2 ?
26) lp : line print, 특정 파일을 프린터 시켜준다.
형식 : lp file(s)
27) mail : 검사하거나 보내기
형식 : 1. mail : 인터넷으로 들어온 메일을 검사(읽기, 응답).
2. mail id@hostname.domainname : 해당 email(id@hostname.domainname) 주소
로 메일을 보냄.
예) mail 메일 읽기
예) mail jong@bukak.seokyeong.ac.kr 사용자 jong으로 메일 보내기. 아래 2. 전자우편
참조.
28) mv : move, 파일을 다른 곳으로 이동(move)시키거나 파일이름을 변경한다.
DOS의 ‘move’와 비슷하나 dos에서는 디렉토리 이름을 바꿀 수 없다.
형식 : mv <현재이름> <변경될 이름>
예) mv name1 name2 name1을 name2로 바꿈. dos의 “move name1 name2”와 비슷.
mv name1 dname 파일이나 디렉토리 name1을 dname 디렉토리 안으로 이동.
29) paste : 여러개 파일의 같은 행 내용을 병합한다.
형식 : paste file1 file2
30) pg : page, file의 내용을 페이지 단위로 보여준다.
형식 : pg file
31) pr : print, 파일을 표준 출력으로 보여주고 현재의 시각 , 파일명 페이지 등을 같이 보
여준다.
형식 : pr [option] file(s)
option : -n n column 출력을 생성한다.
+n n page에서 시작하라.
-h 이 뒤에 나오는 인자를 페이지 헤더로 사용하라.
32) rm : remove, 파일을 삭제(remove). DOS의 ‘del’와 비슷.
형식 : rm [option] file(s)
option : -f 제거할 때 승인을 요구하지 마라
-i 대화적으로 제거하라. 즉 제거시 승인을 받아라
-r recursive하게 서브디렉토리도 제거하라.
예) rm fname 파일 fname을 지운다. dos의 "del fname“과 비슷.
33) sort : 파일을 정렬(sort) 또는 병합한다. DOS의 sort [d:][path][filename]
형식 : sort [option] file(s) sort < a:\new\sharpe.pen
예) sort fname 파일 fname을 정렬(sort)하여 보여줌.
sort fname1 > fname2 파일 fname1을 정렬하여 fname2로 저장.
34) head : 지정된 파일의 첫 부분을 출력한다.
형식 : head [-number] file(s)
예) head fname 파일 fname의 처음 10줄을 보여준다.
35) tail : 지정된 파일의 끝 부분을 출력한다.
형식 : tail [-number] file(s)
예) tail fname 파일 fname의 끝 10줄을 보여준다.
36) tar : 파일들을 자기 테이프에 저장 또는 불러오기 위한 명령어이다(tape archive).
형식 : tar [-]{txruc}[vwfblm][0-7[lmh]][tapefile][blocksize] file1
37) ulimit : 사용자 범위의 출력, 설정, 프로세서의 보통 파일 크기 범위를 출력한다.
38) uniq : 중복되는 행을 삭제한다.
형식 : uniq [-udc [+n]-n][input[output]]
39) wc : word count, 텍스트 파일에 담겨져 있는 문자 수, 단어 수 및 줄 수를 화면에 출력
하는 명령이다.
형식 : wc file(s)
예) wc fnames ? fnames의 줄 수, 문자 수, 단어 수를 보여줌.
40) bc : 간단한 산술 계산을 할 수 있게 한다.
41) enable, disable : 프린터의 사용을 허용 혹은 불가능하도록 설정한다.
42) factor : 지정된 정수를 소인수 분해하여 화면에 출력한다.
형식 : factor [integer]
43) mesg : message, 다른 사용자가 메시지를 보낼 때 수신여부를 결정한다.
형식 : 1. mseg -n : 수신 거부
2. mesg -y : 수신 허락
44) mount : 이미 만들어져 있는 파일 시스템을 연결 혹은 load 하는 명령어이다.
형식 : mount [-v|-p]
45) od : 지정된 파일의 내용을 8진수로 점프하여 출력한다.
형식 : od [-bcfosx] file [<+>offset<.><b>]
46) passwd : password, 자신의 암호를 등록하거나 변경할 때 사용된다.
예) passwd note: 실행이 안될 때는 "/bin/passwd"로 실행.
47) stty : 현재 단말기나 콘솔의 입/출력 선택 항목을 설정한다.
형식 : stty [-a][-g][option]
예) stty erase ^? ^?은 [Backspace] key
48) tee : 파이프를 접속한다.
형식 : tee [-l][-a] file(s)
49) tr : translate, 특정 문자들을 삭제하거나 치환하여 표준 출력으로 내보내는 명령이다.
형식 : tr [option][string [string2]]
option : -d string1에 있는 문자들을 제거하라.
-s string2에 있는 문자가 여러번 나타나면 하나로 압축하라.
50) wall : write all, 모든 사용자에게 동일한 메시지를 전송한다.
형식 : wall [string]
51) write : 다른 사용자에게 1대1 메시지를 전성한다.
형식 : write user[terminal]
52) chgrp : change group, 지정된 파일의 소유권자 그룹을 바꾸는 명령이다.
형식 : chgrp group file
53) chmod : change mode, 지정된 파일에 대한 사용권한을 변경하고자 할 때 사용된다.
형식 : chmod [mode] file
mode : u(ser), g(roup), o(ther), a(ll)
+(허가), -(취소)
r(ead, 읽기), w(rite, 쓰기), x(execute, 실행)
4 (rwx=100) 혹은 a+r : 읽기 허가
3 (rwx=011) 혹은 a+w : 쓰기 허가
1 (rwx=001) 혹은 a+x : 실행(탐색)허가
예) chmod a+rwx fname 파일 fname을 모든 사용자(all)가 읽기(r), 쓰기(w), 실행(x).
chmod go-rwx mail 디렉토리 mail의 그룹(g), 타 사용자(o)가 읽기(r), 쓰기(w), 실행
(x) 허가를 취소(-) 함.
54) chown : change owner, 파일의 소유권자를 변경한다.
형식 : chown owner file
55) more : file의 내용을 page 단위로 보여준다. DOS의 ‘type | more’와 비슷.
형식 : more file
예) more fname ? 텍스트 형식의 파일 fname의 내용을 보여줌.
56) whereis : 명령어가 있는 위치(디렉토리)를 보여줌.
형식 : whereis command_name <== command_name 명령어의 실행 파일이 어디에
있는지 찾는다.
57) ps : processes, 현재 실행중인 process를 보여준다.
형식 : ps [-auxel]
예) ps 사용자(소유자, login id)의 프로세스만 보여줌.
ps aux 시스템의 모든 프로세스를 보여줌, 원래는 “ps -aux”로 해야 함.
58) logout : 연결 끊기(원격 접속 마침)
59) man : manual, 도움말
형식 : man command
예) man ls
60) date : 오늘 날짜를 보여줌. 관리자는 날짜를 바꿀 수 있음.
61) w : who, 현재 로긴 사용자들을 보여줌.
who
62> finger : 사용자의 정보를 보여줌.
형식 : finger [id]
63> history : 사용자가 실행한 명령어들을 보여줌.
';' 여러 명령문을 순서대로 각각 실행.
예) more filename; cd dname; more file2 <== 세 명령을 순서대로 실행.
redirection : 명령의 실행 결과는 보통 표준 입/출력(stdin/stdout=keyboard/monitor),
> fn : 명령 실행 결과를 파일(fn)로 저장
< fn : 파일 fn으로부터 읽어들임,
>> fn 기존 파일 fn 뒤에 추가.
예) cat file1 > file3 <== file1의 내용을 file3에 저장.
cat file2 >> file3 file2의 내용을 file3에 추가.
7) pipeline : 한 명령의 실행 결과(표준 출력)를 다른 명령의 입력으로 받아 이어서 실행
예) ls -l | more <= directory 목록을 페이지 단위로 보여줌.
w | wc 현재 로긴 사용자 출력 내용의 줄수, 단어수, 문자수를 보여줌.
8) ^C [CTRL-C] 명령 실행 정지(stop)
^Z 일시 정지('fg' 복귀 명령)
^D exit
11. 패턴이 포함된 파일 보여주기
grep : file에서 특정한 패턴을 찾는데 사용되면 , 그 패턴을 포함하고 있는 모든 행을 출
력한다.
(DOS의 find "text" [d:][path][filename]와 비슷)
형식 : grep [option] limited regular expression [file]
option : -v 패턴(expression)에 일치하지 않는 줄 모드 출력
-c 일치하는 줄의 개수를 출력
-l 최소한 하나의 일치가 있는 file 이름만 출력
-n line number print
예) grep text a* <- a로 시작되는 모든 파일에서 “text”가 들어있는 줄을 모두 보여준다.
grep "text.mp*" * <- 현재 작업 디렉토리의 모든 파일에서 "text.mp"로 시작하는 모든
파일의
파일명과 해당 줄을 보여줌(출력).
12. 파일 찾기
find : 어떤 파일이 어떤 디렉토리에 존재하는지 찾아준다.
형식 : find pathname_list expression
find 디렉토리명 -name 파일명 해당 디렉토리명(부 디렉토리 모두 포함)에서 파일
명을 찾음.
- pathname_list에서 expression을 만족하는 파일을 찾는다.
예) find . -name mail 현 디렉토리(부 디렉토리 포함) 안에“mail”이라는 이름(디렉토리
나 파일)을
찾아 전 경로(full path)를 보여줌(dos의 “dir /s mail”과 같음).
$ find ~ -name "*.bak" 홈 디렉토리 내(sub dir. 포함)에서 확장자가 "bak"인 모든 파일
을 보여줌.
13. 실행 프로세스(작업, 프로그램) 보기
$ ps 본인(로긴 사용자) 프로세스 만 보임.
$ ps aux 모든 실행 프로세스 보임, PID, name, time ... 정보
$ ps aux | grep sendmail 프로세스 중에서 'sendmail'이라는 프로세스(서비스)가 있는지
(실행) 보임.
$ ps aux | grep startx 프로세스 중에서 'startx'라는 프로세스가 있는지 보임.
$ pstree 모든 프로세스의 주종관계(부/자 프로세스)를 트리 형식으로 보임.
부팅시 첫 번째로 실행되는 프로세스는 'init'(1 번 PID)이다.
PID는 프로그램 실행시 고유 번호가 주어지며, 새로운 프로세스가 생성
될 때 마다
1씩 증가한다.
$ pstree 프로세스들을 트리구조(parent,child)로 보임.
14. permission(파일 허가권, Unix명령어기초와 Unix Commands 'chmod' 참조)
chmod : 지정된 파일에 대한 사용권한을 변경하고자 할 때 사용된다.
형식 : chmod [mode] file
mode : u(ser), g(roup), o(ther), a(ll)
+(허가), -(취소)
r(ead, 읽기), w(rite, 쓰기), x(execute, 실행)
4 (rwx=100) 혹은 a+r : 읽기 허가
3 (rwx=011) 혹은 a+wx: 쓰기,실행 허가
1 (rwx=001) 혹은 a+x : 실행(탐색)허가
예) chmod a+rwx fname ? 파일 fname을 모든 사용자(all)가 읽기(r), 쓰기(w), 실행(x).
chmod go-rwx mail ? 디렉토리 mail의 그룹(g), 타 사용자(o)가 읽기(r), 쓰기(w), 실행
(x)
허가를 취소(-) 함.
* sticky bit: x -> t, directory에만 적용되며, x 대신 t로 되어 있는 디렉토리 내 파일은
해당 파일 소유자만 삭제나 파일명을 변경할 수 있다. 다른 사용자는 해당 파일명을
바꾸거나
삭제할 수 없다. 목적은 공용 디렉토리에서 타인의 파일 삭제를 방지하기 위함. 'T'는
sticky
bit가 on이고, 실행모드(x)가 off일 때 보이며, sticky bit가 정의되지 않음과 같다.
예) chmod 1777 ~/tmp or chmod a=rwxt ~/tmp ( * a+rwt로 하면 T로 됨.)
* setuid, setgid: x -> s, 해당 파일 실행시에 파일 소유자의 권한(혹은 그룹)으로 실행.
(x로 되어 있는 파일은 실행자의 권한으로 실행 함)
'프로그래밍 기본 > 서버 구축 및 관리' 카테고리의 다른 글
[linux] 명령어 find로 파일 폴더 찾기 (0) | 2019.01.28 |
---|---|
python 을 이용한 command line(명령어) 입력 (0) | 2018.10.11 |
[Ubuntu]node.js server구축시 events.js:160 error (0) | 2018.08.31 |
[Ubuntu] linux 포트 방화벽 체크하기 (0) | 2018.08.31 |
서버 구축 및 관리 - 기말고사 정리 (0) | 2018.01.25 |