02 Linux 기초 / 20230413
실습 툴 설치, Linux 기초, CLI 기본 명령어, 관리자 권한과 경로, 패키지와 패키지 매니저, 운영체제
💡 운영체제(OS, Operating System)
➡️ 컴퓨터 시스템의 하드웨어, 소프트웨어적인 자원들을 효율적으로 운영 및 관리함으로써 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 하는 시스템 소프트웨어
➡️ 레스토랑에 비유한다면 레시피, 운영 방침, 안내, 손님 관리, 메뉴 관리, 직원 관리 매출 정리 등등을 하는 컴퓨터를 관리할 수 있도록 중간에서 매니저 역할 해주는 것!
** 즉, 하드웨어 바로 위에 설치되어 사용자 및 다른 소프트웨어와 하드웨어를 연결하는 중개자 역할이라고 할 수 있음 **
➡️ 대표적인 운영체제로는 윈도우(Windows), MacOS, 리눅스(Linux), 유닉스(Unix)
💡 CLI 와 GUI
➡️ '명령줄 인터페이스(CLI, Command-Line Interface)' : 명령어로 컴퓨터를 제어하는 방식
➡️ '그래픽 사용자 인터페이스(GUI, Graphic User Interface) : 컴퓨터를 사용할 때 적용되는 컴퓨터 제어 방식 ex.아이콘
프로그래밍에서 CLI가 중요한 이유?
👉🏻 상대적으로 높은 안정성과 속도 때문
GUI는 사용자가 쉽게 컴퓨터를 제어할 수 있다는 장점이 있지만 그래픽에 컴퓨터 자원을 많이 사용할 수 밖에 없으며 CLI에 비해 느림
반면 CLI는 화면에 나타날 내용에 그래픽 작업을 거치지 않아도 되기 때문에 컴퓨터의 자원을 적게 사용하며 더 빠르게 동작함
💡CLI 기본 명령어
📍컴퓨터를 조작하기 위한 입력과 출력을 간단하게 I/O(Input/Output) 로 표기, "아이오"라고 읽음
📍리눅스의 터미널은 키보드의 입력과 모니터의 출력으로 모든 작업 가능
📍GUI가 개발되기 전부터 컴퓨터를 조작하기 위해 사용되었기 때문에 GUI가 할 수 있는 모든 작업은 CLI로 가능
📍내 컴퓨터는 MacOS라 별도의 설치 없이 실습이 가능했다!
📍만약 폴더 또는 파일의 이름에 공백이나 특수문자가 있으면 백슬래시( \ ) 이용
- 프롬프트(Prompt)
: 터미널을 실행시키면 프로그램에 명령어를 입력할 수 있는 커서가 나타난다. 키보드의 입력을 확인하고 편집할 수 있는 한 줄의 공간을 프롬프트라고 한다. - pwd(print working directory)
: 현재 위치 확인하기, 터미널에서 pwd 명령어를 입력하면 현재 경로가 나타난다. - mkdir(make directories)
: 새로운 폴더 생성하기, 생성할 폴더의 이름을 함께 입력해야한다. CLI에서는 명령어와 폴더의 이름을 공백으로 구분한다.
** 폴더 n개 만드는 법 mkdir [폴더명] {1, n} - ls(list)
: 특정 폴더에 포함된 파일이나 폴더 확인하기, 특정 폴더에 포함된 파일이나 하위 폴더의 리스트를 출력한다. - cd(change directory)
: 폴더에 진입하기 - touch
: 파일 생성하기
🔎 파일(File) : 서류철이라는 뜻, 컴퓨터나 스마트폰 전자기기에서 문서의 형태로 작성된 모든 것 - > (redirection)
: 실행 결과를 파일로 저장하기 - echo
: 뒤의 내용을 화면에 출력해주는 역할
🔎 echo 내 이메일 > sample.txt : 실행 결과가 출력 대신 텍스트 파일에 저장됨 - cat
: 파일의 내용을 터미널에 출력하기, 파일의 내용을 순서대로 읽고 터미널에 출력
🔎 너무 큰 파일을 출력할 때 쓰이는 다른 명령어들 : head, tail, more, less - rm(remove)
: 폴더나 파일 삭데하기, rm을 통해 삭제한 폴더나 파일은 휴지통을 거치지 않고 삭제
단일 파일은 그냥 삭제 가능하지만 폴더는 옵션 사용
➡️ rm -rf : 옵션 r 과 f 사용하기 - mv(move)
: 폴더나 파일의 이름을 변경, 또는 폴더나 파일의 위치 옮기기 - cp(copy)
: 폴더나 파일을 복사하기
** 파일 복사하기 cp [원본 파일 이름] [복사할 파일 이름]
** 폴더 복사하기 cp -rf [원본 폴더명] [복사할 폴더명]
💡사용자와 관리자
➡️ 컴퓨터 운영체제에는 사용자와 관리자 존재, 사용자는 일상적으로 PC를 켜서 바탕화면에 진입하기 위해 로그인하는 계정이고 관리자는 사용자가 접근할 수 없는 영역에 접근할 수 있는 높은 권한을 가지고 있다.
➡️ 관리자는 프로그램을 설치하거나 변경 또는 삭제하는 권한을 가진다.
➡️ 사용자는 프로그램을 실행할 수 있지만 변경할 수 없도록 제한된 권한을 가진다.
✍🏻 새로운 프로그램을 설치하거나 변경 또는 삭제할 때 권한이 필요하기 때문에 특정 명령어를 입력하는 것으로 잠시 관리자 권한을 빌려올 수 있다!
💡sudo : 관리자 권한을 일시적으로 획득하는 명령어,
💡 패키지 매니저
➡️ 패키지의 설치, 변경, 삭제 등 관리를 편리하게 해주는 도구
➡️ 리눅스 운영체제의 사용자는 패키지 매니저를 이용해 필요한 패키지 설치 가능
➡️ 패키지 매니저는 모든 패키지 저장소 위치를 저장하고 있으며 사용자가 특정 프로그램의 설치를 요청하면 패키지 매니저는 저장된 위치에서 패키지를 다운로드해 설치 프로그램 실행
📍MacOS 패키지 매니저 - 'brew'
💡환경변수
➡️ Linux 기반의 운영체제에서는 시스템 자체에 전역 변수 설정 가능 -> '환경변수'
➡️ 환경에 따라 프로그램의 동작에 영향을 미치는 값
➡️ 환경변수에 따른 문제를 해결하고자 운영체제는 환경변수를 설정하고, 프로그램이 환경변수를 찾아서 사용할 수 있도록 도와줌
➡️ 환경변수 설정을 통해 프로그램이 동작하는 환경을 설정할 수 있음
두 번째 날도 이렇게 마무리! 확실히 실습을 하면 시간이 금방 금방 간다. 이것저것 실행해보고 찾아보고 하는 과정들이 재밌게 느껴졌다. 제발 이 재미가 계속 되기를!! 내용이 많아 최대한 중심이 되는 내용을 간단하게 정리했다. 내일도 파이팅!
'SEB_BE_45 > 공부 정리' 카테고리의 다른 글
05. Java 기초 2 / 20230418 (0) | 2023.04.18 |
---|---|
04. Java 기초 1 / 20230417 (1) | 2023.04.17 |
03 Git 기초/20230414 (0) | 2023.04.14 |
01 웹개발 기초/20230412 (0) | 2023.04.12 |
00 Learn How To Learn /20230411 (0) | 2023.04.11 |