리눅스와 셸 기초
임베디드 리눅스 보드를 다루려면 파일 시스템, 권한, 프로세스, 셸 스크립트가 손에 익어야 합니다. 자주 쓰는 명령 정리.
파일 시스템
| 경로 | 내용 |
|---|---|
| /bin, /usr/bin | 실행 파일 |
| /etc | 설정 파일 |
| /dev | 장치 파일 (ttyS0, i2c-1, spidev0.0) |
| /sys | 커널 객체 (GPIO, LED, 드라이버 속성) |
| /proc | 프로세스, 시스템 정보 |
| /var/log | 로그 |
리눅스에서는 장치도 파일입니다. 시리얼 포트는 /dev/ttyS0를 열고 읽고 쓰면 됩니다.
자주 쓰는 명령
ls -l, cd, cp, mv, rm, cat, less # 파일
grep, find # 찾기
ps, top, kill # 프로세스
dmesg # 커널 메시지 (드라이버 로그)
chmod, chown # 권한
ip addr, ping, ssh, scp # 네트워크
권한
-rwxr-x---는 소유자/그룹/기타의 읽기·쓰기·실행 권한입니다. /dev/i2c-1을 일반 사용자가 열 수 없으면 그룹에 사용자를 추가하거나 udev 규칙을 씁니다.
셸 스크립트
부팅 후 설정, 로그 수집, 테스트 반복을 자동화합니다.
#!/bin/sh
for i in $(seq 1 100); do
cat /sys/class/thermal/thermal_zone0/temp >> temp.log
sleep 1
done
MCU 개발자에게 낯선 부분은 "여러 프로그램이 동시에 돌고 운영체제가 자원을 관리한다"는 점입니다. 하드웨어는 커널 드라이버를 통해서만 만집니다.