뚝딱햄 탈출기

[CS][Linux] 리눅스 다루기 : 파이프, 프로세스, 마운트 본문

CS + OS

[CS][Linux] 리눅스 다루기 : 파이프, 프로세스, 마운트

hyrmzz1 2023. 7. 26. 12:29
EliceAcademy - <실전 압축 컴퓨터 개론> 02. 운영체제, 03. 리눅스 다루기 강의 내용 정리

1. 리눅스의 특징

  • 오픈소스. 코드 무료 공개. 코드에 대한 접근이 자유롭고, 누구나 코드를 사용, 수정, 배포할 수 있음.
  • 따라서 리눅스 기반으로 배포된 운영체제 多
  • 안정적인 운영체제이기 때문에 개발 서버로 많이 사용됨.
  • 클라우드 컴퓨팅 환경에서 많이 사용.
    • 클라우드 컴퓨팅이란 데이터를 저장 및 처리하는데 필요한 컴퓨팅 리소스를 실제 컴퓨터가 아닌 인터넷을 통해 제공하는 것. 
  • 많은 개발자 도구와 환경 제공.

2. 리눅스 환경설정

2-1. 사용자 인터페이스 (UI)

CLI

명령과 출력이 텍스트 형태로 이루어지는 인터페이스.
터미널(-> 텍스트 기반)에서 명령어를 사용해 컴퓨터 시스템과 상호작용하는 방식.
GUI보다 다루기 까다로우나 더 세부적으로 제어 가능하며 효율적임.

GUI

입출력 등의 기능을 아이콘과 같은 그래픽으로 나타내 사용자가 편리하게 사용할 수 있도록 하는 인터페이스.
아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 그래픽 환경의 인터페이스.

NUI

사용자의 말이나 행동으로 기기를 조작하는 인터페이스

2-2. 리눅스 제공 UI

리눅스는 CLI, GUI 제공.
그러나 기본적으로 CLI 통해 작업 수행.
CLI는 텍스트 기반이므로 GUI처럼 화면에 아이콘 등을 띄우지 않음 → 리소스 아낄 수 있으며, 안정적이고 빠름.

3. 리눅스 기본 명령어

2023.05.09 - [git & github/Do it! 깃&깃허브 입문] - [Git][Linux] 리눅스 기본 명령어

 

[Git] 리눅스 기본 명령어

경로(Path)와 디렉토리(Directory) 디렉토리는 목적지, 경로는 목적지까지 찾아가는 길이다. 폴더를 디렉토리라 하고, 폴더 뿐 아니라 파일로 향하는 길을 경로라 한다. 절대 경로와 상대 경로 절대

hyrmzz1.tistory.com

4. 리다이렉션

2023.07.26 - [CS] - [CS][Linux] 리다이렉션

 

[CS][Linux] 리다이렉션

EliceAcademy - 03. 리눅스 다루기 강의 내용 정리 리다이렉션 1. 표준 스트림 컴퓨터 프로그램과 그 외부에 연결된 입출력 통로. 외부 입력 → 키보드로 입력받은 값, 외부 출력 → 터미널에서 출력되

hyrmzz1.tistory.com

5. 문서 편집기

2023.05.03 - [git & github/생활코딩 GITn] - [Git][Linux] 문서 편집기 vi, vim 명령어

 

[Git][Linux] 문서 편집기 vi, vim 명령어

Vi, Vim vim test.txt// 현재 디렉토리에 test.txt 파일 생성됨. // vi [이름] 도 같은 역할. 리눅스의 기본 편집기. 키보드만으로 파일을 편집할 수 있는 터미널 기반 에디터. 명령 모드(ex 모드)와 입력 모

hyrmzz1.tistory.com

6. 파이프

6-1. 파이프 (|)

한 프로세스의 출력을 다른 프로세스의 입력으로 연결함으로써, 두 개 이상의 명령어를 조합해 복잡한 작업을 수행할 수 있음.

vertical bar(|) 기호를 이용해 두 명령어를 연결.

example

  • ls | grep test
    • 파일 및 디렉터리 목록에서 (→ ls) 특정 문자를 포함한 파일과 디렉터리를 찾음. (→ grep [문자] [파일]. grep 명령어는 파일에서 원하는 문자 검색)
  • ls | grep .txt
    • 파일 및 디렉터리 목록에서 (→ ls) ".txt" 가 포함된 목록을 출력함. (→ grep [문자] [파일])
  • sort animal.txt | grep a
    • 정렬된 텍스트에서(→ sort. 텍스트로 된 파일 내용 정렬) 특정 문자 찾을 수 있음. (→ grep [문자] [파일])

6-2.

&&

  • 명령어를 순차적으로 실행.
  • 파이프처럼 입력과 출력을 서로 연결해주지 않음.
  • 앞의 명령어가 실패하면 뒤의 명령어 실행 X

;

  • 명령어를 순차적으로 실행.
  • 앞의 명령어가 성공적으로 실행되지 않아도 뒤의 것이 실행됨.

&

  • 프로세스를 백그라운드에서 실행.
    • 백그라운드란 사용자의 입력과 출력으로부터 독립적으로 실행되는 경우를 말함.
  • 'sleep [sec]' 은 입력된 시간(s) 동안 프로그램을 멈추는 명령어.
    'sleep 10 &' 은 sleep을 백그라운드로 실행하는 명령어. 10초가 지나기 전 입력된 명령어 실행됨.
  • '2 > &1' 은 표준 에러를 표준 출력으로 재지정한다는 의미.
    이 때 사용된 '&1'는 표준 출력 스트림을 재지정한다는 의미로 실행된 것. 백그라운드 실행 X 

7. 프로세스

7-1. 프로세스란?

2023.07.25 - [CS] - [CS] 운영체제 : 프로세스, 스레드, 커널, 셸 2-2. 프로세스 참고

 

[CS] 운영체제 : 프로세스, 스레드, 커널, 셸

EliceAcademy - 02. 운영체제 강의 내용 정리 1. 운영체제(OS, Operating System) 운영체제는 시스템 소프트웨어에 속함. 1-1. 소프트웨어 응용 소프트웨어 특정 작업을 수행하기 위해 설치하는 소프트웨어. e

hyrmzz1.tistory.com

7-2. 프로세스 명령어

명령어 설명
ps 현재 실행 중인 프로세스의 정보 출력.
ps aux 모든 프로세스의 세부 정보 출력.
kill -9 [PID] 해당 프로세스 강제 종료
PID는 프로세스 아이디
Ctrl + C 프로세스 종료
Ctrl + Z 프로세스 정지.
'fg % 1' 을 입력해 다시 실행 가능. 1이 있는 자리의 숫자는 순서대로 부여되며(2, 3, ...), 정지 상태의 프로세스가 없다면 1 부여됨.

8. 마운트

파일 시스템의 일부를 다른 디렉터리에 연결하는 것.

다른 매체의 파일 시스템 사용할 때 마운트를 사용함으로써 파일 공유 가능해짐.

mount [디바이스] [디렉터리]

 

HDD가 OS에 마운트 되어있으므로

윈도우나 맥에 USB 연결하면 usb에 접근할 수 있도록 폴더가 생성되어서 파일이나 디렉터리 사용 가능.

 

명령어 설명
mount 현재 시스템에 마운트 된 정보 출력
df 디스크의 용량 출력 (전체 용량, 사용 중 용량, 가용 용량)
-h 옵션 붙이면 디스크 용량에 단위 붙어서 출력됨.
du 디렉터리 내의 파일 및 디렉터리 용량 출력.
-h 옵션 사용 
가능. (단위)
특정 파일의 용량만 출력하고 싶다면 'du [이름]' 으로 입력
ln -s [원본 이름] [링크 이름] 심볼릭 링크.
원본 파일이나 디렉터리를 참조하는 링크 연결해 둔 것.
원본을 디렉터리에 연결.

 

Comments