[Linux] 리눅스 세션 정리.

문성호·2020년 8월 30일
0

리눅스란?

  • Linux는 1991년 Linus Torvals(라이너스 토발즈)가 개발한 운영체제 이다. 참고로 Linus Torvals는 아직도 살아있고 여전히 Linux 개발을 이끌고 있다. 그리고 Linux는 오픈소스 이며 누구나 코드를 볼 수 있다.

  • Linux는 시스템을 운영하는데 가장 널리 사용되는 운영체제 이다. Windows 시스템이나 application이 아닌 이상 일반적으로 시스템 서버는 linux 기반으로 운영되고 있다. 그럼으로 개발자는 linux에 대 잘 알아야 한다. Linux에 시스템을 실행하고 유지하고 관리하기 때문이다.

File System Hierarchy

  • 리눅스는 모든 것이 다 파일과 그 파일들이 모인 Directory 단위로 이뤄져있고, 그 Directory들의 Tree 구조로 이루어졌다.

  • Root Directory가 모든 파일들의 최상위 Directory.

  • root는 /로 표현하고, root에서 각 하위 디렉토리로 들어갈 때마다 /usr, /usr/bin.. 로 표현하는 방식.

Home Directory, Absolute/Relative Path

(1) Home Directory란?

  • 유저의 공간이다라고 생각하면 된다. 윈도우로 치면 바탕화면과 비슷한 비중.

(2) Absolute Path / Relative Path

  • 디렉토리 경로에는 크게 2가지가 있다.
  • Absolute Path, 내가 찾고자 하는 디렉토리의 위치가, root 디렉토리부터 시작해서
    어디에 있는지를 알고자 할 때 쓴다.
  • Relative Path는 현재 디렉토리에서 찾고자 하는 디렉토리가 어디에 있는지를 표시하는 경로다. 현재 디렉토리는 ./으로 표시하고, 그 이전(상위) 디렉토리는 ../으로 표시한다.

환경변수 (Home, User, Path)

  • 환경 변수란 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임으로 쉘에서 정의되고 실행하는 동안 프로그램에 필요한 변수를 나타냄.

  • 리눅스에서 환경이란 현재 돌아가고 있는 Shell이다.
    Shell의 어떤 설정값을 가지고 있는 변수를 뜻한다.

  • 대표적으로 HOME, USER, PATH가 있는데,
    HOME : /home/eun
    USER : 유저의 아이디를 저장한 환경 변수
    Path : Path값을 저장한 환경 변수. (명령어들도 결국 프로그램이기 때문에 그 Path를 알아야 실행할 수 있다.)

  • 예를 들어, ls 명령어가 입력되면 shell이 PATH 환경 변수 값에 저장되어 있는 경로들을 하나씩 보면서 ls라는 프로그램을 찾아서 실행한다.
    새로운 프로그램을 설치하면(sudo나 pip으로) 역시 그 프로그램의 환경변수가 자동으로 설정되거나, 되어 있지 않은 경우 수동으로 설정해줘야 한다.

자주 사용되는 명령어

Shell 명령어들을 잘 알고 익숙해져야 linux를 잘 쓸수 있다. 다음은 기본적인 shell 명령어 들이다. 찾아보고 직접 실행해 봐서 익숙해지도록 하자.

  • cd : change directory

    cd .. // 상위 디렉토리로 이동.
    cd ~ // home 디렉토리로 이동.
    cd users // user라는 페이지로 이동.

  • ls : list의 준말. 현재 디렉토리의 목록을 보여줌.

    ls -l // 디렉토리 내의 파일을 리스트 형태로 세로로 정렬해서 보여줌.
    ls -al // 숨김파일까지 리스트 형태로 보여줌.

  • mv : move의 줄임말. 파일을 옮긴다.

    mv a.txt test // a.txt 파일을 test라는 폴더로 옮김.

  • cp : copy의 줄임말. 파일을 복사한다.

    cp a.txt b.txt // a.txt를 b.txt라는 파일 이름으로 복사한다.

  • cat : concatenate의 줄임말. 어떤 프로그램의 내용을 보여준다.

    cat file1 # file1의 내용을 출력한다.
    cat file1 file2 # file1, fil2의 내용을 연달아 출력.

  • rm : remove의 줄임말. 파일 삭제.

    rm a.txt // a.txt를 삭제함.
    rm -r test // test라는 디렉토리 안의 모든 내용을 삭제함.

  • mkdir : make directory의 줄임말.

    mkdir name1 // name1이라는 디렉토리를 생성.

  • clear : 터미널을 clear하게 해줌.

  • pwd : 현재 경로를 알려줌.

  • chown : 파일의 소유권을 변경해주는 명령어.

  • chmod : chmod 명령어는 리눅스의 파일이나 디렉토리의 권한을 변경하는 명령어입니다.

  • ps : 현재 터미널 상에서 실행되고 있는 process의 목록을 출력해줌.

profile
오늘을 모아 내일을

0개의 댓글