소개 | Linux는 서버 구축이든 클라이언트 개발이든 거의 모든 곳에 있으며, 풀 스택을 위해서는 운영 체제의 기본 기술이 필요합니다. |
Linux 배포판은 크게 두 가지로 나눌 수 있는데, 하나는 상업 기업이 관리하는 배포판이고, 다른 하나는 커뮤니티 조직이 관리하는 배포판으로, 전자는 유명한 Redhat(RHEL)으로 대표되고, 후자는 Debian으로 대표됩니다. .
Redhat은 RHEL, Fedora, CentOS(RHEL의 커뮤니티 클론 버전, 무료)를 포함하는 Redhat 시리즈라고 불러야 합니다. 엄밀히 말하면 Ubuntu는 독립적인 배포판으로 간주될 수 없습니다. Ubuntu는 Debian의 모든 장점과 향상된 장점을 모두 갖춘 거의 완벽한 Linux 데스크탑 시스템인 Debian을 기반으로 향상되었습니다. Ubuntu 커뮤니티는 무엇보다도 실용성과 혁신을 중요하게 생각합니다.
비교적 안정적인 서버 시스템만 필요하다면 CentOS를 선택하는 것이 가장 좋습니다. 설치가 완료된 후 간단한 구성만으로 매우 안정적인 서비스를 제공할 수 있습니다. 하지만 클라우드 환경에서는 unbantu가 좋을 수도 있습니다. Hadoop은 ubantu에서 처음 개발되었습니다.
건축건축을 이해하고 더 나은 방향 감각을 갖게 됩니다. Linux에는 커널과 사용자의 두 가지 모드가 있습니다. 커널, 셸 및 파일 시스템이 함께 기본 운영 체제 구조를 구성합니다. Linux 커널은 메모리 관리, 프로세스 관리, 장치 드라이버, 파일 시스템 및 네트워크 관리 등으로 구성됩니다.
Linux 커널을 이해하면 리소스를 최대한 활용하고 시스템을 튜닝할 때 목적의식을 가질 수 있습니다.
Linux는 메모리를 관리 가능한 "메모리 페이지"로 나누고 슬랩 할당자와 같은 4KB 버퍼에 대한 추상화를 제공합니다. 프로세스는 실제로 특정 애플리케이션을 실행하는 엔터티이며, 프로세스 스케줄링은 CPU에 대한 프로세스의 액세스를 제어합니다. Linux의 일반적인 프로세스 간 통신 메커니즘에는 신호, 파이프, 공유 메모리, 세마포어, 소켓 등이 포함됩니다. 커널은 SCI를 통해 새로운 프로세스 생성(fork, exec 또는 POSⅨ), 프로세스 중지(kill,exit), 프로세스 간 통신 및 동기화(신호 또는 POSⅨ 메커니즘)를 위한 API를 제공합니다.
Linux 운영 체제는 독립적인 파일 시스템을 계층적 트리 구조로 결합하며 단일 엔터티가 이 파일 시스템을 나타냅니다. Linux는 다양한 파일 시스템을 지원하고 이를 통합된 가상 파일 시스템으로 구성하므로 장치 드라이버는 운영 체제와의 상호 작용을 완료하기 위해 운영 체제가 이해할 수 있는 일련의 추상 인터페이스를 제공합니다. 작업은 장치 드라이버에 의해 수행됩니다. Linux 커널의 네트워크 부분은 BSD 소켓, 네트워크 프로토콜 계층 및 네트워크 장치 드라이버로 구성됩니다. 네트워크 장치 드라이버는 하드웨어 장치와의 통신을 담당하며 가능한 모든 하드웨어 장치에 해당하는 장치 드라이버가 있습니다.
리눅스 파일 시스템Linux 시스템은 현재 널리 사용되는 다양한 파일 시스템을 지원할 수 있으며 EXT4를 권장합니다.
Linux의 주요 파일 형식은 다음과 같습니다.
1) 일반 파일은 일반 텍스트와 바이너리로 구분됩니다.
2) 파일이 저장되는 디렉토리 파일.
3) 링크 파일, 동일한 파일이나 디렉토리를 가리키는 파일.
4) 디바이스 파일은 블록 디바이스와 캐릭터 디바이스로 구분됩니다.
5) 파이프 파일은 프로세스 간 통신을 제공합니다
6) 네트워크 통신과 관련된 소켓 파일
Linux는 표준 디렉토리 구조를 사용합니다. 설치 프로그램은 이미 사용자를 위한 파일 시스템과 완전하고 고정된 디렉토리 구성을 생성했으며 각 디렉토리의 역할과 파일 유형을 지정했습니다.
디렉토리 이름 | 간단한 설명 |
---|---|
/빈 | 바이너리 실행 가능 명령 |
/dev | 장치 특수 파일 |
/등 | 시스템 관리 및 구성 파일 |
/etc/rc.d | 시작 구성 파일 및 스크립트 |
/집 | 사용자 홈 디렉터리의 기준점 예를 들어, 사용자 abc의 홈 디렉터리는 /home/user이며 ~abc | 로 나타낼 수 있습니다.
/lib | 표준 프로그래밍 라이브러리 |
/sbin | 시스템 관리 명령, 시스템 관리자가 사용하는 관리 프로그램이 여기에 저장됩니다 |
/tmp | 공용 임시 파일 저장 지점 |
/루트 | 시스템 관리자의 홈 디렉터리 |
/mnt | 시스템은 사용자가 다른 파일 시스템을 임시로 마운트할 수 있도록 이 디렉터리를 제공합니다. |
/분실+발견 | 이 디렉터리는 일반적으로 비어 있습니다. 시스템이 비정상적으로 종료되고 "노숙자" 파일이 남습니다 |
/proc | 가상 디렉터리는 시스템 메모리의 매핑입니다. 이 디렉토리에 직접 액세스하여 시스템 정보를 얻을 수 있습니다. |
/var | 다양한 서비스의 로그 파일 등 일부 대용량 파일의 오버플로 영역 |
/usr | 가장 큰 디렉터리, 사용해야 하는 거의 모든 응용 프로그램 및 파일이 이 디렉터리에 있습니다. 포함된 내용: /usr/X11R6 X 윈도우가 저장된 디렉토리 /usr/bin 다양한 애플리케이션 /usr/sbin 슈퍼유저를 위한 관리 프로그램 /usr/doc 리눅스 문서 /usr/include Linux에서 애플리케이션을 개발하고 컴파일하는 데 필요한 헤더 파일 /usr/lib 일반적으로 사용되는 동적 링크 라이브러리 및 소프트웨어 패키지에 대한 구성 파일 /usr/man 도움말 문서 /usr/src 소스 코드, Linux 커널의 소스 코드는 /usr/src/linux 에 있습니다. /usr/local/bin 로컬로 추가된 명령 /usr/local/lib 로컬로 추가된 라이브러리 |
쉘은 시스템의 사용자 인터페이스로, 사용자가 커널과 상호 작용할 수 있는 인터페이스를 제공합니다. 사용자가 입력한 명령을 받아 실행을 위해 커널로 보냅니다. 쉘의 종류는 많지만 여기서는 BASH를 추천합니다. BASH는 GNU 운영 체제의 기본 셸인 GNU의 Bourne Again Shell입니다. 대부분의 Linux 배포 패키지는 이 셸을 사용합니다. Linux 셸 및 명령
Linux에는 많은 명령이 있습니다. 아래에 간단한 분류가 나와 있습니다.
일련의 작업을 완료하기 위해 셸에서 Linux 명령을 구성하는 것이 셸 프로그래밍입니다. Shell, Perl, Python은 Linux에서 가장 일반적으로 사용되는 스크립트 언어이지만 여전히 Python을 사용하는 것이 좋습니다.
표준 Linux 시스템에는 일반적으로 텍스트 편집기, 프로그래밍 언어, X Window, 인터넷 도구, 데이터베이스 등을 포함하는 애플리케이션이라는 프로그램 세트가 있습니다.
텍스트 편집의 경우 Emacs와 vim은 플러그인을 통해 IDE로 사용할 수도 있습니다. 개인적으로 VIM은 꼭 필요한 스킬이라고 생각합니다. vim에는 다음과 같이 요약된 많은 명령이 있습니다.
애플리케이션 관리와 관련하여 우분투는 apt 명령에 익숙해야 하고, Centos에는 yum 명령이 필요합니다. 물론, 소스코드 컴파일과 설치가 필요합니다. makefile을 작성하는 방법과 configure/autoconfig/make 사용법이 익숙해야 합니다.
위 내용은 Linux 기본 사항: 풀 스택 개발자의 필수품의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!