반응형

프로그래밍/Unix 54

[유닉스] 시스템 백업과 복구 명령어

스템 백업과 복구 명령어 테이프에 파일 보관 : tar tar 명령은 기본적으로 파일을 자기 테이프(magnetic tape)에 보관하도록 특별히 설계되었음 현재는 여러 개의 파일들을 하나의 파일로 묶는 용도로 더 많이 쓰이고 있음 tar 명령의 특징은 단순함, 신뢰성, 안정성, 자기 테이프 장치 이외의 어떤 매체에도 저장할 수 있는 유연성 형식 : tar [options] [생성될 파일명] [대상 파일명 또는 대상 디렉토리, 장치명] 가장 많이 사용되는 옵션은 cvf, tvf, xvf 저장 매체로 플로피 디스크나 자기 테이프로 지정하고 백업하는 예 /dev/fd0는 플로피 드라이브를 백업 매체로 지정하는 것 /var 디렉토리를 플로피 드라이브로 복사 # tar –cf /dev/fd0 /var 백업될 크..

[유닉스/unix] 시스템 성능 관리 명령어

시스템 성능 관리 명령어 개요 시스템이 현재 사용하고 있는 자원의 현황 조사 시스템이 효율적으로 동작하고 있는지 검사 시스템 성능에 영향을 미치는 요소, 시스템이 최적의 성능을 발휘하기 위해 무엇이 필요한지 알게 됨 시스템 상태 : uptime 시스템의 평균 부하에 대한 수치를 측정 시스템이 얼마나 오랜 시간 동안 운영되고 있는지를 통계와 함께 보여줌 00:20:29 : 현재 시간 up 2:27 : 부팅 후부터의 동작 시간 2 users : 현재 서버에 접속된 사용자 수 load average : 과거 1, 5, 15분간의 시스템 평균 부하(load) 일반적으로 평균 부하가 5.0-10.0 이상이면 높은 부하이므로 부하 분산 필요 # uptime 00:20:29 up 2:27, 2 users, load ..

[유닉스/unix] 사용자(User) 관리 명령어, 그룹(Group) 관리 명령어

사용자(User) 관리 명령어 사용자 계정 시스템 관리자의 중요한 역할 중 하나는 사용자 계정을 만들고 관리하는 일 사용자 계정의 구성 요소 로그인 ID : 시스템에 로그인할 때 사용자를 구분하기 위해 사용하는 이름. 사용자 이름. 시스템에서 유일해야 함 비밀번호 : 시스템에 로그인 허가를 받기 위해 사용자임을 증명하는 문자열. 6~8자 사이의 영문자, 숫자, 특수 문자의 조합으로 구성 홈 디렉토리 : 사용자가 로그인한 직후 위치하는 디렉토리. 자신의 파일과 디렉토리 저장 로그인 쉘 : 로그인할 때 자동으로 실행되는 쉘. 사용자의 명령을 입력받아 처리 사용자 초기화 피일 : 각 사용자가 자신의 작업 환경을 구성하는 파일. 로그인할 때마나 로그인 쉘이 자동으로 실행 /etc/passwd 파일 패스워드 파일..

[유닉스] 시스템 부팅과 종료

시스템 부팅과 종료 init 프로세스 init 프로세스가 하는 일 파일 시스템의 구조 검사 파일 시스템 마운트 서버 데몬을 띄움 사용자 로그인을 기다림 사용자가 로그인하면 사용자를 위한 쉘을 띄움 /etc/inittab 시스템을 어떤 방식으로 쓰는지에 따라 수행되는 6가지 실행레벨(runlevel) 중에서 init 프로세스가 수행해야 할 행동(action)들을 서술해 놓은 파일 rc.sysinit 스크립트 실행 init 프로세스는 rc.sysinit 파일을 가장 먼저 실행 rc.sysinit 스크립트는 inittab 파일의 정의에 따라, 시스템을 초기화할 때 가장 먼저 한 번만 실행되는 초기화 스크립트 기본 적인 path 설정, swap 영역의 활성화, 디스크 검사(fsck), /etc/hostname ..

[유닉스] 시스템 관리자

시스템 관리자 유닉스 사용자 일반 사용자와 시스템 관리자 일반 사용자 : 정해진 범위 내에서만 작업을 수행할 수 있는 사용자 시스템 관리자 : 시스템이 올바로 동작할 수 있도록 시스템을 관리하고 운영하는 책임을 가진 사용자 시스템 관리자의 역할 사용자 등록, 삭제 각종 소프트웨어 설치, 업그레이드, 제거 각종 하드웨어 추가 설치 시스템 보안 데이터 백업 자원 감시 문제 발생 시 진단 및 문제 해결 시스템 관리자 계정으로 작업하기 시스템 관리자로 작업하는 두 가지 방법 root 계정으로 로그인하는 것 일반 사용자로 로그인한 후 su(switch user) 명령을 이용해 root로 계정을 바꾸는 것 root 계정으로 로그인하기 일반 사용자로 로그인할 때와 같이 시스템에 접속하여 사용자 이름, 비밀번호 입력 ..

쉘 스크립트(Shell Script) 디버깅

디버깅 오류 발생 복잡한 스크립트를 작성하다 보면 오류가 자주 발생 구문 오류는 바로 확인하여 수정 가능 실행 오류는 추적하기 쉽지 않음 쉘은 별도의 디버거를 제공하진 않지만 각 행의 실행을 추적할 수 있는 방법 제공 bash –x를 이용한 디버깅 가장 많이 사용되며, 간단한 스크립트 디버깅 방법 -x 옵션으로 실행하면 각 행이 실행될 때마다 화면에 출력 $ bash –x test_while +count=1 +sum=0 +(( count

쉘 스크립트(Shell Script) 함수

함수 앨리어스를 이용하면 간단한 명령들을 하나의 다른 이름으로 재정의하여 사용할 수 있음 명령을 조건에 따라 다르게 실행하거나 인자를 받아 처리해야 할 때 함수를 사용 함수는 스크립트 안에서 정의하여 프로그래밍에 활용될 수도 있고, 사용자 초기화 파일에 정의하여 나만의 명령으로 사용할 수도 있음 함수의 정의 함수를 프롬프트에서 정의해 사용 가능 함수의 본문을 나타내는 중괄호는 함수 이름 다음에 써도 되지만, 앞뒤에 공백을 주어 다른 문자열과 구분해야 함 기본 형식 function functioname { 명령들 } 지우려는 파일을 휴지통으로 보내는 함수 만들기 휴지통으로 사용할 디렉토리 생성 디렉토리 이름은 .으로 시작하여 숨김 파일로 프롬프트에서 function 키워드와 함수 이름을 입력하면 프롬프트가..

쉘 스크립트(Shell Script) 제어문 - select, continue, until 문

until 문 조건 명령이 정상 실행될 때까지 주어진 명령을 반복 실행 while 문과 반복 실행 조건이 반대하는 점을 제외하고는 거의 유사한 기능 제공 형식 until 조건명령 do 명령 done 스크립트 예 $ cat -n test_until 1 #!/bin/bash 2 # 3 # test until loop 4 # 5 6 echo “Input name :” 7 read person 8 9 until who | grep $person # > /dev/null 10 do 11 sleep 12 done 13 14 echo “\007” # beep $ 실행 결과 $ chmod +x test_until $ ./test_until Input name : user2 user2 pts/3 $ select 문 메뉴..

쉘 스크립트(Shell Script) 제어문 - for, while 문(반복문)

for 문 리스트 안의 각 값들에 대해 지정한 명령을 순차적으로 실행 형식 for 변수 in list do 명령 done 스크립트 예 $ cat -n test_for 1 #!/bin/bash 2 # 3 # test for loop 4 # 5 6 for num in 0 1 2 7 do 8 echo “Number is $num” 9 done $ 실행 결과 $ chmod +x test_for $ ./test_for Number is 0 Number is 1 Number is 2 $ 외부 파일의 내용 참조 $(< file)을 사용하여 file의 내용을 입력으로 받아, white space로 구분되는 단어를 한 번에 한 개씩 처리 $(< file)은 cat list로 바꿀 수 있음 스크립트 예 $ cat list..

쉘 스크립트(Shell Script) 제어문 - case 문

case 문 주어진 변수의 값에 따라 실행할 명령을 따로 지정 변수의 값이 value1이면 ;;을 만날 때까지 명령을 실행 일치하는 값이 없으면 기본값인 * 다음에 나오는 명령을 실행 형식 case 변수 in value1) 명령;; value2) 명령;; *) 명령;; esac 스크립트 예 $ cat -n test_case 1 #!/bin/bash 2 # 3 # test case 4 # 5 echo “Select command : ” 6 read cmd 7 8 case $cmd in 9 [0-9]) # 0~9 digit 10 date 11 ;; 12 cd|CD) # cd or CD 13 echo $HOME 14 ;; 15 [aA-C]*) # string with a, A, B, C 16 pwd 17 ;;..

반응형