반도체 엔지니어 Linux, 터미널 명령과 스크립트 첫걸음
공구함이 잘 정리되어 있으면 눈을 감고도 필요한 드라이버를 꺼낼 수 있습니다. 어디에 무엇이 있는지 규칙이 있기 때문이죠.
터미널도 같은 원리로 움직입니다. 반도체 엔지니어 Linux 학습의 출발점은 폴더라는 서랍 구조를 이해하고, 몇 가지 기본 명령으로 꺼내고 옮기고 찾는 감각을 익히는 것입니다.
이 글은 특정 배포판이나 도구 버전이 아니라, 현업에서 자주 쓰이는 기본 명령과 스크립트의 사고방식을 정리합니다. 명령의 세부 옵션은 사용하는 환경에 따라 다를 수 있으니 막힐 때는 설명서를 함께 확인하세요.
반도체 엔지니어 Linux 학습이 필요한 이유, 서버 앞에서 일하는 직무들
회로 설계 도구와 시뮬레이션, 대량의 공정 데이터 처리는 원격 서버나 고성능 워크스테이션에서 돌리는 경우가 많습니다. 이런 환경은 Linux 기반인 곳이 많아서, 그래픽 화면 대신 터미널에 글자로 명령을 입력해 일하게 됩니다.
테스트 장비와 공정 장비가 남기는 로그 파일은 수가 많고 크기도 큽니다. 마우스로 하나씩 열어 볼 수 없으니 필요한 부분만 찾아내는 명령이 일의 속도를 정합니다.
또 하나의 이유는 반복입니다. 같은 작업을 열 번 하게 된다면 열 번 클릭하는 대신 한 번 적어 두고 다시 돌리는 편이 정확하고 빠릅니다.
파일 시스템 구조, 서랍과 주소 이해하기
Linux의 파일은 하나의 뿌리에서 갈라져 나가는 나무 모양으로 정리됩니다. 가장 위의 뿌리는 /로 쓰고, 그 아래에 디렉터리(폴더)가 서랍처럼 들어 있습니다.
파일의 위치를 적는 방식에는 두 가지가 있습니다. 뿌리부터 전부 적는 절대 경로(Absolute Path)와 지금 있는 위치를 기준으로 적는 상대 경로(Relative Path)입니다.
예를 들어 /home/user/results/run01은 절대 경로이고, 지금 위치가 /home/user라면 results/run01이 같은 곳을 가리키는 상대 경로입니다. 점 하나(.)는 현재 위치, 점 두 개(..)는 한 단계 위를 뜻하며, 이름의 대소문자를 구분한다는 점도 기억해 두세요.
처음 익힐 기본 명령, 꺼내고 옮기고 들여다보기
처음에는 아래 정도만 손에 익혀도 업무의 큰 부분을 해결할 수 있습니다. 아래 파일 이름은 모두 가상의 예시입니다.
기본 명령 예 (가상 파일 이름)pwd
ls -l
cd results
mkdir -p run01/logs
cp netlist.sp run01/
mv old.log archive/
head -n 20 sim.log
tail -n 20 sim.log
pwd는 지금 있는 위치를 보여 주고, ls -l은 현재 위치의 파일을 크기와 수정 시각, 권한과 함께 길게 나열합니다. cd results는 results 디렉터리로 들어갑니다.
mkdir -p run01/logs는 필요한 상위 디렉터리까지 한 번에 만들고, cp와 mv는 각각 복사와 이동을 합니다. head -n 20은 파일의 앞 20줄, tail -n 20은 뒤 20줄을 보여 주므로, 큰 로그를 열지 않고도 시작과 끝의 상태를 확인할 수 있습니다.
로그에서 필요한 줄만 찾기, grep과 파이프
로그 분석의 기본 도구는 글자 패턴이 들어 있는 줄만 골라 주는 grep입니다. 여기에 한 명령의 출력을 다른 명령의 입력으로 넘기는 파이프(|)와, 출력을 파일에 저장하는 리다이렉션(>)을 더하면 작은 분석 도구가 만들어집니다.
로그 검색 명령 예grep -n “error” sim.log
grep -ci “warning” sim.log
grep -l “ERROR” *.log
grep “FAIL” test.log > fail_list.txt
ls *.log | wc -l
find . -name “*.log”
tail -f sim.log
첫 줄은 error가 들어 있는 줄을 줄 번호와 함께 보여 주고, 둘째 줄은 대소문자를 구분하지 않고 warning이 들어 있는 줄의 수를 셉니다. 셋째 줄은 ERROR가 하나라도 있는 로그 파일의 이름만 나열합니다.
네 번째 줄은 FAIL이 있는 줄을 fail_list.txt에 저장하며, 이미 있는 파일이라면 내용을 덮어씁니다. 다섯 번째 줄의 wc -l은 줄 수를 세므로, 로그 파일이 몇 개인지 알려 줍니다.
find는 이름 조건에 맞는 파일을 하위 디렉터리까지 찾고, tail -f는 로그의 끝을 계속 따라가며 새 줄을 보여 줍니다. 돌아가는 시뮬레이션을 지켜볼 때 쓰며, Ctrl+C로 빠져나옵니다.
반복 작업을 스크립트로, 쉘 스크립트의 기본 틀
반도체 엔지니어 Linux 실무에서 가장 큰 효과를 내는 것은 반복 작업의 자동화입니다. 터미널에서 입력하던 명령을 파일에 순서대로 적어 두면 그것이 쉘 스크립트입니다.
쉘 스크립트 예, 로그마다 ERROR 줄 수 세기 (count_errors.sh)#!/bin/bash
# count ERROR lines in each log
for f in case_*.log; do
echo “$f: $(grep -c “ERROR” “$f”)”
done
첫 줄의 #!/bin/bash는 이 파일을 어떤 쉘로 실행할지 알려 주는 약속입니다. for 줄은 case_로 시작하는 모든 로그 파일을 하나씩 변수 f에 넣어 가며 반복하라는 뜻입니다.
echo 줄에서 $(…)는 괄호 안 명령의 출력을 문자열로 가져오며, “$f”처럼 따옴표로 감싸 두면 파일 이름에 공백이 있어도 하나로 다뤄집니다. 저장한 뒤 chmod +x count_errors.sh로 실행 권한을 주고 ./count_errors.sh로 실행합니다.
스크립트를 짜는 요령은 처음부터 완성형을 쓰지 않는 것입니다. 파일 하나에 명령을 손으로 먼저 돌려 보고, 결과가 맞으면 반복문으로 감싸 옮기는 순서가 실수를 줄입니다.
실수를 줄이는 습관과 흔한 오해
첫째는 명령어를 전부 외워야 한다는 오해입니다. 자주 쓰는 명령은 반복하면 외워지고, 나머지는 –help 옵션이나 설명서, 방향키로 불러오는 명령 기록과 Tab 자동 완성으로 충분히 해결됩니다.
둘째는 지운 파일은 휴지통에서 되살릴 수 있다는 기대입니다. 터미널의 rm은 보통 되돌리기가 어려우므로, 지우기 전에 같은 조건으로 ls를 먼저 실행해 대상이 맞는지 확인하는 습관이 필요합니다.
셋째는 스크립트는 개발자만 쓰는 도구라는 생각입니다. 같은 작업을 세 번쯤 반복하게 되었다면 이미 스크립트로 만들 후보입니다.
공유 서버에서는 무거운 작업의 실행 방식에 팀의 규칙이 있을 수 있습니다. 새로운 환경에서는 먼저 선배의 사용 방식을 확인하세요.
자주 쓰는 명령 비교 표
| 구분 | 하는 일 | 자주 쓰는 형태 | 주의할 점 |
|---|---|---|---|
| ls | 파일 목록 보기 | ls -l | 숨김 파일은 ls -a로 확인 |
| cd | 디렉터리 이동 | cd results | 경로 오타에 주의, 대소문자 구분 |
| cp, mv | 복사, 이동 및 이름 변경 | cp a.txt dir/ | 같은 이름이 있으면 덮어쓸 수 있음 |
| grep | 패턴이 있는 줄 찾기 | grep -n “error” sim.log | 기본은 대소문자 구분, -i로 무시 |
| rm | 파일 삭제 | rm old.log | 되돌리기 어려우니 대상을 먼저 확인 |
| chmod | 실행 권한 등 변경 | chmod +x run.sh | 필요한 권한만 부여 |
| 공통 원리 | 작게 시험하고 확인하기 | 하나에 먼저, 그다음 전체에 | 삭제와 덮어쓰기 전 점검 |
핵심 정리
반도체 엔지니어 Linux 기초는 파일 시스템의 구조를 이해하고, 이동과 복사와 검색 같은 기본 명령을 익힌 뒤, 반복되는 일을 스크립트로 묶는 순서로 쌓입니다. 하나의 파일에서 손으로 시험하고, 결과가 맞으면 반복문으로 넓히는 습관이 가장 큰 안전장치입니다.
정리된 공구함에서 필요한 공구를 바로 집어 들 듯, 터미널에서도 위치와 이름의 규칙을 알면 수백 개의 로그 속에서 원하는 줄을 금방 찾습니다. 외우기보다 구조를 이해하고 작은 것부터 반복해 보는 쪽이 오래 남습니다.
면접 대비 질문
면접 대비 질문수백 개의 로그 파일 중에서 오류가 난 파일만 빠르게 찾아야 한다면 Linux에서 어떻게 하시겠습니까?
[답변 포인트] 파일 하나에서 grep으로 오류 패턴이 잡히는지 먼저 확인한 뒤, grep -l로 오류가 있는 파일 이름만 모으거나 반복문 스크립트로 파일마다 오류 줄 수를 세어 결과 파일에 저장한다고 설명합니다. 와일드카드로 대상 파일을 지정하고, 리다이렉션으로 결과를 남겨 재사용한다고 말하면 좋습니다. 같은 작업이 반복될 때 스크립트로 만들어 팀이 함께 쓴다는 점과, 삭제나 덮어쓰기 전에 대상을 확인한다는 습관도 덧붙입니다.









