본문 바로가기

스터디/linux

(16)
[리눅스스터디]사용자에게 숫자를 입력받아 그 수에 따라 다른 결과를 출력하는 프로그램 입력받은 수가 짝수이면 그 수를 높이로 하는 별을 찍고, 홀수이면 해당 숫자의 구구단을 출력한다. #사용자에게 숫자 입력받기 read명령어의 -p옵션을 통해 "input Num: "을 출력한 뒤 입력받은 수를 opt변수에 저장한다. #조건에 다라 실행한 명령문 나누기 opt의 값을 2로 나눈 나머지가 0과 같을 경우 if문에 포함된 명령문을 실행한다. 그 외의 경우 else문에 해당하는 명령문을 실행한다. #if문에 해당할 경우(짝수선택 -> 별찍기) 1부터 사용자가 입력한 수가 될 때까지 반복문을 실행한다.(입력한 수의 행만큼 별찍기) 각 행의 공백문자는 (입력받은 수 - 현재 별이나 공백 찍는 행의 번 째수)+1만큼 찍어줘야한다. 각 행의 별은 (현재 별이나 공백 찍는 행의 번째 수 * 2)-1만큼 ..
[리눅스스터디]계산기 계산기 프로그램 #변수선언처음 입력받을 수의 변수는 num1에, 두번째로 입력받을 변수는 num2에 저장하기 위해 두 변수를 선언해준다.(선언과 동시에 초기화) #함수정의Add, Sub, Mul, Div함수를 각각 정의해준다. num1과 num2의 값으로 연산한 결과를 각 함수 이름과 동일한 변수에 저장한 후 그 변수의 값을 return값으로 지정한다. #select문프롬프트 변경위한 쉘 변수인 PS3를 통해 사용자의 선택을 입력받는다.list에는 각 연산을 선택할 수 있도록 연산의 이름과 프로그램 종료를 위한 Exit를 기입해준다.사용자의 입력은 select와 in 이에 지정된 변수인 calcul에 저장한다.프롬프트가 계속 출력되도록 "REPLY= "를 넣어준다. #case문사용자가 입력한 값을 저장한..
[리눅스스터디]조건문, case문, for문, while문, select문, 함수 1.조건문-비교연산자산술비교연산자로 조건문을 작성해보자.변수의 값이 3과 같으면 참인 경우를 조건문에 넣어주자.(-eq사용) 변수의 값이 5가 아닌 경우가 참인 경우를 조건문에 넣어주자.(-ne사용) 변수의 값이 3보다 크면 참인 경우를 조건문에 넣어주자.(-gt사용) 변수의 값이 3보다 같거나 크면 참인 경우를 조건문에 넣어주자.(-ge사용) 변수의 값이 5보다 작으면 참인 경우를 조건문에 넣어주자.(-lt사용) 변수의 값이 5보다 작거나 같을 경우가 참인 경우를 조건문에 넣어주자.(-le사용) 2. case문case로 시작하고 esac로 끝내야 하며, 각 조건은 )로 끝내고, 실행문은 ;;로 끝내야 한다.score라는 변수의 값에 따라 다른 실행문을 실행하는 case문을 작성해보자. 사용자에게 숫자를..
[리눅스스터디]사용자가 일치하면 파일을 컴파일할 수 있도록 돕는 쉘스크립트 사용자가 일치하면 파일을 컴파일할 수 있도록 돕는 assign1.sh 이름의 쉘스크립트를 만들자. read -p "who are you? : " namein ("who are you? : "를 출력한 후 namein변수에 사용자의 입력을 받는다. 입출력을 동시에 하기 위해 read명령어에 p옵션을 사용한다. if [ $namein != $1 ]; then (입력자에게 입력받은 이름인 namein의 값이 매개변수로 입력해준 사용자명과 일치하지 않을 경우이다.)echo "Permission Denied" (위의 조건일 경우 허가가 거부되었음을 알리는 문구를 출력해준다.) elif [ $namein = $1 ]; then (입력자에게 입력받은 이름인 namein의 값이 매개변수로 입력해준 사용자명과 일치할 경..
[리눅스 스터디]쉘스크립트, 변수사용과 매개변수 1.쉘스크립트: 파일 내용을 라인 단위로 실행하기 때문에 컴파일 과정 없이 사용 가능하다. [쉘스크립트 생성 및 실행]vi편집기로 파일 내용을 적고 저장한 후 실행권한을 부여하면 쉘스크립트가 실행된다.vi편집기로 hello.sh이름의 쉘스크립트를 만들어보자. 스크립트를 실행하기 위해 chmod +x hello.sh 명령으로 hello.sh에의 실행권한을 부여하자. 두가지 방법으로 실행 가능하다../hello.sh 명령, bash hello.sh 명령을 모두 사용해보자. [쉘스크립트 종료]종료상태를 통해 명령어의 종료 상태를 알 수 있는데, 0부터 255 중 하나로 나타난다.0이 나타났을 시에만 성공이며, 그 외의 255가지 숫자는 모두 오류코드임을 나타낸다.$? 에 가장 최근 명령어의 종료 상태가 저장되..
[리눅스스터디]vi 편집기 vi 편집기 명령모드, 입력모드, 마지막 행 모드 총 3가지 모드를 이용해 코드나 글을 작성 및 수정할 수 있는 도구가 vi 명령어이다. 명령모드는 vi 편집기가 실행된 직후의 상태인데 이때 명령어만으로 명령이 수행된다. i나 a명령어로 입력모드로 전환할 수 있다. 입력모드에선 자유롭게 코드나 글을 작성하면 되는데 명령모드로 돌아가고 싶다면 esc를 누르면 된다. 마지막 행 모드로는 입력모드에서 esc로 명령모드로 바뀐 상태에서 콜론을 붙이면 전환될 수 있다. 마지막 행 모드에서 파일의 저장, vi 편집기 종료를 할 수 있다. *파일 열기 : vi [파일이름] vi [파일1] [파일2] - 두 파일을 차례로 연다 view [파일] 혹은 vi -R [파일] - 읽기 모드로 연다 vi + [파일] - 파일을..
[리눅스스터디]파일 시스템의 논리적 구조
[리눅스스터디]하드링크와 심볼릭링크 하드링크 :기존 파일과 데이터의 아이노드를 동일하게 갖는 파일 데이터가 저장된 곳을 가리키는 아이노드를 공유하기 때문에 원본파일과 이름을 제외하고 동일한 파일이라고 볼 수 있다. 따라서 원본파일이 삭제되어도 데이터에 접근하는 데에 문제가 생기지 않는다. #ln [원본파일명] [하드링크파일명] 명령으로 하드링크를 생성해 줄 수 있다.(관리자만 생성가능) 하드링크파일의 개수만큼 원본파일의 링크수가 증가한다. 하드링크파일을 여러개 만들어보자. 데이터를 가리키는 파일이 하나만 남았을 때 링크의 개수를 확인해보자. 이미 원본파일인 no를 지웠으니 하드링크파일 중 하나만 남기고 다 지운 후 링크 수를 확인해보자. (하드링크파일은 원본파일과 사실상 같은 파일이기 때문에 하나만 남기고 다 지웠을 때 원본파일이 원래 갖..