본문 바로가기

반응형

Linux/Unix

(7)
쉘 스크립트(shell script) - 조건문 조건문의 형식 쉘 스크립트의 조건문은 if로 시작하여 [ ] 괄호로 묶여지며, [ ] 괄호 내에의 조건식은 괄호와 공백이 있어야 한다. 예를 들어[ -f /etc/passwd ]의 경우 시작 괄호 '['와 '-f' 사이에는 공백이 꼭 필요하다. 조건문의 끝은 ;로 표현 되며, 만일 then 문장을 입력할 때는 ;를 생략해도 된다. if [ 조건 ]; then 문장 elif [ 조건 ]; then 문장 else 문장 fi test 명령어 test 명령어는 뒤에오는 조건식을 검사하여 참, 거짓 여부를 판단 할 수 있다. 주로 파일 존재 유무, 타입, 권한을 체크 할 때 사용 된다. test 명령어는 아래 두가지 형태로 조건문에서 사용 가능하다. test expressions or [ expressions ]..
fcntl() 함수를 이용한 File locking 구버젼의 UNIX 시스템에서는 레코드 단위(혹은 byte range 단위)에 대한 loking을 지원 하지 않았다. 하지만 여러가지 상업적인 이유와 역사적인 이유로 인해서 각 UNIX 계열 시스템에서도 레코드 단위의 locking을 지원하기 시작 했다고 한다. #include int fcntl(int filedes, int cmd, .../* struct flock *flockptr */); record locking을 위해서 사용되는 cmd의 인자로는 F_GETLK, F_SETLK 또는 F_SETLKW가 올수 있다. 세번째 인자인 flockptr은 flock 구조체의 포인터다. 인자의 설명은 이름을 통해 직관적으로 알 수 있으니 건너 뛰기로 하고 F_GETLK에 대해서만 간단히 알아 보자. F_GETL..
Shell 프롬프트에서의 단축키 stty -a or all : 현재 사용중인 터미널의 메타문자들을 보여 줌 ctrl+h : 한 문자를 지움, backspace와 동일 ctrl+u : 커서 앞의 문자를 모두 지움 ctrl+w : 커서 앞의 한 단어를 지움
쉘 스크립트(shell script) - 명령어 1. Shell? shell이란 kernel과 프로그램 및 사용자 인터페이스를 제공하는 중간 매개체이다. 사용자가 shell에서 제공하는 프롬프트를 이용하여 명령어를 입력하면 shell은 입력 받은 명령어를 kernel이 실행 할 수 있는 언어로 변환하여 전달 한 후 실행되기 때문에 보통 shell을 ‘명령어 해석기’라고 한다. 2. Shell 변경 및 확인 2.1. 사용 가능한 Shell 확인 # chsh –l or 또는 cat /etc/shells 를 입력하면 사용 가능한 shell 이 출력된다. 2.2. Shell 변경 다른 쉘로 변경하기 위해서는 프롬프트 상에서 “chsh”를 입력하면 새로운 프롬프트를 생성한다. 이때 바꾸고자 하는 쉘이 있는 패스를 적어주면 된다. 이렇게 쉘을 변경하게 되면 /e..
쉘 스크립트(shell script) - 변수 Unix와 Linux에서는 OS에 의해 사용되는 기본적인 변수(시스템 변수)와 사용자 정의 변수로 나뉠 수 있다. ※ 일반적으로 시스템 변수는 대문자로, 사용자 변수는 소문자로 표기한다. 1. 시스템 변수 변 수 설 명 PS1 bash 쉘 프롬프트 PS2 쉘의 하위 프롬프트 설정 PS3 select 문에서의 프롬프트 PS4 bash의 debug 모드에서의 프롬프트 HOME 사용자 홈디렉토리 PATH 실행 파일의 디렉토리 경로 지정 BASH 사용 쉘 및 경로 BASH_VERSION bash 쉘의 버전 ENV 환경 설정 파일 USER 사용자 USERNAME 사용자 이름 SHELL 지정한 쉘 및 쉘의 경로 MAIL 메일 보관 디렉토리 경로 MAILCHECK 메일 확인 주기 MAILPATH 사용자 메일 경로 설..
쉘 스크립트(shell script) - 반복문 1. for ♦ for 의 형식 for 문은 in 다음에 오는 값을 끝까지 대입하여 반복적으로 실행하는 실행 문이다. for 변수 in 값; do 문장 done for((초기값; 조건식; 증감)); do 문장 done 예제 for_ls.sh #!/bin/bash for i in $(ls); do echo FILE : $i done 예제 for_inc.sh #!/bin/bash for ((i=0;i
서비스 포트 변경 대학교나 기타 공공 기관에서 몰래 서버를 한대 설치하고 서비스를 하다 보면 꼭 방화벽이라는 놈들이 포트를 막아 해당 서비스를 하지 못하도록 막는다. 이럴 경우에는 서비스 포트를 변경해 주면 되는데, 보통 웹서비스를 하는 80포트는 잘 안막으므로 자주 애용해 주도록 하자. 이런 저런 설명들을 장황히 늘어 놓는 것 보다도 telnet서비스의 포트를 변경하는 법과 포트를 하나 더 띄우는 방법을 설명 하도록 하겠다. 나머지는 알아서 응용하도록... [텔넷 서비스 포트 변경] 1.서비스 포트 변경은 /etc/services 파일에 있는 텔넷 서비스 포트를 다른 숫자로 변경하면 된다. 텔넷의 경우 기본 포트는 23번을 사용하지만 예를 들어 203으로 지정하면, 원격 접속시 203 포트를 지정하지 않으면 텔넷 접속이..

반응형