SEB_BE 6일차 - 리눅스

subimm_·2022년 8월 26일
0

코드스테이츠

목록 보기
7/83

💡 오늘의 학습 목표

  • CLI 기본 명령어
  • 패키지와 패키지 매니저
  • 사용 권한
  • 환경 변수

📔 CLI 기본 명령어

  • CLI - 명령줄 인터페이스

  • GUI - 그래픽 사용자 인터페이스

  • 컴퓨터를 조작하기 위한 입출력을 간단하게 I/O 라고 한다.

  • 윈도우 환경에서는 WSL2로 리눅스

    리눅스 터미널에서 사용하는 기본 명령어

    • pwd (print working directory): 현재 위치 확인

    • mkdir (make directories): 새 폴더 생성
      생성할 폴더명을 함께 입력 공백으로 구분
      폴더나 파일 이름에 공백이나 특수문자가 있으면 \적용

    • ls (list) : 특정 폴더에 포함된 파일이나 폴더 확인
      옵션 l a
      ls -l - 폴더나 파일의 포맷을 전부 표현
      ls -a - 숨어있는 폴더나 파일을 포함한 모든 항목 출력
      ls -al 또는 ls -la
      drwxr-x--- > 첫 글자 d 는 디렉토리
      -rw-r--r-- > 첫 글자 - 는 파일 (cd 로 진입 불가)

    • cd(change directory) : 폴더 진입(상호작용 폴더 변경)

    • touch : 파일 생성

    • > : 실행 결과 저장
      ls > a.txt 는 a 텍스트 파일에 ls 명령어의 실행 결과가 저장
      echo 는 뒤의 내용을 화면에 출력해주는 역할
      echo hello 는 화면에 hello 출력
      echo hello > a.txt 는 hello 가 a 텍스트 파일에 저장

    • cat : 파일의 내용을 터미널에 출력


    • rm(remove) : 폴더나 파일 삭제 (휴지통을 거치지않고 삭제)
      폴더를 삭제하려면 옵션 r f 사용
      r =폴더를 지울때 사용 f =질문을 받지 않고 지움
      rm -rf bye

    • mv : 폴더나 파일의 이름 변경, 위치 옮기기
      위치 : mv [이름][도착폴더의 이름]
      이름변경 : mv [이름][변경할 이름]

    • cp : 폴더나 파일을 복사하기
      cp [원본 파일 이름][복사할 파일 이름]

      cd . 은 현재 폴더 . . 은 현재폴더보다 앞에 있는 폴더
      폴더를 복사하려면 옵션r f 사용
      cp -rf bye hi : bye 폴더를 hi 폴더이름으로 복사

📔 절대경로와 상대 경로

  • 절대 경로는 기준점으로부터의 절대적인 위치 (루트폴더/)
    ex) /home/subimm/helloWorld/hello/
  • 상대 경로는 특정 폴더 또는 파일의 위치 현재위치 기준점
    ex) 현재 위치한 폴더는 (.) 상위 폴더는 (. .)
    (/)는 폴더 내부 (./) 는 현재 폴더 아래의
  • ~ 는 홈 디렉토리

📔관리자(root) 권한

  • whoami : 현재 로그인 된 사용자 확인
    사용자 폴더의 경로는 ~/ 로 표시 ~ 기호는 루트폴더로부터 사용자 폴더 까지의 경로를 축약한 형태

  • sudo : 사용자 환경에서 관리자 권한을 획득하는 명령어
    mkdir 앞에 sudo 명령어를 붙여 관리자권한으로 폴더 생성
    관리자 비밀번호 입력 후 생성됨. (화면 출력x)
  • 명령어 ls -l 로 생성자 확인

📔 텍스트 에디터 nano

  • CLI 에디터는 vim(vi), emacs 등이 있다.
    aws와 같은 원격 서버 환경에서 원격으로 파일을 편집해야하는 경우 필요
  • nano 실행
    nano helloWorld.java - helloWorld.java를 nano에서 연다
    nano - 그냥 실행
    ^x 는 ctrl+x 키조합
    파일 편집 후 종료
    Save modified buffer (ANSWERIG "No" WILL DESTROY CHANGES) ?
    라는 문구가 나오면 저장 여부 결정
    파일 저장 ^o

📔패키지와 패키지 매니저

  • 리눅스의 패키지는 여러파일을 모아 하나의 파일로 저장하고 있는 압축파일
  • 패키지에 들어있는 파일 구성
    프로그램 파일 / 프로그램 설치 파일 / 설치 설명서 / 정보를 담은 파일

  • 패키지 매니저 : 패키지의 설치, 변경, 삭제 등 편리하게 관리해주는 도구
    (스마트폰의 앱 스토어와 비슷)

apt 명령어 입력하면 주요 명령어 출력됨.

apt update : 패키지 목록 갱신 (관리자 권한)
패키지를 다운로드 할 수 있는 저장소의 최신 정보 업데이트
설치된 프로그램이 새로운 버전으로 변경 x

apt list --upgrade : 업그레이드 가능한 패키지 목록 출력

apt upgrade : 전체 패키지 버전 업 (관리자 권한)

apt --only-upgrade install 패키지이름 : 특정 패키지만 버전 업 (관리자 권한)

apt install 패키지이름 : 패키지 설치 (관리자 권한)

apt list --installed : 설치된 패키지 목록

apt searsh 검색어 : 패키지 검색

apt show 패키지이름 : 패키지 정보 출력

apt remove 패키지이름 패키지 삭제 (관리자 권한)

패키지 설치나 삭제를 할 때 sudo 명령어로 관리자 권한 획득

sudo apt install hello - 관리자 권한으로 hello라는 패키지 설치

  • 과정이 잘못되고 있는 경우 ctrl+c 작업취소 후 사용자 입력 되찾기

Action Items

  • wget 설치하기- URL로 파일을 다운로드 하는 프로그램

우분투에서 복사/붙여넣기 ctrl+shift+c/v
neofetch 설치해보기


📔 사용 권한

폴더와 파일 각각 하나씩 생성 후 ls -l

-rw-r--r--
drwxr-xr-x

  • 폴더이면 d로 시작 아니면 -로 시작
  • r : read permission 읽기 권한
  • w : write permission 쓰기 권한
  • x: execute permission 실행 권한

을 3파트에 걸쳐서 나타낸다.
사용자 / 그룹 / 나머지
d / rwx / rwx / rwx

파일 hello.java는 rw-r--r-- 은 소유자는 읽기,쓰기 가능 나머지는 읽기만 가능하다.
폴더 linux 는 rwxr-xr-x는 소유자는 읽기,쓰기,실행 가능 나머지는 읽기,실행 가능

user / group / and other

  • user : 파일의 소유자, 기본적으로 만든사람이 소유자가 된다.
  • group : 여러 유저 포함가능 그룹에 속한 모든 유저는 파일에 대한 동일한 엑세스 권한을 갖는다. 파일에 그룹 권한 할당 가능
  • otehr : 파일에 대한 엑세스 권한이 있는 다른 유저, 파일을 만들지 않은 다른 유저를 의미한다. other 권한 설정 시 global 권한 설정이라고 본다.

  • chmod : 권한 변경 명렁어
    로그인한 사용자와 폴더나 파일의 소유자가 같을 경우 변경 가능
    (소유자가 다를 경우 sudo 이용)

    권한 변경 방법

    • + - = 과 액세서 유형을 표기해서 변경하는 심볼릭메서드
      액세스 클래스 , 연산자, 액세스 타입으로 구분

      ex) chomd o-r hello.java : hello.java 파일의 나머지 유저의 읽기 권한 제거


    • rwx를 3비트로하여 숫자 3자리로 권한을 표기해서 변경하는 앱솔루트 폼
      숫자 7까지 나타내는 3비트의 합으로 표시
      r = 4 w = 2 x = 1
      ex) user는 rwx 로 그룹과 나머지는 r-- 로 변경하고 싶다면
      chmod 744 hello.java
      ex) user는 r--로 그룹은 rw- 나머지는---로 변경하고 싶다면
      chmod 460 hello.java

📔 환경변수

  • 프로그램의 동작에 영향을 줄 수 있는 값
  • 지역 환경변수 : 환경변수를 생성한 특정 사용자만 사용
  • 전역 환경변수 : 모든 사용자가 사용할 수 있음.

환경변수 임시 적용

지역 환경변수

  • hello=velog 같이 적용 가능 = 앞뒤 공백 x
    변수에 공백이 있을 경우엔 " 로 감싸준다.

전역 환경변수

  • export 명령어 사용
    ex) export velog="is good"

환경변수 개별 값 확인

  • echo 명령어로 확인 환경변수 앞에는 $ 를 붙여줘야함
    ex) echo $hello

환경변수 영구 적용

  • 지역 환경변수 영구 적용
    cd ~ > ls -al 목록에 .zshrc 나 .bashrc 를 nano 로 열기
    파일의 맨 아래로 이동하여 환경변수 작성 후 저장
    source .zshrc 로 변경 내용 저장
  • 전역 환경변수 영구 적용
  1. 변경하고자 하는 파일 권한 수정
    ex) sudo chmod 777 /etc/profile
  2. 편집기로 파일 열기
    nano /etc/profile
  3. 맨 아래로 이동하여 환경변수 작성 후 저장
  4. source /etc/profile 입력하여 내용 적용 후 출력
  • export 명령어로 생성된 환경변수 목록 확인

회고

오늘은 리눅스 기초에 대해 학습했다. 꽤나 시간이 걸렸지만 천천히 하니까 이해는 되었다. 그래도 익숙하지 않아서 익숙하게 사용하려면 시간이 걸릴것 같다.
드디어 부트캠프 시작한지 일주일이 지났다. 일단 생활패턴 자체를 바꾸는게 제일 힘들었고, 학습 내용은 앞으로 배울것에 비하면 기초적인 내용이었지만 나한테는..버거웠다. 다음주부터는 제대로 해야한다는 생각때문인지 부담이 많이 된다. 다음주에는 6시 이후로도 혼자 학습을 좀 해야겠다.😊
https://dora-guide.com/linux-commands/ 리눅스 명령어 모음

profile
코린이의 공부 일지

0개의 댓글