ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (1주차 1일) Linux 기초
    수업 내용 정리 2024. 5. 13. 10:36

    Linux

    > 리눅스 가상머신(Windows 환경)

    • Oracle VM VirtualBox - > Ubuntu

    > 터미널(Terminal), 셸(Shell)

    • 터미널과 셸은 완전히 다른 소프트웨어이니 혼동하면 안 된다.
    • 터미널(입력) -> 셸(전달, 실행, 출력) -> 터미널(결과 출력)

    > 원격 접속(MobaXterm, OS -> 가상 머신 연결)

    • VM linux ip(ifconfig), Windows PC ip(ipconfig - 이더넷: IPv4) 확인
      1. apt -> 패키지 매니저, (sudo apt install net-tools -> net-tools 패키지를 설치)
      2. net-tools 패키지 내부 ifconfig 명령어를 통해 가상 머신 ip 출력
      3. openssh-server 패키지 설치(다른 PC의 SSH Client에서 Server로 설정한 PC에 원격 접속 가능)
    • 포트 포워딩(VM -> Ubuntu 설정 -> 네트워크 - 고급 -> 포트 포워딩)
      * 규칙: Windows PC ip + host port를 통해 요청하면, VM 상의 linux port(guest, 22번)로 접근 전달
      1. 호스트 IP: Window PC ip, 게스트 IP: VM linux ip
      2. session -> ssh: remote host-> Window PC ip, specify username-> linux username, port-> host port

    > 트리 구조: 루트 디렉터리(Root Directory)

    • 리눅스는 언제나 시스템 전체에서 root로부터 시작하는 단 하나의 트리만 가지게 된다.

    > 작업 디렉터리(Working Directory): 현재 작업 중인 디렉터리

    • 현재 작업 중인 디렉터리를 확인: pwd 명령어 사용(초기: 홈 디렉터리 -> /home/beyond, ~ 표기)
    • 절대 경로: 루트 디렉터리 기준
      상대 경로: 현재 디렉터리 기준(. -> 현재, .. -> 상위)

    > 명령어

    • 인자: 공백 기준으로 구분
    • 명령어 --help: 해당 명령어의 사용법 출력

       // 디렉터리 내용 확인

    • cd: change directory, 작업 디렉터리 변경
    • ls: list, 현재 작업 디렉터리의 파일이나 하위 디렉터리의 목록 확인
      * 옵션: -l(상세): 형식(dr: 링크) | 권한 | 링크 개수 | 소유자 | 파일 크기 | 수정 날짜 | 파일명

                 -a(숨김 파일 표시), -F(형식) (...)

      * 권한:  rwx -> read, write, execute(소유자, 그룹 사용자, 기타 사용자 순으로 표기)
      * 경로 지정 시 해당 경로 기준으로 확인 가능, 디렉터리 및 옵션 모두 다중 실행 가능

       // 파일, 디렉터리 조작

    • mkdir [옵션] <디렉터리명>: make directory, 디렉터리 생성(경로 지정, 다중 실행 가능)
    • touch: 빈 파일 생성, 타임스탬프 갱신
      * 옵션: -c(파일이 존재하지 않는 경우, 파일 생성 X)
    • rm: 파일 삭제, 옵션: -r(디렉터리 삭제) // rmdir: 빈 디렉터리 삭제
    • echo 'Hello world' > sample.txt: echo 명령어에 작성된 내용을 가지는 sample.txt 파일 생성
      * >: 출력 리다이렉션(> 옆의 파일 안에 선행 내용을 출력) // >>: 덮어쓰기 없이 아래 행부터 내용 추가
    • cat: concat, 파일 내용 출력(소량) // less: 화면 단위로 파일 내용 출력
    • alias: bashrc 파일 내부에 작성, 명령어에 별칭 추가. e.g. ll = 'ls -alF'
    • cp [옵션] <파일> <위치>: 파일, 디렉터리 복사
      * 옵션: -r(디렉터리 복사), -i(진행 여부 확인)
    • mv [옵션] <파일> <위치>: 파일, 디렉터리 이동, 파일명 변경

       // 링크

    • ln [옵션] <파일> <링크명>: link
      * 하드 링크: 한 파일 원본에 이름을 여러 개 붙이는 기능
      * 심볼릭 링크: 원본 파일에 대한 정보가 담긴 작은 특수 파일이며, 원본과 구별됨(원본이 삭제되어도 링크 파일은 삭제되지 않음)

       // 파일 검색

    • find <검색할 디렉터리> <조건> <액션>: 지정 디렉터리 트리를 내려가면서 검색 조건에 일치하는 파일을 검색
      * 조건: -name, -iname(파일명, 대소문자 구분여부), -type(파일 형식), -a(and, 생략 가능. 다중 조건)
      * 와일드카드 사용 가능