02 Linux 기초 / 20230413

2023. 4. 14. 00:43
 실습 툴 설치, 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 : 관리자 권한을 일시적으로 획득하는 명령어, 

관리자 권한을 획득하여 폴더 만들기
ls -l 을 통해 생성한 폴더의 소유자를 확인하고 비교할 수 있음

 

💡 패키지 매니저

➡️ 패키지의 설치, 변경, 삭제 등 관리를 편리하게 해주는 도구 
➡️ 리눅스 운영체제의 사용자는 패키지 매니저를 이용해 필요한 패키지 설치 가능 
➡️ 패키지 매니저는 모든 패키지 저장소 위치를 저장하고 있으며 사용자가 특정 프로그램의 설치를 요청하면 패키지 매니저는 저장된 위치에서 패키지를 다운로드해 설치 프로그램 실행 
📍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

BELATED ARTICLES

more