생활코딩 리눅스 요약 : 00 - 리눅스 준비 ~ 05 - sudo

Jeongtae Kim·2022년 7월 18일
0

서버

목록 보기
1/6
post-thumbnail

📒 생활코딩 리눅스 수업 소개

생활코딩의 운영자 이고잉 님이 2016년부터 2017년까지 만드신 리눅스 초보 수업으로 리눅스 뿐만 아니라 네트워크와 인터넷 등도 수업에 포함되어 있습니다. 이 글의 요약을 보는 것보다 동영상 수업을 듣는 것을 강력 추천합니다! 또한, 이고잉님이 작성하신 글들에 동영상의 추가 정보들을 더 적어 놓았습니다.
생활코딩 리눅스

📌 00 - 리눅스 준비

리눅스 준비 수업
리눅스 수업을 듣기 위해서는 리눅스 실습환경이 있어야 합니다. 수업에서는 아래 4개의 리눅스 설치 방법을 알려줍니다.

저는 Codeonweb을 사용하다가 너무 제한되는 것 같아서 가상머신을 사용했습니다. virtual box 수업이 있지만 저는 VMware Workstation Player를 사용했습니다. 리눅스 종류에는 우분투, 센토스 등이 있지만 우분투가 수업에 적합합니다. 대부분 터미널 창에서 수업이 진행되니 Ctrl + Alt + t로 터미널을 열어주세요.

📌 01 - 디렉토리와 파일

디렉토리와 파일 수업
이 수업에서는 디렉토리, 파일을 다루는 기초 명령어들을 다룹니다.

  • 명령어로 컴퓨터를 제어하는 것을 CLI(Command Line Interface)라고 합니다. 참고로 윈도우는 GUI(Graphical User Interface) 기반입니다.
  • ls : 현재 디렉토리의 파일 목록을 출력합니다.

    - ls -l은 자세히 보기(권한, 만든 시간, 용량, 만든 사람 등을 볼 수 있음)와 함께 출력합니다.

    - ls -al은 숨김 파일까지 모두 자세하게 보여준다는 것이 됩니다. a와 l은 명령어의 옵션으로 옵션들은 '-' 뒤에 여러 개를 줄 수 있습니다.
  • pwd : 현재 위치하고 있는 디렉토리를 알려줍니다
  • mkdir 디렉토리명 : 디렉토리를 생성합니다.
  • touch 파일명 : 파일을 생성합니다.
  • cd 디렉토리 : 해당 디렉토리로 이동합니다.
  • 상대경로와 절대경로 :
    - 상대경로는 현재 디렉토리의 위치를 기준으로 다른 디렉토리의 위치를 표현하는 것으로 '..'은 부모 디렉토리를 의미합니다. 'cd ..'은 현재 디렉토리의 부모 디렉토리로 이동하는 명령이 됩니다. 참고로 현재 디렉토리는 '.' 입니다.
    - 절대경로는 최상위 디렉토리를 기준으로 경로를 표현하는 것을 의미합니다. 최상위 디렉토리는 루트(root) 디렉토리라고 하고 '/' 입니다. 'cd /'는 최상위 디렉토리로 이동한다는 뜻입니다. 예를 들어, '/home/egoing'은 루트 디렉토리 안의 home 디렉토리 안의 egoing 디렉토리를 뜻합니다.
  • rm 파일명 : 파일을 삭제합니다.
    - rm -r 디렉토리명 : 디렉토리를 지우며 디렉토리 안의 모든 파일과 디렉토리를 삭제합니다.
    - rm -rf 디렉토리명 : rm -r을 할때 권한이 없는 파일들도 강제로 삭제합니다. 위험한 명령이니 신중하게 사용해야합니다.

수업에서 --help 명령어를 다뤘으나 다음 챕터에서 다루겠습니다.

📌 02 - --help 와 man

--help 와 man 수업

  • 명령어 뒤에 --help를 붙이면 명령의 사용설명서가 출력됩니다.
    예) ls --help
  • man 뒤에 명령어를 붙이면 명령의 사용설명서가 더 자세하게 출력됩니다. man이 설치되어 있지 않으면 sudo apt-get update(리눅스를 켠 다음에 설치하기 전에 해주는 것이 좋음)를 한 다음에 sudo apt-get install man-db로 설치할 수 있습니다.
    예) man ls

📌 03 - 필요한 명령을 검색으로 찾는 법

필요한 명령을 검색으로 찾는 법 수업
자신이 모르는 정보를 찾기 위해서는 검색을 해야합니다.
제가 파일을 복사하는 방법을 알고 싶다면 구글 검색에 'file copy in linux'를 검색해서 알 수 있습니다. 저는 두 검색결과를 보겠습니다.

이렇게 영어로 된 예시를 볼 수도 있고,

이렇게 한글로 된 설명도 볼 수 있습니다.

게시물 링크 : https://ngee.tistory.com/270, https://www.cyberciti.biz/faq/copy-command/
더불어 --help 와 man을 사용하면 더 확실히 명령어에 대해 알 수 있을 것입니다.

📌 04 - 명령의 빈도수

명령의 빈도수 수업
모든 명령어를 처음부터 알고 있을 필요는 없습니다. 빈도수가 높은 명령어들을 중심으로 알고 있다가 그 외의 것들은 맥락적으로, 경험적으로 알아가면 됩니다.
다음 사진은 'drbunsen.org'의 명령어 빈도수 조사입니다. 근데 사이트가 없어져서 유튜브에서 캡처한 것입니다.

https://www.facebook.com/groups/codingeverybody/permalink/1410557108984821/ 에 들어가보시면 이고잉 님이 자기가 자주 사용하는 명령어 10개를 아는 방법을 올려 놓으셨습니다. 제 결과는 이렇게 나왔습니다. 근데 chmod는 언제 사용한지 까먹었습니다.

📌 05 - sudo

sudo 수업
sudoSuper User DO의 줄임말이고, 다른 사용자의 권한으로 실행이라는 뜻의 Substitute User DO의 줄임말로도 쓰입니다.
리눅스는 다중 사용자 시스템이기 때문에 권한(permission)이 각각의 사용자에게 있습니다. super user(root user)는 모든 권한이 있지만 super user로 활동하다가 실수를 하게 되면 큰일이 나게 됩니다. 예를 들어 rm -rf / 를 하면 최상위 디렉토리인 루트 디렉토리 안의 모든 파일이 삭제되어 컴퓨터가 사라지는 모습을 눈앞에서 보게 됩니다! 자폭 그래서 평소에는 일반 사용자로 접속하고 있다가 super user의 권한이 필요할 때만 명령어 앞에 sudo를 붙이는 것입니다. 물론 sudo를 붙인 후에도 명령어를 조심해서 사용해야 합니다. Windows에서의 '관리자 권한으로 실행'과 같은 역할을 합니다.
예를 들어, 'apt-get install git'(git 패키지를 설치함)을 할 때 sudo를 안 붙이면 다음과 같은 결과가 나옵니다.

다음 시간에 계속 ...

profile
유용할지도 모른다.

1개의 댓글

comment-user-thumbnail
2022년 7월 19일

좋은... 정보,, 잘,, 보고,, 갑니다.. ^^

답글 달기