linux에 입문해보려합니다.

canuyes의 이미지

현재 컴퓨터를 공부하는 학생입니다.
C/C++/java등의 언어를 학습하였고, 자료구조,TCP/IP를 공부중입니다.
학교에서 putty를 사용하여 linux와 비슷한(? ; 지식이 모자라 잘 알지 못합니다.) unix실습 서버를 사용해왔습니다.
휴학을 했기에 학교 unix 실습서버 계정은 날아가 버렸고, 현재 vs2010 을 사용하여 실습중입니다.

앞으로 이 분야 일을 쭉 할것이기에 집 데스크탑에 ubuntu 11.04를 다운 받았습니다.
어렸을때 윈도우를 쓰면서 자연스레 그 기능들을 알아가고 사용해온것과 달리 리눅스는 별도의 학습없이는 사용 또는 활용이 힘들것 같다는 생각이 들었습니다.
저는 주로 c/c++/java 관련 개발이나 tcp/ip관련 실습을 합니다.
제 사용패턴에 맞는 리눅스 학습을 하기 위해서는 어떤 서적 또는 사이트를 참고하면 좋을까요?

혼자 구글링 해본결과 lpic이라는 리눅스 자격증에 대해서도 알게 됬는데 이 자격증을 위한 학습이 리눅스를 이해하는데 도움이 될까요?

lithium81의 이미지

마음에 너무 조바심을 갖지 않도록 하세요.

윈도우즈와 마찬가지로 리눅스도 그냥 쓰다 보면 필요에 따라 저절로 길이 열립니다.

특히 우분투 사용 예정이시라면, 최근 배포 버전들은 GUI가 많이 편해져서 금방 수월하게 익히실 수 있을 거에요.

터미널 환경(커맨드라인 인터페이스라고 하나요..? CLI 환경)에서 작업을 해야 할 경우에는 아무래도 조금 시간이 더 필요(학습곡선이 있으니까요)할 수도 있겠네요.

1. 책
2000년도 초반 같았으면 러닝리눅스 라던지, 리눅스 커널의 이해와 같은 책을 바로 추천해드렸겠지만,

요즘은 좋은 입문용 서적들이 많이 보이더라고요.

시간을 한 번 내셔서 오프라인 서점에서 직접 보시면 구성이라던가 편집상태라던가 난이도 등 님께서 원하는 수준을 더 잘 고를 수 있지 않을까 싶습니다.

2. 사이트
전 KLDP 추천... 헤헤

3. 프로그래밍 관련
전 생산성 등의 요소도 중요하다고 보기 때문에 IDE의 사용을 권하는 편입니다.

리눅스에서도 Eclipse라던가, Qt Creator, KDevelop, Anjuta 등등 C/C++이나 Java를 위한 IDE는 존재합니다.

Java도 계획이 있으시니, Eclipse 추천합니다. CDT 패키지 설치하면 Eclipse에서 C/C++도 쓸 수 있어요...

리눅스나 유닉스의 클래식한 스타일을 접해보고 싶으시다면 당연 Vi editor나 Emacs 기반의 프로그래밍을 도전해보시라고 말씀드리고 싶네요.

4. 자격증
자격증이야 없는 것보다는 있는 게 좋긴 합니다만, 자격증은 자격증일 뿐, 현장에서 자격증의 소지 유무가 그 사람의 실력을 대변해준다고 믿는 사람은 별로 없을 겁니다...

하지만 개인적인 공부 차원에서 어차피 공부할 거, 꿩 먹고 알 먹자는 식으로 리눅스 공부도 하면서 LPIC에 도전해보시는 건 좋은 생각이세요...

5. 팁
GUI가 발전한 요즘에서는 좀 체감이 덜 되는 얘기지만,

새까만 창에 프롬프트만 깜박이던 환경에서 작업할 경우에는 *NIX 운영체제가 제공하는 각종 커맨드와 유틸리티들의 설계 철학을 좀 이해하려는 노력이 필요합니다.

*NIX 운영체제에서 여러 커맨드나 유틸리티 등은 한 두 가지 일만 잘 하게끔 만들어져 있습니다.

ls는 디렉터리의 내용을 보여주는 것, find는 파일을 찾는 것, grep은 특정 패턴을 검색하는 것, mkdir은 디렉터리를 만드는 것, cp는 복사하는 것 등등...

이런 작은 커맨드, 유틸리티 등을 파이프나 리다이렉션 등으로 다양한 방법으로 조합해서 더 복잡한 큰 일을 해결하는 게 일종의 관습? 문화?처럼 되어 있습니다.

또는 그런 커맨드라 유틸리티들을 csh, bash 같은 쉘의 프로그래밍 기능이나 perl, python 같은 스크립트 언어를 조합해서 더더더 복잡하고 큰 일을 해결하기도 합니다.

또는 코어부는 CLI용인데, 여기에 GUI를 랩(wrap)하거나 연결하여 얹어 놓고 쓰기도 합니다.

예를 들어, gdb라는 디버깅 도구는 기본적으로 터미널에서 쓰곤 하는데, 여기에 Eclipse나 DDD 등의 프로그램은 GUI frontend를 제공해 줍니다.

이런 사고방식은 사실 윈도우즈도 마찬가지이긴 한데, 윈도우즈는 사용자의 편의성을 위해 그런 부분이 많이 드러나 있지 않고, 굳이 엔드유저가 알 필요가 없다면 그런 과정들은 내부로 감추죠.

- 어제보다 나은 오늘, 오늘보다 나은 내일.

canuyes의 이미지

답글 진심으로 감사드립니다.
말씀해주신 서적에 관련한 내용말입니다..
서점과 도서관을 들락날락 거리다보니 참 많은 서적이 있었습니다.

책의 가짓 수가 너무 방대하기에 어떤 내용을 다룬 서적을 구매해야할지가 막막합니다.
(아마도 리눅스 자체에 대해 너무 무지하기 때문이지 싶습니다.)

예를 들어 C언어에 입문하는 사람이 (syntax 자체도 전혀 모르는 사람) 다짜고짜 C라는 글자만 보고
C++ standard library 서적을 구매하는 것과 같은 우를 범할까 두렵습니다.

대략 책을 고르는 요령(?) 이랄까요...
책의 키워드를 알려주시면 정말 감사하겠습니다.

lithium81의 이미지

1. 운영체제나 명령어 등에 익숙해져서 일단 기본적인 사용에 불편함이 없는 정도를 바라신다면, "원리 설명식"의 구성은 좀 지루해질 가능성이 있겠네요.

"따라하기식"의 구성으로 집필된 책이 좋습니다(두께는 무지막지하지만서도...).

불과 몇 년 전에 우분투 말고 페도라라고... Red Hat에서 무료로 배포한 리눅스 배포판이 유행할 때라면,

서자룡씨가 쓴 책을 곧바로 추천드렸을텐데... (2007년인가 2008년쯤까지만 해도 계속 개정판이 나왔었죠)

우분투 위주로 작성된 책들은 최근에 나온 것들이라 아는 바가 없어서 뭐라 말씀을 못 드리겠네요.



참고로 우분투, 수세, 젠투, 페도라 등 다양한 배포판이 있지만, 그렇다고 해서 명령어가 서로 완전히 다르거나 모양새가 판이하게 다르거나 뭐, 그렇진 않고요.

대부분 똑같은데, 시스템을 설정하고 관리하기 위한 방식이 조금씩 차이가 있거든요, 미묘하게.

예를 들어, 새로운 패키지를 설치한다거나 지운다거나 할 때, 우분투는 apt, 페도라는 yum, 수세는 yast, 젠투는 emerge 뭐 이런 식으로 조금씩 달라요.

그 외에 cp, mv, rm, mkdir, ls, find, grep 등등 어지간한 것들은 다 똑같습니다. 차이가 있어봐야 아주 조금 옵션에서 차이가 있는 정도.



2. 리눅스 운영체제가 돌아가는 메카니즘 등을 알고 싶으시다면, 자주 가시는 온라인 서점에서 '리눅스' '커널' 등으로 검색하시면 됩니다.

저는 국내서적은 예스24, 강컴, 교보문고 등에서 누적 판매량, 서평수, 평점 등을 고려해서 고르고는 합니다.

해외서적은 아마존에서 고르고요.



3. 각종 명령어들과 옵션들을 정리해놓은 백과사전식의 책이 필요하신 경우, "유닉스 파워 툴"이라는 책을 추천합니다.

제목은 유닉스로 되어 있지만, 리눅스에서도 거의 다 통용됩니다.

이런 류의 책은 가끔 찾아보는 용도(레퍼런스)로 아주 훌륭한 대신, 공부하는 용도로는 좀 많이 힘들었습니다.

- 어제보다 나은 오늘, 오늘보다 나은 내일.

bushi의 이미지

개론서 혹은 개념서, 또는 입문서 비스무리한 것 중 가장 최근에 나온 가장 얇은 책으로 고르시는 것을 추천합니다.
출판시각과 책의 두께 중에서 선택을 해야 한다면 두께 쪽에 우선 순위가 더 높습니다.
얇은 게 우선이라는 뜻입니다.

자신이 뭘 모르고 있는지에 대한 대략적인 목록을 뽑아내는 용도로만 사용하시면 됩니다.

snowall의 이미지

한글 정보만 보지 말고 영어로 된 정보도 적극적으로 찾아보세요. 내용이 훨씬 많습니다. 시간이 남는다면 번역해서 웹에 올리는 것도 한국 리눅스 사회에 기여하는 일이 될 수 있겠죠.

피할 수 있을때 즐겨라! http://melotopia.net/b

익명 사용자의 이미지

Ubuntu를 설치하셨다면, 이왕이면 최신버젼을 설치하시고

http://ubuntu-manual.org/

에서 매뉴얼을 다운받아 공부해보세요.

또 특정 distro가 아닌 전반적인 공부를 위해서

http://www.tldp.org/guides.html

에 있는 책들도 도움이 될겁니다.

단, 당연히 영어로 되어있습니다.

그러나 영어의 수준 자체는 절대 높지 않으니

정상적인 고등학교 교육을 받고 컴퓨터 전공하시는 분이라면

전혀 어려움이 없을겁니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.