본문 바로가기

개발자/Linux 리눅스

Linux Tutorial 2 - 한 눈에 보는 리눅스 시스템 Linux Tutorial 2 - 한 눈에 보는 리눅스 시스템 Linux는 데스크톱, 서버 및 모바일 컴퓨팅 환경에서 광범위한 범위를 가진 인기 있는 오픈 소스 운영 체제로 소개되었습니다. Linux는 오픈 소스이고 OSS 개발자와 옹호자들 사이에서 엄청나게 인기가 있기 때문에 현재 수백 개의 Linux 배포판을 사용할 수 있습니다. 모든 Linux 배포 또는 패키지는 Linux 커널, GNU 유틸리티, 셸, 데스크톱 환경 및 일부 기본 응용 프로그램이 함께 번들로 제공되는 완전한 운영 체제 소프트웨어입니다. 따라서 실행 중인 하드웨어 플랫폼에 관계없이 모든 Linux(운영 체제) 시스템에는 기본적으로 다음과 같은 소프트웨어 구성 요소가 있습니다. 1) 리눅스 커널 2) GNU 유틸리티 3) 쉘 4) 데..
Linux Tutorial 1 - Linux 소개 컴퓨팅 장치는 지난 수십 년 동안 크게 발전했으며 소프트웨어 기술도 발전했습니다. 전 세계의 컴퓨팅 장치는 데스크톱 컴퓨터 및 랩톱, 모바일 장치, 서버, 메인프레임, 슈퍼컴퓨터 및 임베디드 장치로 크게 분류할 수 있습니다. 모든 컴퓨터에는 하드웨어와 소프트웨어라는 두 가지 필수 구성 요소가 있습니다. 소프트웨어는 크게 운영 체제와 응용 프로그램의 두 가지 유형으로 분류됩니다. 운영 체제는 컴퓨터의 하드웨어를 제어하는 ​​소프트웨어 유형입니다. 운영 체제가 없으면 응용 프로그램 소프트웨어는 하드웨어를 사용할 수 없으므로 컴퓨터에서 실행할 수 없습니다. 모든 유형의 컴퓨팅 장치 중에서 임베디드 장치의 일부만이 응용 프로그램 소프트웨어가 장치 자체의 펌웨어에 하드 코딩된 하드웨어에서 직접 응용 프로그램을 실..
리눅스 명령어 정리 The Linux Commands Reference Cheat Sheet 리눅스 명령어 정리 The Linux Commands Reference Cheat Sheet 웹 브라우저에 나오는 표 비슷한 자료를 긁어오는 방법은 아주 유용한데 간단하게 적으면 아래와 같은 단계를 따라 한다. 1. 웹에 있는 표 비슷한 데이터의 행과 열을 파악한다. 정확히 행은 사실 상관이 없고 칸이 몇 칸인지 적당히 세면 된다. 2. 죽 긁어서 ctrl-c 누르고 카피한다. 3. 엑셀을 열어서 칸을 맞추어 선택하고 길이(행)는 충분히 아래로 확장한 후 ctrl-v로 복사한다. 4. 정확히 표로 붙는다. 엑셀 표를 죽 긁어다가 한글이나 워드 문서에서 복사한 후 편집하여 사용한다. 이 간단한 치트 시트는 Linux 명령줄 터미널에 즉시 익숙해지는 데 도움이 됩니다. 터미널이라고도 하는 Linux 명령줄은..
라즈베리파이 보드 버전과 라즈베리파이 OS버전 확인하기 우선 라즈베리파이 씨리즈가 많은 어떤 버전의 라즈베리파이 보드인지 확인하는 방법은 아래와 같은 명령어로 간단히 확인이 가능하다. cat /proc/device-tree/model 명령을 실행하여 확인하면 결과는 라즈베리파이 정확한 보드명과 버전을 알려준다. pi@raspberrypi:~ $ cat /proc/device-tree/model Raspberry Pi 3 Model B Rev 1.2p 라즈베리파이에서 OS 버전 확인하기 리눅스에서 운영체제 버전을 확인하느 방법은 많습니다. 커날부터 OS 버전까지 확인할 때 좋습니다. 아래는 라즈베리파이 Rasbian 최신버전 stretch 에서 확인했습니다. 참고하십시요. 명령어와 출력을 라즈베리파이 화면에서 캡쳐한 내용입니다. 일반적인 커널정보 pi@rasp..
리눅스 signal 을 타이머 알람으로 사용하기 Linux signal use Timer Alarm 디바이스 드라이버를 이용해서 CPU의 내장 타이머들을 이용해서 직접적으로 제어를 해도 되지만, 대략 1초 이상의 초단위 타이머를 사용하고자 한다면 심플하게 signal 함수를 이용해서 초단위의 타이머를 구현할 수 있다. 아주 작은 순간 타이머 구현하느 방법은 아래 포스팅을 참고한다. signal 중에서 SIGALRM 이 있는데 이 signal은 alarm 함수가 보내는 signal 이다. 이 alarm을 주기적으로 발생하고 signal을 처리 하면 리눅스에서도 타이머를 사용할 수 있다. 소스코드다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #include #include #include #defi..
리눅스로 개발 하는 모든 사람들이 꼭 봐야하는 동영상 리눅스로 개발 하는 모든 사람들이 꼭 봐야하는 동영상 원본으로 보시면 좋고요. 링크 싸이트 가서 읽으시면 더 좋습니다. =>> http://luckyyowu.tistory.com/m/320
리눅스 쉽고 간단한 다중 Thread 프로그램 with 라즈베리파이 리눅스 쉽고 간단한 다중 Thread 프로그램 1 with 라즈베리파이 Thread의 장 단점이 중요한 게 아니라 굉장히 많이 사용한다. 사실 Thread를 사용하지 않는 프로그램은 거의 없다. 작업을 동시에 실행한다는게 얼마나 멋진 일인가? 일단 가장 단순한 다중 Thread 프로그램을 보자. 근데 책의 예제라 그런지 무지하게 복잡하고, 어렵게 보인다. 으~ 이런거 정말 싫은데. 그냥 설명만 하고 쉬운건 아래에 있다. 여러가지 소스코드를 참고하자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 #include #include #include #include #inclu..
자주 가끔 많이 항상 사용하는 리눅스 명령어 모음 자주 사용하는 리눅스 명령어 모음 생활코딩에서 모두에게 제공하는 리눅스 수업은 다음 링크로 배울 수 있다. 꼭 배워두시길 부탁드린다. ㅎㅎ https://opentutorials.org/course/2598 1. 리눅스 시스템 종료 방법 shutdown -h now halt init 0 - shutdown 명령어 shutdown -h +10 (10분후 종료, h:halt) shutdown -r 22:00 (오후 10시에 재부팅, r:reboot) shutdown -c (예약된 shutdown 명령 취소) shutdown -k now (종료 메시지는 보이나 종료 안됨) 2. 재부팅 shutdown -r now reboot init 6 3. 로그아웃 logout exit - init명령어(런레벨, Runle..
리눅스 타이머 사용할 때 undefined reference to `timer_create' 에러 발생 리눅스 타이머 시용할때 다음과 같은 에러 생기면 뒤에 뒤에 라이브러리 포함 -lrt 넣어줘야 함. 1 2 3 4 5 6 pi@raspberrypi:~/timertest $ gcc -o multitimer multitimer.c /tmp/ccgVf2H0.o: In function `makeTimer': multitimer.c:(.text+0x13c): undefined reference to `timer_create' multitimer.c:(.text+0x18c): undefined reference to `timer_settime' collect2: error: ld returned 1 exit status Colored by Color Scripter cs 이렇게 에러가 나면 컴파일 옵션 뒤에 -lr..
리눅스 설치 패키지나 라이브러리 목록 확인 현재 리눅스에 이미 설치된 패키지나 라이브러리를 확인하는 명령이다. $dpkg --get-selections 아래는 실행 화면을 나타낸다. 엄청 많군. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 1..