-
linux 기초 1└ O.S. 2007. 9. 5. 00:42
1. Linux history
BSD (Berkeley Software Distributions)
: Bell연구소에서는 UNIX가 거의 발전되고 있지 못할 때인 1970년대 말기에서 80년대 초기에
걸쳐서 UCB의 대학원생들이 적극적으로 UNIX의 기능을 보강하여 보급하기 시작한 것이 BSD
입니다.
BSD계열로는 Ultrix, Solaris, HP-UX가 있습니다.system V : 1983년 AT&T사가 독과점 방지법의 규제를 받지않고 상업적 목적의 표준 UNIX로 발표한
UNIX계열입니다.
system V 계열로는 AIX, SCO UNIX가 있습니다.
출처 : http://ko.wikipedia.org/wiki/Unix
1984년 MIT 대학교수인 리차드 스톨만에 의해서 GNU 프로젝트가 시작되었다.
1985년 자유 소프트웨어 재단(FSF, Free software Foundation)을 설립.
FSF의 목표는 GNU프로젝트에서 만든 소프트웨어와 운영체제의 개발을 지원함으로써
컴퓨터 프로그램의 복제, 제작, 소스의 사용등에 대한 제한을 철폐하기 위한 것이다.
FSF에서 제공하는 대부분의 소프트웨어는 GPL(General Public License)이라는
라이센스를 따르도록 되어 있다.
1987년 Andrew S.Tanenbaum교수는 유닉스의 일종인 오픈소스 운영체제를 개발(Unix)
1991년 8월 리누즈 토발즈(Linux B.Tovalds)라는 사람이 어셈블리어로 리눅스 커널 0.01버전을
최초로 작성했다.
리누즈 토발즈가 리눅스를 처음 작성할 때의 목표는 당시 유닉스 시스템의 작은 버전인
미닉스(minix)보다 좋은 운영체제를 만드는 것이다.
1992년 0.02버전을 작성하여 처음으로 인터넷에 공개하게 된것이 리눅스의 시작이다.
리누즈 토발즈는 실제로 커널이라고 하는 리눅스의 핵심부분만을 작성하고 공개이후에
전세계 개발자와 전문 기술자들의 도움을 받아 리눅스를 꾸준히 개발
1994년 LINUX커널버전인 1.0을 발표하였다.
1996년 LINUX커널버전 2.0버전 발표를 거쳐 1999년 1월말, 역사적인 2.2버전의 발표를 엔터프라이
즈 환경에 진입할 수 있는 초석이 마련되었다.
1997년 토발즈는 실리콘밸리의 트랜스메타라는 곳에서 일을 하기 시작
1999년 8월 레드햇은 처음으로 리눅스 기반의 회사를 설립
2001년 1월 리눅스 커널 2.4가 발표되면서 리눅스가 본격적으로 엔터프라이즈 서버로 사용될수
있는 면모를 보이게 되었다.
2003년 12월 리눅스 커널 2.6이 발표되었고, 리눅스는 한층 더 발전을 이루고, 본격적으로 임베디드
를 위한 커널로 개발되기에이르렀다.
출처 : http://blog.naver.com/amy202/30004978646
2. Shell?
Shell 이란?
쉽게 표현하면 도스의 command.com이 하는 역할처럼 login 이후부터 사용자가 입력하는
명령어를 기계어로 변역하여 커널에 전달하는 역할을 하는 명령해석기를 말합니다.shell description csh 버클리 캘리포니아 대학에서 개발된 프로그래머들에게 적합한 shell입니다.
대화형 사용법에서는 Bourne shell과 대부분 호환되지만 전혀 다른 프로그래밍 인터페이스를 가지고 있고, 히스토리 대체라는 복잡한 기능으로 대신하고 있지만 명령행 편집 기능은 제공하지 않습니다.ksh 일반적으로 유닉스에서 가장 많이 사용되고 있는 shell이며 Bourne shell에 처음으로 현대적인 shell 기능(C shell로부터 차용한 것이다.)을 도입한 shell 입니다. Bourne shell과 호환되고, 명령행 편집 기능을 제공합니다. bash Bourne again shell은 최초로 개발된 쉘인 Bourne shell의 변종이라 할 수 있습니다.
리눅스에서 가장 많이 사용되는 쉘이며, POSIX 호환이며 Borune shell과 호환되는 쉘로서 GNU 프로젝트에 의해 만들어지고 배포되고 있습니다. 명령행 편집 기능을 제공합니다.tip 사용하는 시스템에서 사용가능한 shell의 종류를 알아보려면 /etc/shells라는 파일을 보시
면 됩니다. 이 파일에는 서버에서 지원되는 shell의 종류가 들어있습니다.
2. FHS(Filesystem Hierarchy Standard)
대부분의 리눅스는 FHS(Filesystem Hierarchy Standard) 표준 파일 시스템 계층을 사용하고 같은 목적의 파일들은 같은 장소에 일관되게 모아 관리하므로 시스템에 자원이나 프로그램들을 쉽게 찾을 수 있다.directory description / 루트 디렉토리. "cd /" 명령으로 루트 디렉토리로 갈 수 있다. /home 사용자 디렉토리가 이 곳에 위치한다. 만일 설치할 소프트웨어가 있다면, 시스템의 상태나 프로시저에 영향을 줄 걱정 없이 소프트웨어를 이 곳에 안전하게 설치할 수 있다. /etc 시스템 전체에 영향을 끼칠 수 있는 모든 설정 파일이 이 곳에 있다. 여기서 설정되는 환경은 특정 사용자에게만 영향을 주는 것이 아니라 모두에게 적용된다. /bin 디렉토리 이름이 말해주듯이, 시스템의 바이너리(Binary;이진) 파일들이 여기에 저장된다. 쉘(Shell)과 명령어가 포함되며 이들 바이너리 파일들은 모두 실행 가능하다. /tmp 시스템의 임시 디렉토리이다. 이 디렉토리는 임시 저장을 위해 사용된다. /usr 시스템에 영향을 주지 않는 다른 모든 프로그램들, 사용자가 필요로 하는 소프트웨어 도구들이 여기에 저장된다. /usr/bin같은 이 디렉토리의 서브 디렉토리들은 루트 디렉토리의 같은 이름을 지닌 서브 디렉토리들과 비슷한 기능을 한다. /var 메일, 에러 메시지, 시스템 로그 같은 모든 변수(variable) 파일이 이 디렉토리에 위치한다. /boot 컴퓨터(또는 리눅스)의 부팅과 관련된 파일들이 이 곳에 위치한다. 2. 하드웨어 장치(device)의 연결
리눅스나 유닉스(Unix)에서는 하드웨어 장치와 파일 시스템의 관계가 DOS나 윈도우와 다르다. 하드웨어 장치는 여러 개의 파일 시스템들을 갖고 있을 수 있고, 리눅스에서 마운트 포인트(mount point)를 통해서 이러한 파일 시스템들에 접근할 수 있다.개별적인 하드웨어 장치에 자체의 디렉토리를 할당해서 그 곳에 장착(mount;이런 장착을 위한 리눅스 명령어가 mount이다 - 역자주)한다는 아이디어다. 예를 들면, 리눅스에서 플로피 장치를 사용하기 위해 /floppy라는 디렉토리에 마운트해야만 한다. 이렇게 되면 플로피 장치 안에 있는 파일 시스템은 의도한 대로 리눅스 파일 시스템의 일부가 된다.
하드웨어 장치를 마운트할 때, 디바이스를 마운트 포인트에 할당하기 위해 장치 자체의 이름이 필요하다. 일단 마운트된 다음에는, 사용하고 있는 장치가 어떤 것인지 더 이상 걱정하지 않고 사용하면 된다.
아래에는 리눅스 하에서 하드웨어 장치 이름들의 예가 제시되어 있다. 여기에 있는 것들은 리눅스에서 하드웨어 장치의 이름을 짓는 것이 어떤 것인지 설명하기 위해 제시되었고, 또한 당신이 필요로 하게 될 정보에 대한 공통적인 예제를 주고 있다. 모든 하드웨어 장치들은 /dev를 통해서 이름 지워지고 장치의 타입에 따라 자세한 이름이 결정된다.
shell description /dev/hda 컴퓨터 primary IDE controller의 첫번째 장치를 가리킨다. 이 드라이브의 파티션을 구분하기 위해 숫자가 할당될 수 있다.
ex) /dev/hda2는 primary IDE 드라이브의 두 번째 파티션이다./dev/hdb2 위에 설명한 논리에 따라, secondary IDE 드라이브의 두 번째 파티션이다. /dev/fd0 플로피 드라이브 /dev/ttyS1 컴퓨터의 두 번째 시리얼 포트. DOS에서는 COM2로 불리운다. 여기서 보듯이, 하드 디스크, 플로피 드라이브뿐만 아니라 다른 많은 주변 장치들도 이런 방식으로 이름 지워진다.
/dev/hdc 컴퓨터 secondary IDE controller의 첫번째 디바이스. 이것은 보통CD-ROM 드라이브의 위치이다. /dev/sda SCSI controller의 첫번째 장치.
출처 : http://cafe.naver.com/computerkong.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=5
'└ O.S.' 카테고리의 다른 글
linux 기초 2 (directory description) (0) 2007.09.05 vsftp install (source version) (0) 2007.05.21 ssh 접속 포트 변경 (0) 2007.05.18