리눅스

리눅스

[리눅스] 쉘 스크립트 맛보기

쉘(Shell)이란 리눅스에서 명령어를 작성하고 프로그램을 실행시킬때는 항상 '쉘'의 도움을 받는다. 쉘이란 사용자와 리눅스 커널간의 매개체, 연결다리 라고 생각하면 된다. 사용자가 직접 커널이나 하드웨어 조작을 할 수 없기 때문에 이를 편리하고 사용자친화적(?)이게 화면을 통해 소통을 하는 방식이다. 리눅스에서 여러개의 쉘이 있지만 기본적으로 사용하는 쉘은 bash이다. 현재 사용하고 있는 쉘을 확인하기 위해서 다음과 같이 작성하면 된다. echo $0 현재 내가 사용하고 있는 쉘은 zsh(제트쉘, 지쉘)이며 터미널 화면을 이쁘게 꾸미고 싶어서 변경 했다. 보기좋은 터미널이 개발하는데 즐거움(?)을 주기 때문이다.....(눈물) 이제 쉘의 개념을 알았으니 쉘 스크립트에 대해서 알아보자. 쉘 스크립트 우..

리눅스

[리눅스] I/O Redirection

원 안에 있는 과정이 프로세스 즉 프로그램이 진행하는 과정이라고 생각하면 쉽다. 예를들어 ls, pwd, mkdir와 같은 명령어가 실행되면 프로세서라고 한다. 이 프로세서는 입력과 출력이 있다. 예를들어 ls -al이라는 명령어를 작성하면 ls는 프로세스, -al은 input이며 구체적으로는 Command-line Argument라고 한다. 위의 명령어를 작성하고 엔터를 누르면 출력 결과가 나타나는데 이것이 standard output이다. 이 프로그램 출력 결과가 곧바로 모니터에 출력되는데 이 결과를 모니터가 아니라 다른 파일로 저장하는 작업을 redireaction이라고 한다. redireaction하는 방법은 다음과 같다. Output ls -l > result.txt > (파일이름) 을 진행함으..

리눅스

[리눅스] 에디터 편집하기(nano)

리눅스에서 파일을 생성할때 편집기를 이용해서 파일을 생성한다. 그중 대표적으로 nano와 vi 편집기가 있지만 nano가 더 쉽고 중고급자는 vi편집기를 사용한다고 한다. 아직 리눅스 초보이기 때문에 nano편집기 사용방법을 알아보자. nano 기본 창에서 nano를 입력한다. 위의 명령어 입력 후 엔터를 치면 다음과같은 편집화면이 나타난다. 해당 창에서 텍스트나 코드를 입력하고 (ctrl + o) 키를 누른 다음 파일 제목을 입력하라는 창이 나온다. 파일 제목을 입력 한 후 엔터를 누르면 성공적으로 우리가 작성한 코드를 갖는 파일이 생성된다. 그런다음 ctrl + x 를 통해 에디터 화면을 빠져나온후 ls를 통해 현재 디렉토리 목록을 보면 우리가 생성한 파일이 생성됨을 확인 할 수 있다. 지금까지 기본..

리눅스

[리눅스] 에서 C언어 다루기(코드작성, 컴파일, 디버깅)

많은사람들이 질문을 할 수 있을것이다. 비주얼스튜디오, vscode와 같이 다루기 쉬운 툴이 있는데 뭐하러 불편하게 리눅스에서 C언어를 공부하나?? 맞는말이다. 비주얼스튜디오는 C언어를 배우기 위해 잘 만들어진 소프트웨어 툴이다. 그러나 실제로 전자공학에서는 C언어로 MCU를 다루기 때문에 문제가 된다. 우리가 사용는 PC대부분은 64비트 프로세서라서 넉넉한 메모리공간을 갖고 있지만 PC이외의 임베디드 제품(냉장고, 로봇청소기, 프린터 등)은 전부 8비트, 16비트와 같이 매우 협소한 공간을 갖는다. 심지어 OS가 내장되지 않은 제품은 더욱 고려할 사항이 많아진다. 이번 포스팅에서는 리눅스에서 C언어 코드를 작성, 컴파일, 디버깅하는 과정을 다뤄보자. C 코드작성 1. C언어코드를 담을 디렉토리를 생성하..

라즈베리파이

[라즈베리파이] 클라우드와 카메라 연동

라즈베리파이는 소형 컴퓨터 이다. 게다가 리눅스 기반 컴퓨터라 사용자가 마음껏 용도를 바꿀수도 있다. 이번 포스팅에서는 구글의 모바일 및 웹 애플리케이션 개발 플랫폼 'Firebase' 에서 클라우드와 파이의 카메라, GPIO에 모션감지센서를 연결 할 것이다. 방에 침입자가 들어오면 모션센서가 이를 인식한 후 카메라로 찍어서 클라우드에 사진을 전송하는 기능을 구현해 보자. Firebase 설정 1. Firabase홈페이지에 들어가서 구글계정으로 가입 Firebase (google.com) Firebase Firebase는 고품질 앱을 빠르게 개발하고 비즈니스를 성장시키는 데 도움이 되는 Google의 모바일 플랫폼입니다. firebase.google.com 2. 시작하기 -> 프로젝트 추가(Raspber..

리눅스

[리눅스] 기본 명령어

리눅에서는 일반 윈도우와달리 파일을 가리키는 용어가 명확히 구분되어있다. 윈도우에서는 내pc를 폴더, 파일 등 어떻게 불러도 상관없지만 리눅스에서는 이를 디렉토리라고 부르며 .txt같은 문서를 파일이라고 한다. 따라서 우리는 명령어를 통해 디렉토리라는 방을 들어가고 나가게 된다. 이제부터 본격적으로 리눅스 명령어를 알아보자. 디렉토리 확인, 이동, 만들기 1. pwd : 현재 작업위치 기본 터미널창에서 pwd라고 치게되면 현재 내 디렉토리의 위치를 알려준다. 위의 뜻은 현재 내 위치는 home안에 pi라는 방(디렉토리)에 있다 2. 1) ls : 현재 디렉토리에 있는 모든 디렉토리 및 파일을 보여줘라 2) ls -a : 현재 디렉토리에 있는 모든 디렉토리 및 파일과 숨겨진파일까지 모두 보여줘라 3) ls..

시그널보내
'리눅스' 태그의 글 목록