DataEngeneering/Linux 5

[Linux] 프로세스, 네트워크(SSH)

리눅스 시스템에서 메모리에 적재되어 실행되고 있는 모든 프로그램이 프로세스이다. 프로세스 1. 모든 프로그램은 실행될 때 하나 이상의 프로세스를 갖는다. 2. 병행적으로 실행이 가능하다. 3. 부모, 자식 프로세스가 있게 된다. 4. 커널에 의해 관리된다. 5. 모든 프로세스에는 소유자가 있다. 6. 프로세스마다 식별을 위한 ID가 부여된다. 프로세스의 번호 모든 프로세스는 고유한 번호(PID)를 가지고 있다. PID 1번은 init 프로세스, 2번은 kthreadd 프로세스가 실행한다. init 프로세스는 나머지 모든 시스템 프로세스의 부모 프로세스이다. thread 프로세스는 모든 스레드의 부모 프로세스이다. 프로세스의 메모리 구성 SSH SSH란, Secure Shell의 줄임말로 네트워크를 통해 ..

[Linux] Linux pipe, 마운트

Linux Piping은 둘 이상 명령어를 묶어 출력의 결과를 다른 명령으로 전환 할 수 있는 기능을 말한다. 명령어의 표준 출력을 또 다른 명령어의 표준 입력으로 연결가능 한 것이다. | 기호를 사용하여 명령어와 명령어를 연결한다. redirection 등의 기능과 함께 사용하면, 더욱 다양하고 효율적인 작업이 가능 하다. mount 마운트란, 물리적인 저장장치(보조기억장치)를 디렉토리(또는 폴더)에 연결시켜주는 것을 말한다. 윈도우에서는 하드, USB등의 보조기억장치를 연결하면 자동으로 폴더(디렉토리)에 연결 된다. 이것을 PnP(Plug and Play)라고 하는데, 이것이 바로 mount인 것이다. 리눅스의 경우는 PnP기능이 작동하지 않아 직접 연결해줘야 한다. 즉, 보조기억장치를 설치했을시 m..

[Linux] 정규 표현식

정규 표현식 (Reqular expression)은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 일종의 형식이다. 문법 특정 문자들은 특정한 논리적 관계를 나타내는 기호로, 이를 제외한 나머지는 일반적인 문자를 뜻한다. 메타문자 의미 메타문자 의미 ^ 문자열의 시작 \d 숫자 $ 문자열의 끝 \D 숫자가 아닌 것 . 하나의 문자와 대응 \w 알파벳 대소문자, 숫자, 언더스코어 \s 공백문자 \W \w에 해당하지 않는 글자 \S 공백문자가 아닌 것 \n 개행문자 \ 메타문자를 문자 그대로 사용 \t 탭(tab)문자 선택 패턴 1. |문자를 이용하면 A | B 의 패턴으로 매칭 가능 alice | elice 예를 들어 라는 정규 표현식은 “alice”와 “elice”라는 문자열을 모두 포함한다...

[Linux]리눅스 파일 시스템

파일 시스템이란, 1. 저장 장치 내에서 데이터를 읽고 쓰기 위해 미리 정한 약속 2. 파일 저장 및 검색을 할 수 있도록 관리하는 방법 3. 파일을 어떻게 관리할 것인가에 대한 정책 리눅스 파일 시스템은 크게 Directory와 Files로 이루어져있다. 리눅스의 파일시스템은 루트 파일 아래에 계층적으로 모든 파일과 디렉토리가 만들어진다. 디렉토리란, 파일과 다른 디렉토리들을 분류하기 위해 붙이는 이름 공간으로, 파일과 하위 디렉토리들을 그룹으로 묶은 개념이다. 반대로 파일은, 주기억장치나 디스크처럼 물리적인 하드웨어를 뜻한다. 저장 공간에 저장되는 데이터의 집합이다. 리눅스 파일 시스템의 디렉토리 구조는 트리(tree) 구조이다. shell 에서 tree명령문을 통해 확인 할 수 있다. ls -al ..

[Linux]리눅스 이해하기

리눅스는 리누스 토발즈에 의해 만들어진 컴퓨터 운영체제 이다. 자유 소프트웨어와 오픈 소스 개발의 가장 유명한 표본이다. GNU 프로젝트란 Gnu is not Unix의 줄임말 유닉스 운영체제를 여러 회사에서 각자 개발하며 소스 코드를 공유하지 않는 문화에 대한 반발로 생겼다. 리눅스의 직관적인 구조는 다음과 같다. 하드웨어 : 하드웨어는 말그대로 CPU, MEM, DISK 구조를 가진 컴퓨터를 말한다 kernel : 컴퓨터 과학에서 커널(kernel)은 컴퓨터 운영체제의 핵심이 되는 컴퓨터 프로그램으로, 시스템의 모든 것을 완전히 통제한다 shell : 커널과 사용자 사이의 소통할 수 있는 다리 역할을 한다. 리눅스의 특징은 다음과 같다. 1.유닉스 기반2.멀티 유저와 멀티태스킹 지원3.CLI 및 GU..