printf("ho_tari\n");
1일차 본문
2025.06.10
리눅스 운영
U : Router가 Up 인 상태임을 나타냄
G : 경로가 Gateway 임을 나타냄
H : 목적지가 호스트 주소임을 나타냄 D : 경로가 리디렉션에 의해 생성되었음을 나타냄 M : 경로가 리디렉션에 의해 수정되었음을 나타냄
리눅스 운영체제 구성과 커널
운영체제 (Operating System)
windows(← DOS에서부터 시작)
Microsoft u 초기에는 cooperative multitasking
Unix
AT&T Bell Labs
preemptive multitasking
Linux
저수준의 terminal emulator 개발을 위해서 시작 (Torvalds)
Unix와 호환되는 kernel을 만드는 것
GNU/Linux

리눅스 커널
하드웨어 장치 접속 / 연결 (네트워크 장치-어뎁터, 하드디스크, 문자 장치 등)
개별 프로그램에 메모리 할당
개별 프로그램에 CPU
할당 프로그램간 정보(데이터) 교환

리눅스 유틸리티 프로그램, 라이브러리와 어플리케이션
유틸리티 프로그램의 종류
계산기, 달력, 문서편집기, 디스크 관리 등
라이브러리
개발자가 아니더라도, 프로그램 실행시 반드시 필요한 서비스를 제공해주는 것 (libc)
어플리케이션 (생산성 프로그램)
Web 브라우저 워드 프로세서
리눅스 사용자 인터페이스
Text-mode User Interface (Command Lineinterface - CLI)
시스템은 단순히 텍스트 기반의 로그인 프롬프트만 출력
일반사용자 ($), 루트 사용자 (#) - 부팅 시 설치 프로그램마다 다름
텍스트 기반 문서 편집기 사용 (vi, nano)
Graphical User Interface (GUI)
X window 사용 (Xorg-X11)
GNOME (Desktop)
KDE
리눅스 파일시스템 표준 계층구조 (Filesystem Hierarchy Standard, FHS)
Root Filesystem Tree (rootfs)




Linux 배포판 (Linux Distributions)
리눅스(커널) 기반의 완전한 운영체제를 만든 것
리눅스 커널 Linux 핵심 툴 세트 (GNU Utilities, X window, disk 관리, 기타 운영에 필요한 기능들)
보조 프로그램 (Desktop 환경, 생산성 프로그램, 어플리케이션 등)
시동 스크립트 (Startup script) (네트워크 프로그램, 로그인 프로그램..)
설치 프로그램 (Installer)
Types of Linux Distributions

Pro Developers

Market Share

ubuntu 배포 주기

어떤 Linux 배포판을 선택할 것인가?
| 배포판 | 선택 기준 (제안) |
| RedHat Enterprise Linux (RHEL) | 기술지원 계약이 필요한 경우 |
| CentOS | 기술지원 계약 없이 기업용 RHEL을 사용하고 싶을 때 |
| Fedora | 랩탑이나 데스크탑에 RHEL 개발 환경을 설치하고자 할 때 |
| Linux Mint | 영화보기, 음악듣기, 게임 용으로 그래픽 환경에서의 개인적 데스크 탑을 원할 때 |
| Debian | 서버, 랩탑 또는 주로 디바이스에서 사용하고자 할 때 (RaspberryPi) |
| Ubuntu | Debian 기반의 Desktop 버전을 사용하고자 할 때 |
| Kali Linux | 한번의 클릭으로 해킹을 하기를 원할 때 |
| 기타 | 고급 사용자들은 Arch, Gentoo. OpenSUSE,,, 등을 사용할 수도 |
쉘과 파일시스템 기본 이해
쉘(shell)이란?
Shell은 사용자가 입력한 모든 명령어를 읽어서 해석한 후 운영체제에 전달하여 실행을 요청하는 응용 프로그램
쉘 스크립트에서는 명령어 해석기(Command Interpreter) 라고 함
터미널(키보드와 모니터)을 연결하고 터미널을 통하여 입출력을 제어
리눅스 시스템과 사용자를 연결하는 통로
리눅스 운영체제와 리눅스 사용자 간의 저수준 인터페이스
쉘(Shell)의 주요 기능
운영체제와 키보드 인터페이스로서의 기능
사용자 편의에 맞게 명령어를 만들고 변경 및 추가하는 기능
새 명령어 개발을 위한 컴퓨터 언어로서의 기능 - 쉘 스크립트
쉡의 종류
| 쉘(shell)의 종류 | 특징 | 프롬프트 |
| bash Bourne Again shell | Bourne again shell은 최초로 개발된 쉘인 Bourne shell의 변종임. 리눅스에서 가장 많이 사용되는 IEEE POSIX 호환이며 Borune shell과 호환되는 쉘로서 GNU 프로젝트에 의해 만들어지고 배포되고 있음. |
$ |
| sh Bourne shell | Bourne 쉘은 C쉘이나 Korn 쉘과 기능적인 면을 비교해 보면 미흡한 점이 있는데, 그 중 가장 큰 단점은 상호 대화형(Interactive) 방식을 취하고 있지 않다는 점임. Steven Bourne의 Bourne shell, sh |
$ |
| csh C-Program Style shell | 버클리 캘리포니아 대학에서 개발된 프로그래머들에게 적합한 shell임. 대화형 사용법에서는 Bourne shell과 대부분 호환되지만 전혀 다른 프로그래밍 인터페이스를 가지고 있음. Bill Joy의 C shell, csh C언어와 유사한 언어를 사용, 상호 대화형 방식으로 구성 |
% |
| ksh Korn shell | 일반적으로 유닉스에서 가장 많이 사용되고 있는 shell이며 Bourne shell에 처음으로 현대적인 shell 기능(C shell로부터 차용한 것임)을 도입한 shell임. Bourne shell과 호환됨. | $ |
| zsh | Korn shell과 매우 유사한 셸이지만 Korn shell보다 더 많고 유용한 기능 등을 추가하여 개선시킨 것임. | % |
파일 시스템 표준 계층 (FHS)
파일 시스템(file system)
컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체제
어플리케이션이 사용하는 파일과 미디어에 저장된 데이터 사이를 연결
파일 시스템 관리
저장된 데이터에 접근하는 것을 관리
데이터를 보관하고 접근하는 시간을 개선하기 위하여 파일시스템을 튜닝하고, 모니터링하며, 복구하는 기능
파일 시스템 탐험하기

현재 작업 디렉터리
pwd : Print current working directory
사용자가 처음 로그인을 하면 항상 사용자의 home 디렉토리가 기본 working directory가 됨
사용자의 기본 working directory는 사용자가 생성될 때 결정되며 /etc/passwd 파일에 해당 정보가 기록되어 있음

디렉토리 이동
Home Directory로 이동
cd , cd ~, pushd, popd

Parent Directory로 이동 : cd ..
이전 디렉토리로 이동 : cd -

절대 경로(absolute path)와 상대 경로(relative path)
절대경로 : "/"로 시작하는 경로 이름
상대경로 : "/"로 시작하지 않는 경로는 현재 위치(pwd)를 기준으로 동작함

Directory 목록 (내용) 보기 ls
Directory 내의 숨겨진 파일 보기 ls -a
Directory 내용 자세하게 보기 (파일의 퍼미션, 소유자, 생성 날짜, 크기 등 ) ls -l
Directory 내의 파일의 유형 정보 보기 ls -F
Directory 하위 디렉토리를 이동하며 반복적으로 디렉토리 내용 보기 (Recursive) ls -R
파일 내용 보기
cat /etc/hosts
파일의 내용을 터미널(표준출력 장치)에 출력함
페이지 단위로 파일 내용 보기 less /etc/passwd
more : 페이지 단위로 파일 내용 보기 more /etc/passwd
head : 파일의 시작에서부터 지정한 줄 수만큼 내용 보기 (초기 기본 설정값은 10줄)
tail : 파일의 끝에서부터 지정한 줄 수만큼 내용 보기 (초기 기본 설정값은 10줄)
'(Telechips) AI 시스템 반도체 SW 개발자 교육 > SoC 시스템 반도체를 위한 임베디드 리눅스' 카테고리의 다른 글
| 7일차 (0) | 2025.06.20 |
|---|---|
| 6일차 (0) | 2025.06.18 |
| 5일차 (0) | 2025.06.17 |
| 4일차 (0) | 2025.06.16 |
| 3일차 (0) | 2025.06.13 |