Oracle VM VirtualBox 사용 개발 환경: Ubuntu 20.04(64-bit) 1. 개발소스 설치 1) gcc, g++, gcc-multilib, g++-multilib 설치 'apt install' 명령을 이용하여 gcc, g++, gcc-multilib, g++-multilib 컴파일러 설치 한꺼번에 작성해도 설치 가능 root 계정이 아닐 경우 루트 계정으로 전환하거나 sudo를 앞에 적고 진행하거나 하면 된다. 4.4버전 설치 참고: https://takethat.tistory.com/23 2) u-boot-tools 설치 마찬가지로 'apt install u-boot-tools' 명령으로 설치 3) Smart4412Linux 폴더 생성 및 개발 CD 옮기기 개발 CD 이름 'dev..
2020-06-17 기준으로 작성되었으며, 블로그 글 작성을 위해 조금 수정되었습니다. 실습문제 12.1~12.3 (교재 398P) 풀이 1) 파일 상태 정보 (1) test.txt 파일을 만들어 이 파일에 대해 ls –sl 명령어를 사용하고 그 출력 결과를 설명하시오. vi test.txt로 테스트 텍스트 파일을 만들고, ls –sl으로 파일에 대한 정보를 확인한다. 순서대로 블록 수, 파일 타입, 접근 권한, 링크 수, 사용자ID, 그룹ID, 파일크기, 최종 수정시간, 파일 이름이다. (2) test.txt 파일에 대해 stat 명령어를 사용하고 그 출력 결과를 설명하시오. test.txt의 자세한 상태 정보를 출력한다. (3) test.txt 파일에 대해 ls –i 명령어를 이용하여 i-노드 번호를..
2020-06-14 기준으로 작성되었으며, 블로그 글 작성을 위해 조금 수정되었습니다. 실습문제 11.1~11.5 (교재 367P) 풀이 1) 문서 편집 gedit 혹은 vi 에디터를 사용하여 자기를 소개하는 글을 작성하시오. 작성한 파일(intro)에 대해서 다음 명령을 실행하시오. 우선 vi로 intro 파일을 만들었다. 이 파일에 대한 명령을 차례대로 실행해보면 1. cat intro cat으로 문서를 볼 수 있다. 2. cat –n intro cat에서 –n으로 옵션을 주면 번호순으로 문서를 볼 수 있다. 3. more intro more은 긴 파일일 경우에 한 페이지씩 볼 수 있게 해준다. 4. tail intro tail은 뒤에서부터 세서 출력한다. 5. tail –5 intro 그래서 –5를..
2020-06-06 기준으로 작성되었으며, 블로그 글 작성을 위해 조금 수정되었습니다. 실습문제 10.1~10.3 (교재 333~334P) 풀이 1) 다음과 같은 파일 명령어 메뉴 시스템을 Bash 스크립트로 작성해보자. 우선 vi practice1.bash로 bash를 하나 만든다. (1) 메뉴화면을 작성하고 출력한다. (2) 메인 메뉴에서 사용자가 “1”을 입력하면, 다음과 같은 화면이 나온다. 사용자가 디렉터리 이름을 입력하면 해당 디렉터리 내용을 다음과 같이 화면에 출력한다. 메인 메뉴 화면에서 read로 번호를 불러와 ‘num’에 저장한다. 그리고 if문에서 num에 따라 내용이 나오도록 출력한다. 그리고 리스트할 디렉터리를 입력하면 dirname에 저장하고 그 디렉터리의 내용을 ls –l로 출..
2020-06-06 기준으로 작성되었으며, 블로그 글 작성을 위해 조금 수정되었습니다. 예제 1) .bash_profile .bash_profile 실행 시 홈 디렉터리에 위치한 .bashrc를 실행한다. 그리고 사용자의 환경 변수를 설정한다. 예제 2) .bashrc .bashrc실행 시 /etc/bashrc파일이 있는지 확인하여 있으면 실행하고 4개의 별명(alias)을 정의한다. ~/.bash_profile 파일이 실행되면 .bashrc 파일과 /etc/bashrc 파일이 자동적으로 함께 실행된다. alias로 확인 결과 잘 적용된 것을 볼 수 있다. 예제 3) builtin.bash vi 에디터를 이용해 예제를 작성한다. 또한 캡처는 안했지만 chmod +x로 실행 권한도 부여한다. 실행 결과 $..
2020-05-16 기준으로 작성되었으며, 블로그 글 작성을 위해 조금 수정되었습니다. 실습 문제(교재 286쪽) 1. 파일압축 실습 내 홈 디렉터리에 아래에 있는 모든 파일들을 다른 호스트로 옮기기 위해 다음 순서대로 수행한다. (1) 홈 디렉터리 아래에 있는 모든 파일들을 tar 파일로 묶는다. tar –cvf를 이용해 teak(홈 디렉터리) 디렉터리를 ~.tar 파일로 만든다. (2) 이 tar 파일을 압축한다. gzip을 이용해 ~.tar.gz로 압축한다. (3) 압축 파일을 풀어 tar 파일을 만든다. gzip -d을 이용해 ~.tar.gz 파일 압축을 푼다. (4) tar 파일을 풀어서 원래 파일들을 회복한다. tar –xvf를 이용해 .tar 파일을 teak 디렉터리로 풀어낸다. 2. 파일 ..
2020-04-30 기준으로 작성되었으며, 블로그 글 작성을 위해 조금 수정되었습니다. 1. 실습 문제(교재 254쪽) 1) grep 실습 (1) grep 명령어를 이용하여 /etc/services 파일에서 tcp 서비스들을 찾아 그 개수를 출력하시오. grep /tcp services - tcp 서비스를 찾아 출력하는데 파이프를 통해 wc –l로 개수를 출력하였다. (2) grep 명령어를 이용하여 /etc/services 파일에서 tcp 서비스들을 찾아 이를 sort 명령어를 이용하여 정렬하고 그 결과를 파일에 저장하시오. grep /tcp services | sort > grepex1.txt – tcp를 찾아 sort로 정렬하고 그 결과를 grepex1에 저장하였다. 2) sort 명령어 실습 /e..
2020-04-30 기준으로 작성되었으며, 블로그 글 작성을 위해 조금 수정되었습니다. 1. ps 실습 다음 명령을 실행하고 출력 결과에 대해 설명하시오. 1) ps – 현재 시스템 내 존재하는 프로세스 실행 상태를 요약해서 출력한다. 옵션 설명 PID 프로세스 아이디 TTY 프로세스를 제어하는 수단 콘솔 접속 시 “tty숫자” 형태로 표시되며, 원격이나 에뮬레이터 접속시 “pts/숫자” 형태로 표시 TIME 프로세스에 사용된 CPU 시간 CMD 프로세스 실행 명령어 2) ps –f – ps가 보여주지 않은 UID, PPID 등 다른 요소도 요약하여 출력한다. 옵션 설명 UID 프로세스 실행 유저 PPID 프로세스의 부모 PID C CPU 사용량 STIME 프로세스 시작 시간 3) ps aux – a: ..