1) if 문 숫자나 스트링 비교가능 , 명령어 성공할 경우 0을 리턴한다. 2) Testing for files 3) Example of testing of strings If [ string1 == string2 ] ; then ACTION fi ( ※ 주의! string1 사이에는 스페이스바 공백을 꼭 넣어주어야 된다) 4) Numerical test C언어 환경에서는 등을 사용하지만 쉘 스크립트는 위와 같이 연산자를 사용한다. 5) Arithmetic Expression - 다음의 3가지 방법으로 산술 연산을 할 수 있다. - expr 유틸리티를 사용한다. - echo $(expr 8 + 8) - $((...))을 사용한다 (가장 많이 사용되는 것) - echo $((x+1)) - ..
1) Bash 쉘스크립트 문법 - 쉘 스크립트는 다른 개발 언어와 유사한 언어 문법을 갖는다. 1. 변수 2. 함수 3. 조건문 4. 반복문 5. 주석 6. 디버깅 2) Basic Syntax and Special Characters - # : 주석처리를 할때 사용한다. (#!는 bash에 의해서 해석되는 스크립트를 알리는 문구) - \ : 명령어가 길때 다음 라인으로 넘길때 사용 - ; : 여러개의 명령어를 순차적으로 수행할때 사용 - $ : $ 뒤에 보통 변수라는것을 나타낸다. - && : 앞에 명령어가 정상적으로 수행한 경우에만 다음 명령어 수행이 가능하다. ex) $make && make install && make clean - || : 하나를 수행해서 정상적으로 종료되면 종료한다. 정상적인 종..
1) 쉘 스크립트는 왜 쓰는가 ? 1. 여러가지 일들을 자동화 처리가 가능하다. 2. 자동화를 해서 길고 반복적인 작업을 묶어서 하나로 만들수 있다. 3. 스크립트를 다른 사용자와 공유가 가능하다. 4. 간단한 UI 작성이 가능하다. 5. 기존것들을 사용해서 새로운 명령어를 만들수 있다. 6. 컴파일을 하지 않기 때문에 처리속도가 다소 빠르다. 2) Shell script interpreter(쉘 스크립트 해석기) #! /bin/bash ==> 이 파일이 쉘스크립트라는것을 지정하는것이다. bash라는 프로그램에 의해서 쉘 스크립트가 해석된다는 뜻이다.
Boot 과정 (x 86)에서 Power 버튼 누르게 되면 BIOS화면이 뜬다. BIOS 화면에서 하는일 : 시스템 체크 , 디스크에서 Master Boot Record(MBR) 코드를 메모리로 로딩 MBR : 실제 부트로더(GRUB과 같은)를 로딩해서 부트로더가 Kernel을 로딩한다. Kernel : Initial RAM disk 이미지를 RAM상에 가상 이미지를 만든다. 이렇게 되면 기본적으로 시스템이 동작을 한다. /sbin/init 프로세스를 수행 ( = 모든 프로세스의 조상이 되는 프로세스) user에 로그인 프롬포트를 띄우는 getty 수행 (로그인, 패스워드를 대기) X windows System이 수행 (이곳에서 로그인 프롬포트 대기) BIOS에서 부트로더까지는 환경에 따라 변화할수 있다..
Kernel (커널) - 하드웨어와 어플 사이에 마치 풀과 같은 존재이다. kernel : Glue between hardware and applications 추상화라는 개념을 통해 사용자가 file에 엑세스해 disk에 접근할수있다. Boot loader (부트로더) - 파워버튼을 눌렀을때 동작할수 있도록 준비시켜주는 것. PC같은 경우에는 GRUB을 많이 사용한다 임베디드 시스템과 같은 경우는 u - boot를 많이사용한다. Distribution (배포판) 각기 다른방식으로 다양한 환경에 맞춰서 포장할수 있다. Service(서비스) - 직접적으로 수행하지 않지만 백그라운드로 동작하는 프로세스 - 초기에 init 프로세스가 동작 Filesystem (파일 시스템) - 디스크에 데이터를 저장하고 추..
Linux의 역사 - 1991년 : 핀란드 헬싱키 대학의 Linus Torvalds가 운영체제의 커널(kernel)을 개발 - 1992년 : 커널과 GNU프로젝트의 시스템 소프트웨어들을 통합하여 Linux Distribution을 90년대 중반 배포함 - 1998년 : IBM, Oracle 등의 대형 회사들이 개발에 본격 참여하기로 선언함 리눅스의 현재 - 매일 85만대의 리눅스 기반의 안드로이드 폰이 개통된다. - 주식거래중 80%는 리눅스 서버에 의해서 이루어짐 - 슈퍼컴은 90%가 리눅스로 운용 - 구글엔진, 페이스북, 트위터 등이 리눅스 기반 막대한 영향력을 지닌다. 리눅스와 기존 운영체제가 다른점 - 리눅스는 하나의 회사나 소수의 개발자에 의해서 이루어지는 소프트웨어가 아니라 전세계 프로 그래머..
소프트웨어 공학 -> 좋은 소프트웨어를 개발하는데 관련한 방법,기술,도구에 대해서 연구하는 학문 나쁜 소프트웨어 -> 아리안 5호 폭발(1996) = 제어소프트웨어의 변수가 너무 작게 선언이 되어 오버플로우가 발생. -> Y2K = 연도를 두자리로 설계 1999(=99) 그러나 , 2천년도가 다가오면서 문제가 발생 (1999=2099) 경제적이나 사회적이나 국방적으로나 문제를 발생시킬수 있다. 애당초 소프트웨어가 잘못설계되었기 때문 -> 윈도우 블루스크린 SW를 개발하는 것이 왜 어려운가 ? - 점점 더 중요해지는 소프트웨어 = 공군 전투기 내장소프트웨어의 비율이 기하급수적으로 증가 하고있다. 60년대 10%의 소프트웨어가 전투기를 지배했는가 반면, 현대에는 80%의 소프트웨어가 전투기를 지배한다. SW..