2011-04-01 5 views
3

나는 표준 c 및 C++ 언어를 배웠다. 그러나 나는 시스템 호출을 사용하고 프로세스 등으로 프로그램을 작성하는 방법을 모른다. 유닉스/리눅스 환경에서 프로그래밍을 배우고 싶다. 무슨 계단 이니? 해야합니까? 먼저 쉘을 배워야할까요?유닉스 환경에서 프로그래밍을 배우는 방법? 나는 첫째로 껍질을 배울까?

+0

"표준"C 및 C++은 무엇을 의미합니까? –

+0

기본 정확하게 – liu

답변

0

저는 시스템 프로그래밍에 종사하고 있으며 교수는 시스템 호출과 기존 코어 유틸리티의 간단한 버전 작성과 같은 유닉스에 대한 설문 조사를 진행하고 있습니다.

유용한 정보 중 하나는 유틸리티의 full source code 및 빠른 참조 system call입니다. 교과서는 Understanding UNIX/Linux Programming입니다. 꼭 읽어주세요.

입력 리디렉션, grep 및 파이프를 사용하는 것 외에는 쉘 스크립팅을 전혀하지 않았으므로이 시점에서 얼마나 유용한 지 모르겠습니다.

1

UNIX 환경에서 프로그램을 작성하려면 먼저 시스템 호출 등으로 작업하기 전에 주위를 배워야합니다. 유닉스에 대한 전반적인 소개는 The UNIX programming environment을 권하고 싶습니다. 그것은 약간 날짜지만 여전히 책의 한 보석이며, 어떤 프로그래머에게나 읽혀 져야합니다.

+1

멋진 책, 그리고 재미있는 읽을 수 있습니다. 그러나 그것은 약간 날짜가 이상입니다.우리 아버지는 몇 년 전에 유닉스 프로그래밍을 배워야했고 조직적인 사람 이었기 때문에 라이브러리에서 확인하고 도움을 요청하기 전에 읽었습니다. 나는 그것만큼 많은 혼란으로 인한 경우 말했을거야. 아직도, 그것은 좋은 책이다. – dmckee

0

아니요, 껍질을 배울 필요가 없습니다. C.에 대한 유닉스 시스템 호출을 설명하는 책이나 웹 페이지를 찾으십시오.

1

유닉스/리눅스 시스템을 사용한다면, 쉘 스크립팅과 그 도구에 대해 알고 있어야합니다. 시작 스크립트는 시스템을 돌아 다니거나 빨리 움직입니다 (예 : ls, mv, cp 등 사용). 그 외, 실제 프로그래밍 작업을 위해서는 프로그래밍 언어 (Python, Ruby가 마음에 듭니다)를 사용할 수 있습니다. Python과 같은 많은 현대 프로그래밍 언어는 이미 시스템 수준의 API를 제공합니다. 파이썬은 쉘 자체와 함께 제공되기 때문에 하드 코어라면 일상적인 작업에도 사용할 수 있습니다. 이 작은 예는 파이썬에서 디렉토리 목록 명령 행에 ls를 입력으로

>>> import os               
>>> os.chdir("/tmp")             
>>> os.listdir(".")   

그에게 같은 쉘 할 수 있습니다 보여줍니다. 파일 이동/복사는 어떻습니까? 대신 시스템/낮은 수준의 물건을 프로그램하려는 경우 쉘 mvcp,

>>> import shutil 
>>> shutil.copy("file","/destiation") 
>>> shutil.move("file1","/destination") 

IMHO를 사용하는 다음 C/C++는 당신이 관리 또는 매일 작업 프로그래밍을하지만, 정상적인 시스템을 필요한 수 있습니다 Python/Ruby (또는 Perl)과 같은 언어가 대부분 당신에게 적합합니다.

+0

예, 저는 지금 파이썬을 배우고 있습니다. 어떤 제안있어? – liu

+0

'doc.python.org'로 이동하십시오. – kurumi

0

"전통적인"유닉스 환경 (텍스트 편집기를 사용하고 명령 줄에서 모든 것을하는 것)으로 프로그래밍하려는 경우, 쉘에 능통하고 편집자와 매우 유능한 사람이되기를 원할 것입니다 Your Choice (그리고 선택의 자유가 있지만 이맥이 아니라면 나쁜 곳으로 갈 것입니다 ...).

그러나 실제로 쉘을 "연구"할 필요가 없습니다 먼저. 셸이 강력한 도구를 제공한다는 것을 명심하십시오. 그럼, 당신이 자기 생각을 찾을 때마다 "더 좋은 방법이있을거야!", 더 좋은 방법을 배우십시오. 입니다.

관련 문제