# 리눅스 명령어 , 커널 , 리눅스의 철학 , 특징


ls -A 는 . , .. 을 표시하지 않습니다.

ls -1 파일을 한행에 하나 씩 나타냅니다.




ls -i : 파일의 inode 값을 보여줍니다.

-- 커널(Kernel) --

-커널은 운영체제의 핵심으로 사람으로 비유하면 뇌에 해당하고, 시스템이 부팅될 때 로드됩니다.
-커널 주된 역할은 시스템의 하드웨어 제어로 메모리, CPU, 디스크, 단말기, 프린터 등의 시스템 자원 활용도를 높이기 위한 스케줄링, 실행중인 프로그램 관리, 자료관리 등을 수행합니다.
-리눅스 커널은 숫자로 표기하는 주번호(Major Number), 부번호(Minor Number), 패치레벌(Patch Level)로 구성되어있습니다.
-주번호는 커널에 매우 큰 변화가 생겼을 경우를 숫자가 증가하고, 부번호는 작은 기능상의 변화가 생기거나 추가된 경우를 나타내며 이것들을 한꺼번에 모아서 주번호를 올려서 발표되기도 합니다.
-부번호가 짝수인 커널은 안정버전을 뜻하고 홀수인 커널은 개발버전을 의미하기도 합니다.
-패치레벨은 버그가 수정되고 새로운 기능의 계획이 추가되면 커널의 패치 레벨이 증가합니다.

-- 리눅스의 철학 --
리눅스의 철학
-리눅스는 인터넷을 통해 연결된 전 세계 개발자 그룹들의 개발 노력으로 이루어집니다.
-리눅스 시스템을 통합적으로 책임지고 개발하는 어떠한 조직이나 기업체가 존재하지 않으면서 하나의 잘 짜여진 틀에 의해 관리되는 조직 못지 않게 유지되고 있습니다.
-일명 리눅스 공동체는 리눅스와 관련된 다양한 소프트웨어의 개발을 위해서 다양한 메일링 리스트, 유즈넷 뉴스그룹 등을 통해 대화하고 발전시킵니다.
-리눅스 커널은 첫 개발자인 리누스 토발즈의 주도하에 개발이 진행되는데, 특정 개발자들이 개발한 소스를 메일로 보내면 토발즈가 이 소스를 테스트하여 유용하다고 판단되면 커널에 포함시키는 동시에 공식 버전을 만들어 배포합니다.
-리눅스 커널 이외에 많은 자유 소프트웨어와 공개 소프트웨어들도 최초 개발자가 중심이 되어 수많은 개발자들의 참여하에 개발이 이루어집니다.
-이런 개별 소프트웨어들은 그 소프트웨어를 기반으로 파생되어 다른 소프트웨어로 발전하기도 하고, 이렇게 리눅스와 관련된 개발은 수많은 변수를 가지고 있으면 자유롭게 이루어지고 있습니다.
GNU
-GNU란 재귀적 약어로 GNU's Not Unix 즉 "GNU는 유닉스가 아니다."라는 뜻
-유닉스와 호환이 되면서 더 강력한 운영체제를 만들고자 1983년 시작된 프로젝트(http://www.gnu.org)입니다.
-리처드 스톨먼(Richard Matthew Stallman)을 주축으로 자유로운 소프트웨어를 희망하던 공동체들이 가장 먼저 운영체제인 유닉스를 모태로 개발을 시작하면서 이 말이 탄생되었습니다.
-GNU는 유닉스와 호환이 되도록 만들어진 운영체제이기는 하지만 유닉스와는 다른 운영체제라는 의미를 내포시키기 위해서 만든 이름이라고 할 수 있습니다.
-프로젝트로 초기에는 이렇게 자유로운 유닉스를 만드는 데 목적이 있었으나 리눅스가 등장하면서 응용 프로그램을 많이 만들었습니다.
-관련 응용프로그램: GNU C 컴파일러인 gcc, 문서편집기인 emacs, X 윈도 데스크톱 환경인 GNOME, tar를 개조한 GNU tar, 셸(Shell)인 bash 등
-GNU 프로젝트는 소프트웨어의 상업화에 반대해 소프트웨어를 자유롭게 사용하도록 하는데 목적이 있습니다.
FSF(Free Software Foundation)와 자유소프트웨어
-자유 소프트웨어 재단(Free Software Foundation, FSF)는 1985년 자유 소프트웨어의 생산, 보급, 발전시키기 위해 리처드 스톨만이 세운 비영리 조직입니다(www.fsf.org).
-자유 소프트웨어라는 용어는 무료나 공짜 프로그램을 의미하는 것은 아닙니다
-자유(Free)는 '구속되지 않는다'는 관점에서의 자유로 프로그램의 변경이나 수정의 자유를 말합니다.
카피레프트(Copyleft)와 GNU GPL(General Public License)
-카피레프트(Copyleft)는 저작권을 뜻하는 Copyright의 반대를 뜻하는 의미에서 사용하였습니다.
-카피레프트는 저작권법을 근간으로 하지만 저작권법이 갖고 있는 주된 목적을 반대로 이용해서 소프트웨어를 개인의 소유로 사유화시키는 대신 자유로운 상태로 유지시키는 수단으로 삼는 것입니다.
-카피레프트는 프로그램을 실행하고 복제할 수 있는 권리와 함께 개작된 프로그램에 대한 배포상의 제한조건을 별도로 설정하지 않는 한, 개작과 배포에 대한 권리 또한 모든 사람에게 허용하는 것입니다.
-GNU GPL(General Public License)은 GNU 소프트웨어에서 카피레프트를 실제로 구현한 라이선스를 뜻합니다.
-GNU 정신에 입각하여 자유 소프트웨어를 보호하며 실제적으로 카피레프트를 담보할 수 있는 법률적 허가권이라고 할 수 있습니다.
주요 라이선스(License)
(1) GPL(General Public License)
-FSF의 창시자인 리처드 스톨먼은 다섯 가지의 의무를 저작권의 한 부분을 강제합니다.
① 컴퓨터 프로그램은 어떠한 목적으로든지 사용할 수 있다. 다만 법으로 제한하는 행위는 할 수 없다.
② 컴퓨터 프로그램의 실행 복사본은 언제나 프로그램의 소스 코드와 함께 판매하거나 소스 코드를 무료로 배포해야 한다.
③ 컴퓨터 프로그램의 소스 코드를 용도에 따라 변경할 수 있다.
④ 변경된 컴퓨터 프로그램 역시 프로그램의 소스 코드를 반드시 공개 배포해야 한다.
⑤ 변경된 컴퓨터프로그램 역시 반드시 동일한 라이선스인 GPL 라이선스를 적용해야 한다.
(2) LGPL(Library/Lesser General Public License)
-1991년 6월, FSF의 리처드 스톨먼은 GPL 라이선스의 강력한 카피레프트 조건과 단순한 사용 허가를 위한 절충안으로 소프트웨어 라이브러리에 관한 라이선스인 LGPL(Library General Public License)를 발표하였습니다.
-LGPL은 독립적인 프로그램에도 사용되나, 대부분 소프트웨어 라이브러리에 주로 쓰입니다
-LGPL이 기존의 GPL과 다른점은 GPL이 적용된 라이브러리는 자유 소프트웨어를 만들때에만 사용해야 하나, LGPL이 적용된 라이브러리는 자유 소프트웨어뿐만 아니라 독점 소프트웨어에서도 사용가능하다는 점입니다.
-LGPL 라이브러리의 소스 코드를 수정했을 경우에는 2차적 파생물 저작물에 해당하므로 라이브러리의 소스 코드를 반드시 제공해야 합니다.
-LGPL를 사용해서 개발한 뒤에 GPL 라이선스로 변경은 가능하나, GPL를 임의로 LGPL로 변경할 수는 없다.
-1999년, 리처드 스톨먼은 기존의 LGPL이 보완된 LGPL 2.1 버전을 발표하였고, 명칭도 LPGL(Lesser General Public License)로 변경하였다.
-- 리눅스의 특징 --
-실시간 페이지 적재 기능 (Demand Loading Excutables)
-CPU 최적화
-뛰어난 네트워킹
-가상콘솔
-POSIX의 완벽한 호환
-트리(Tree)형태의 계층적 구조의 파일 시스템
-효율적인 가상메모리
-동적 공유 라이브러리 제공
-완벽한 다중 사용자, 다중 작업 시스템
-다중 플랫폼
-최신 웹서비스 제공
'Linux' 카테고리의 다른 글
| Linux_06Day (0) | 2019.05.17 |
|---|---|
| Linux_05Day (0) | 2019.05.16 |
| Linux_04Day (0) | 2019.05.15 |
| Linux_02Day (0) | 2019.05.13 |
| Linux_01Day (0) | 2019.05.10 |