+ 한국항공대학교 최차봉 교수님의 임베디드 SW 과목 내용을 정리한 글입니다.
< 첫 번째 실습 - 백그라운드에 있는 프로그램 실행하기 >
vi test 를 실행하여 임의의 문서를 작성하라.
vi test
ZZ 로 저장하고 끝내야 하는데 ctrl + z를 잘못 눌렀다. 이때 입력한 모든 내용을 복구하고 정상적으로 종료하기 위해 해야할 작업은 무엇인가? 사용된 명령과 용어에 대해 설명하라.
bg 를 통해 Backgrouud에서 실행되고 있는 프로세스와 job번호를 확인한다.
bg
fg %[job번호] 를 통해 job번호에 해당하는 프로세스를 Frontground로 옮긴다.
fg %1
Esc를 누르고 ZZ로 저장하고 종료한다.
< 두 번째 실습 - 메모리 상태 파악하기>
free 명령을 실행하여 RAM과 Swap 메모리의 크기를 파악하라.
free
free 를 통해 메모리 크기를 파악한다. (단위: KB)
Mem: 메인 메모리
Swap: 메모리가 부족할 때 메모리처럼 사용할 수 있는 디스크 (가상 메모리)
total: 총 메모리 (used + free + buff/cache)
used: 현재 프로세스를 처리하기 위해 사용하고 있는 메모리
free: 남은 메모리
shared: 윈도우와 공유한 메모리
buff/cache: 디스크에서 읽어올 때 사용하는 메모리
available: 새로운 프로세스를 실행할 때 사용 가능한 메모리
< 세 번째 실습 - vi 편집 연습하기 >
sampletext.txt 파일을 pc에 다운로드하라.
Clipboard를 이용하여 리눅스 홈 디렉토리에 sampletext.txt를 작성하라.
- 메모장을 열어서 클립보드로 Copy
- 리눅스에서 vi sampletext.txt, insert mode 상태에서 PC Clipboard로 Paste
:w [파일 이름] 을 사용하여 sample2.tx와 sample3.txt를 생성하라.
:w sample2.txt
:w sample3.txt
sampletext.txt, sample2.txt, sample3.txt 를 복수 파일 편집하라.
vi sampletext.txt sample2.txt sample3.txt
:n 명령어를 통해 다음 파일로 이동할 수 있다.
:N 명령어를 통해 이전 파일로 이동할 수 있다.
+ vi편집기에서는 반드시 구분자 /를 사용해야한다.
:%s/[old]/[new] 명령을 사용하여 sample2.txt에서 "love"를 "LOVE"로 치환하라.
:%s/love/LOVE
/LOVE 명령어를 통해 'LOVE' 위치를 찾을 수 있다.
/LOVE
:%s/[old]/[new]/gc 명령을 사용하여 sample3.txt에서 "o"를 "O"로 치환하라.
:%s/o/O/gc
< 네 번째 실습 - 다양한 유형의 find 사용하기>
/usr 디렉토리 하위의 모든 디렉토리에서 .txt 확장자를 갖는 모든 파일을 검색하고 결과를 txtlist 파일에 저장하라. (Redirection > 이용)
find /usr -name "*.txt" > txtlist
/usr 디렉토리 하위의 모든 디렉토리에서 .txt 확장자를 갖는 모든 파일을 textlist 디렉토리에 복사하라. (-exec cp {} 이용)
mkdir textlist
find /usr -name "*.txt" -exec cp {} textlist \;
백업 디렉토리 backYYMMDD를 생성하라.
- BDIR=back$(date+format) 을 생성하고 mkdir에서 사용하라.
BDIR=back$(date +%y%m%d)
mkdir $BDIR
/ 디렉토리 하위의 모든 숨겨진 rc 파일을 위에서 만든 백업 디렉토리 backYYMMDD에 백업하라.
- 단, 파일명은 .으로 시작하고 rc로 끝난다.
- permission denied 오류에 대해서는 sudo 명령을 사용하라. (root 권한으로 명령)
sudo find / -name ".*rc" -exec cp {} $BDIR \;
ls -al 명령을 통해 확인하라
ls -al
< 다섯 번째 실습 - 정규표현식과 egrep 사용하기 >
sampletext.txt에서 다음 조건을 검색하여 [이름].txt에 저장하라. (Redirection 이용)
1. "love"를 포함한 라인
egrep "love" sampletext.txt > love.txt
2. "what"이나 "where"를 포함한 라인
egrep "wh(at|ere)" sampletext.txt > wh.text
3. 소문자로 시작하는 라인
egrep "^[a-z]" sampletext.txt > a-z.txt
4. ","로 끝나는 라인
egrep ",$" sampletext.txt > ,.txt
5. A ~ O 대문자를 포함하지 않는 라인
egrep -v "[A-O]" sampletext.txt > AO.txt
'Computer Science > Embedded Software' 카테고리의 다른 글
[Embedded Software] Embedded System 개발 (example) (1) | 2023.09.19 |
---|---|
[Embedded Software] Shell Script 실습 (0) | 2023.09.15 |
[Embedded Software] Shell Script (0) | 2023.09.13 |
[Embedded Software] Linux Basic Commands (0) | 2023.09.06 |
[Embedded Software] Linux Basic (0) | 2023.09.06 |