'임베디드리눅스'에 해당되는 글 5건
자주 사용될 리눅스 명령의 총집합 - 2009/03/16 12:30
시스템 관리는 하루 아침에 익힐 수 있는 지식이 아니기 때문에, 일반 개발자가 처음부터 끝까지 자신이 사용할 시스템을 꾸미기에는 노력과 시간이 너무 많이 듭니다.
따라서, 개발상황에 필수적으로 필요한 명령어를 잘 준비해 두는것은 결코 가벼운 일이 아니며 추후의 개발에 도움이 될 생산적인 일이 될 것입니다.
이에 자주 사용될 명령들을 예상하여 정리해 보도록 합니다.
LINUX 명령어
|
dmesg |
/bin/dmesg |
부팅 과정 중에 보여지는 부팅 메시지를 본다 |
|
eg. dmesg -c ;메시지 내용을 보여주고 버퍼를 비운다 | ||
|
chmod |
/bin/chmod |
파일 권한 바꾸기 |
|
eg. chmod -fR 777 soft ;강제로 recursive 하게 권한을 변경한다 | ||
|
chown |
/bin/chown |
소유권을 변경한다 |
|
eg. chown -fR hongyk:dev soft ; 강제로 소유권을 변경한다 | ||
|
clear |
/usr/bin/clear |
화면을 청소하기 |
|
eg. clear ;화면을 깨끗하게 지우기 | ||
|
cp |
/bin/cp |
파일을 복사하기 |
|
eg. cp -fR dir1 dir2 ;하위 디렉토리까지 전부 강제로 복사한다 | ||
|
crontab |
/usr/bin/crontab |
예약작업 실행기 |
|
eg. crontab crontab.cron ;예약작업이 필요할때 볼것(사전 참조) | ||
|
df |
/bin/df |
파일시스템의 사용량 보기 |
|
eg. (1)df -P (2)df -h ;대표적인 두가지 | ||
|
du |
/usr/bin/du |
현재 디렉토리 이하의 하위 디렉토리 리스트 |
|
eg. (1)du -a (2)du -c ; 대표적인 두가지 | ||
|
find |
/usr/bin/find |
파일 찾기 |
|
eg. find . -name "crt.ext" -print ;현재 디렉토리 아래를 모두 찾음 | ||
|
fsck |
/sbin/fsck |
파일 시스템 검사하기 |
|
eg. fsck -a /dev/hda1 ;사용자에게 질문없이 자동 복구 한다 | ||
|
grep |
/bin/grep |
특정 문자열 검사하기 |
|
eg. grep -R x . |more ; 현재 디렉토리 이하의 하위 'x' 문자열을 검색 | ||
|
gzip |
/bin/gzip |
파일을 압축 |
|
eg. gzip -r test ;test라는 디렉토리 전체를 압축 | ||
|
halt |
/usr/bin/halt |
시스템 강제 종료하기 |
|
eg. halt ;/var/log/wtmp에 기록을 남긴다 | ||
|
history |
사용 명령어 목록 보기 | |
|
eg. !! ;방금했던 명령(history)을 재실행 | ||
|
ifconfig |
/sbin/ifconfig |
랜카드에 주소 할당하기 |
|
eg. ifconfig ;현재의 네트웍 인터페이스를 보여준다 | ||
|
jobs |
자신의 수행중인 프로세스 알기 | |
|
eg. jobs -l ;현재의 작업들을 표시한다 | ||
|
kill |
/bin/kill |
프로세스 죽이기 |
|
eg. kill -9 19039 ;19039 프로세스를 강제로 죽이기 | ||
|
ln |
/bin/ln |
파일의 링크를 만든다 |
|
eg. ln -s sourcefile linkfile ;심볼릭 링크 | ||
|
man |
/usr/bin/man |
매뉴얼 보기 |
|
eg. man -a signal ;signal에 대한 모든 man 페이지를 보기 | ||
|
mknod |
/bin/mknod |
특수 파일 만들기 |
|
eg. mknod /dev/intnormal c 240 0 ;디바이스 파일을 만든다 | ||
|
mount |
/bin/mount |
장치 연결하기 |
|
eg. mount /dev/cdrom /mnt/cdrom ;cdrom장치를 /mnt/cdrom으로 마운트 | ||
|
uname |
커널 버젼 확인 | |
|
eg. uname -r ;현재 시스템의 커널 버젼 확인 | ||
|
finger |
사용자 정보 알기 | |
|
eg. finger @finger.kernel.org ;현재 최신 커널 버젼의 확인 | ||
|
netstat |
/bin/netstat |
현재 네트웍 상황 보기 |
|
eg. netstat -a ;모든 소켓 정보 출력 | ||
|
pidof |
실행중인 프로그램의 프로세스ID 찾기 | |
|
eg. pidof pico ;pico의 PID을 출력 | ||
|
ping |
/usr/bin/ping |
네트웍 확인하기 |
|
eg. ping -i0.1 192.0.0.1 ;0.1밀리초마다 'ping' 한다 | ||
|
ps |
/bin/ps |
프로세스 상태 알기 |
|
eg. ps -a ;모든 프로세스를 출력 | ||
|
rmmod |
/sbin/rmmod |
모듈 지우기 |
|
eg. rmmod intnormal ;intnormal 디바이스를 제거 | ||
|
rpm |
/bin/rpm |
프로그램 추가/삭제 |
|
eg. (1)rpm -Uvh foobar-1.0.1.i386.rpm (2)rpm -e foobar ;업그레이드/제거 | ||
|
script |
현재 터미널에서 출력될 모든 메시지를 저장 | |
|
eg. (1)script file (2)exit ;스크립트의 시작과 종료 | ||
|
shutdown |
/usr/bin/shutdown |
전원끄기 |
|
eg. shutdown -h now ; 시스템 halt 를 지금 실행 | ||
|
split |
/usr/bin/split |
하나의 파일을 여러개의 작은 파일로 나눈다 |
|
eg. split --bytes=500 test23 ;test23 파일을 500바이트씩 나눔 | ||
|
sync |
/bin/sync |
버퍼 재설정 하기 |
|
eg. sync ;버퍼에 있는 내용을 디스크에다 쓴다 | ||
|
umount |
/bin/umount |
장치 연결하기 |
|
eg. umount /dev/cdrom;cdrom장치를 언마운트 | ||
|
uptime |
/usr/bin/uptime |
시스템 부하 평균 보여주기 |
|
eg. uptime ;시스템에 현재 어느정도의 사용자가 일을 하고있는지 파악 | ||
|
users |
/usr/bin/users |
로그인된 사용자 보여주기 |
|
eg. users | ||
|
who |
/usr/bin/who |
사용자 알기 |
|
eg. who ;현재 누가 접속해 있는지 정보를 출력 | ||
임베디드 공부를 시작할려고 합니다 - 2009/02/09 17:25
안녕하세요.
먼저 답장을 해주셔서 감사합니다.
자세하게 이해가 되지 않아서 더 궁금한 점이 있습니다.
1. 리눅스 임베디드와 윈도우 임베디드 이렇게 따로 있습니까?
2. 둘 중 어느것을 선택하는것에 따라서 공부하는것이 완전히 다릅니까?
윈도우 api도 공부를 해야 할까요?
(공통적인 부분이 있다면 좀 알려주세요^^)
3. 마이크로 프로세서를 보라고 하셨는데요.
PIC류나 8051계열은 잘 않쓰여서 피하라고 하셨나요?
4. "하드웨어에 대한 지식은 '디지탈 논리회로' 와 R/L/C, 트랜지스터, OPAMP 에 대한
이해정도를 하라고 답변을 주셨느데요."
책 추천좀 해주시면 감사하겠습니다^^
5. 현재 컴퓨터 과학부(3학년입니다)
공부할 양이 많아서 그런데 위의 디지탈 논리회로' 와 R/L/C, 트랜지스터, OPAMP, 마이크로프로세서와 같이 공부할 시간이 될까요?
책을 본다면 어떤 것부터 순서적으로 봐야 합니까?
제일 궁금한 것이 어떤 순서로 공부를 하며 어떤 책을 봐야 하는지가 궁금합니다.
(참고로 하드웨어가 아닌 소프트웨어로 공부를 하고자 합니다)
그럼 답변 부탁드리며 좋은 하루 보내시기 바랍니다^^
[답변]
1).임베디드리눅스와 윈도우CE을 말씀하신것 같네요. 우리가 임베디드시스템이라 하면 이 두가지만을 지칭하지는 않습니다. 보다 광범위한 시각을 가지고 보셔야만 할 것입니다. 위에서 언급된 운영체제등이 실장되지 않는 임베디드 시스템이 이 세상엔 훨씬 더 많습니다.
2).3).마이크로 프로세서 하나를 가지고 1년동안 보실 각오로 덤비시길 바라겠습니다. 이것만 가지고도 공부하실게 무지 많을 것입니다. 이것이 님에게 임베디드시스템의 기초를 만들어 줄것입니다.
8051이나 PIC을 하실 노력이면 차라리 AVR로 시작 해 보시라고 권하고 싶습니다. 조금 수준있는 것으로 시작해 보시라고 말씀드렸습니다. AVR, ARM 계열등이 그것입니다.
4)서점에 가셔서 자신한테 맞는 책을 고르시라고 말씀드립니다. 그리고 이것들은 보조 교재로만으로 생각해 주세요.
오랫동안 보실 메인 교재는 반드시 마이크로프로세서 책자 이어야만 합니다. 이를 절대 절대 잊지 마세요.
5)마이크로프로세서을 선정하시고 해당 칩의 매뉴얼 즉 데이터북을 자유롭게 보세요. 처음엔 가급적 해석이 되든 말든 무조건 읽으세요. 임베디드시스템 계열에선 데이터북과 친구가 되어야만 합니다. 아니, 이쪽 이공계열은 대부분 다 그렇지요. 처음엔 누구나 힘듭니다. 하지만 시간이 갈 수록 보시기가 수월해 지실 겁니다. 나중에 실무에서 데이터 북을 보는 연습도 됩니다. 이 책을 1년 동안 보실 생각으로 시작 하세요. 이렇게 하면 부담도 덜 하시지 않을까요?
책 하나만 보면 된다니??? 제말을 믿으세요. 1년 열심히 보셨는데도 실력이 안늘었다? 나중에 저한테 항의하세요.
1년 후에 엄청나게 실력이 는것을 체감 하실 겁니다.
님이 올리신 질문들을 살펴 보면 의욕이 넘치시고 궁금한 것이 많으신 것으로 느껴집니다. 저 또한 당시 님과 비슷한 질문들을 하였었고 지금에 이르렀습니다.
제 생각은 이렇습니다. 님의 경우에 일단 모든것을 잠시 관심의 뒤로 두시고 당분간은 마이크로프로세서와 어셈블리에 매진해 보시라는 말씀 드리고 싶네요.

임베디드 입문 하고저 하는데. . . - 2009/02/09 17:24
제가 네이버 지식인에 올렸던 글입니다.
참고 하세요.
--------------------------------------------------------------------------------------
[질문]
올해로 나이가 29인 남자입니다.
중략...
아....이야기가 길어졌군요...
그럼 질문좀 하겠습니다.
1.임베디드 분야에서 꼭 필요한 수학의 범위는??
2.임베디드분야에서 기초가 되는 수학 공식들이 어떤게 있는지(수학을 다시 공부하려고 합니다.)?
예)2차방정식,1차방정식 등등등..
3.수학 기초부터 차근차근 공부하려하지만 늦은 나이에 중/고등학교반 학원을 다니기는 ...부담이 될듯해 보이고
저같은 사람들이 다니는 수학/영어만 가르치는 학원이 있나요?있으면 추천부탁드립니다.
4.임베디드 분야로 나아가려면 자기가 가고 싶은 분야를 설정해서 관련분야의 폭넓은 지식이 필요하다고 하는데
그 관련분야로 정해서 공부하려면 공부방법을 어떻게 설정을 해야하는지?
5.제가 계획한 나름대로의 개인적인 공부 방법입니다. 의심이 가거나 문제가 있다는 생각이 드시면 수정해주세요
(지금부터 수학공부를 시작해서 08년5월쯤 6개월짜리 직업학교를 들어가서 졸업시까지 열공해서 작은프로젝트 하나를 끝내고 취업을 한다......)
6.마지막으로 임베디드 분야가 지금은 희소성이 많다고 들었습니다.......그 희소성이란 기술자체가 너무나 어렵고 응용과 광범위한 범위때문에 전문엔지니어가 현저히 부족해서 그렇다고 들었습니다....그 만큼 경력이 쌓이면 타직종에 비해서 높은 연봉을 받는다는 것도 알고 있구요....(단점이라면 자기생활포기 야근/철야 반복에 운 나쁘면 장가도 못간다....가 있겠군요....)제 생각이 맞나요?
[답변]
저의 답변이 신뢰성을 갖기 위해선 어느 정도의 선까지는 제 신상을 공개해야 할 것 같네요.
15년 경력의 나름대로 이 분야에선 베테랑 개발자입니다.
먼저 본인 나이 말씀 하셨는데, 그거 너무 본인이 미리 짐작으로 생각하실 필요 전혀 없다고 말씀 드리고 싶네요.
어떤 것을 새로 시작하기에 결코 남들보다 늦은 나이 아닙니다.
그리고 임베디드 어렵다고 하셨는데. 맞습니다. 절대로 쉬운 분야는 아닙니다. 간단하게 책 몇권 보았다고 덤빌수 있는 그런거 절대 아닙니다.
하지만, 저는 이렇게 말씀 드리고 싶네요. 이 세상이 어디 그렇게 어떤것이든 만만한게 있든가요?.
하지만 이 분야도 잘 방향만 잡아서 열심히만 하시면 반드시 원하시는 수준까지 1~2년으로도 만들어 내실수 있습니다.
실제로 주위에서 그런 사람들 여럿 보아왔습니다.
대신 얼마나 그것을 집중해서 하셨는지가 그 기간(완성)의 길이와 그 내용의 깊이를 결정하게 될 것입니다.
수학에 관련된 여러가지 질문 하셨는데 막말로 사칙연산이면 충분 할 정도로 이를 위해 별도로 공부하실 필요까지는 없다고 봅니다.
공부 방법은 사람들 마다 서로 조금씩 다르게 얘기할 겁니다.
저도 저 나름대로의 방법을 말씀 드리죠. 임베디드 분야의 소프트웨어 프로그래머가 되기 위해서는
먼저 이 분야의 기반기술이 어떤 것이냐를 다음과 같이 먼저 이해 해야 합니다.
저는 항상 3가지를 이야기 하곤 합니다. (1)마이크로프로세서 (2)프로그래밍 언어(C언어, 어셈블리) (3)임베디드 운영체제(리눅스, WinCE, RTOS)
이중 (1)번이나 (2)번을 먼저 시작하시는게 좋다고 봅니다. 중요한 것은 처음부터 욕심부리셔서 너무 많은 량을
보시겠다고 해당 분야의 책을 여러권 보시게 되면 오히려 역효과가 납니다. 가장 주의 하셔야 합니다.
처음에는 해당분야의 유명한 책을 추천 받으셔서 해당 분야당 1권을 보시되 2권을 넘기지 마세요. 해당 책을 보고 보고 또 보십시오. 저의 경우를 말씀 드리면 신입사원때 책 한권을 무려 2년동안 마르고 닿토록 거짓말 안보태고 보고 보고 또 보았습니다. 처음에는 잘 모르겠는것도 반복하다 보면 언젠가는 적어도 그 책에 관해선 어느 박사 보다도 해박한 지식을 갖게 되십니다.
이렇게 하면 좋은점은 본인 입장에서도 심적부담이 덜 하시지 않을까요? 책 한권만 보면 된다고 하니까요.^^
처음에는 다양한 분야를 공부하는 같은 처지의 동료보다 못하다고 느껴지실지 모르나 그런 시기는 그때 뿐 입니다.
나중에는 그 엄청난 힘(도움)을 받았다고 본인 스스로 놀라시게 되는 때가 사람마다 그 시기만 틀릴뿐 반드시 옵니다. 꾹 참고 한권만 보십시오. 이제 그만 봐도 되겠다고 본인이 느끼실 때가 옵니다. 저절로 알게 됩니다.
그러면, 제가 이 방법을 추천하는 근거를 이제 설명할 때가 된것 같군요.
마이크로프로세서는 한가지만 정통하면 대부분 모두 비슷비슷합니다. 대동소이라는 한자성어가 있잖습니까?
AVR이든 8051이든 68000이든 ARM7/9이든 PIC이든 iXscale이든 DSP이든 다 비슷합니다. 때문에 하나만 보시라는 이유도 이제 설명이 되겠지요. 그러면 프로그래밍 언어는 어떤가요. C언어는 좀 어려운 책을 보시라고 권하고 싶네요. 너무 쉬운책은 한권가지고 않끝날 가능성이 있습니다. 나름대로 해당 분야의 바이블이라는 이름이 붙여지고 있는 책으로 고르시라고 말씀드립니다.
무릇 이 방법은 어떤 분야든 다 통하는 방법이요. 진리라고 저는 믿습니다. 많은 엔지니어들이 영어때문에 골머리 썩고 있는 대한민국의 현실에서 영어도 또한 마찬가지입니다.
마지막으로 중요한 말씀을 하나 더 드리자면 이 분야로 입문하시기 전에 꼭 적성검사 같은 것을 받아 보시라 말씀드리고 싶습니다.
1~2개월 공부해서 되는 분야가 아닌만큼 만만치 않은 시간과 돈을 투자하여 어렵게 공부하셨는데 "이 산이 아닌게벼~" 혹은 '나는 이 분야 적성이 안 맞나봐' 대단한 국가적인 손실이 아닐 수 없습니다.
인터넷 상에서 검색해 보시면 유/무료 적성검사가 있을 것입니다. 신뢰성이 있는 검사기관에서 하시기 바랍니다.
지금까지 이 분야를 먼저 경험한 사람의 넋두리 였습니다.
♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요-> 




