기본용어
1. 기본용어
- I/O(아이오) : 컴퓨터를 조작하기 위한 입력(input)과 사용자가 인식 할수있게하는 출력
- input source : 컴퓨터에 새로운 명령을 전달하는 소스(키보드,마우스,카메라,마이크 ...)
- output source: 컴퓨터가 사용자에게 인식할 수 있도록 하는일 전달하는 소스(모니터,스피커 ...)
- CLI(Command-line Interface) : 명령어를 입력해 컴퓨터를 조작하는 방식
- GuI(Graphical User Interface) : 사용자가 화면을 통해 컴퓨터와 소통하는 방식
- 터미널 : 터미널은 CLI(Command-Line Interface) 이다.
- 프롬프트(prompt): 키보드의 입력을 확인하고 편집할 수 있는 한 줄의 공간을 프롬프트
기본적인 명령어(1)
1.pwd -현재 위치 확인하기
- pwd(print working directory)
pwd
2.mkdir -새로운 폴더 생성하기
- mkdir(make directories)
- mkdir 폴더이름
- 폴더 또는 파일의 이름에 공백(띄어쓰기)이나 특수문자가 있으면, 백슬래시()를 이용해 적용
mkdir helloWorld mkdir hell\ world
3.ls - 특정 폴더에 포함된 파일이나 폴더 확인하기
- ls(list)// 특정 폴더에 포함된 파일이나 하위 폴더의 리스트를 출력,함께
- 사용되는 옵션들 a, l ,al/la
ls 특정 폴더에 포함된 파일이나 폴더 출력 ls -a 숨어있는 폴더나 파일을 포함한 모든 항목을 터미널에 출력 ls -l 폴더나 파일의 포맷을 전부 출력 ls -la / ls -al
- ls -l 를 인풋하면 첫글자에 'd'와 '-'를 확인할 수 있다 'd'는 폴더를 '-'파일을 나타냄
drwxr-xr-x -rw-r--r--
4.open .-명령어를 이용해 폴더를 GUI의 탐색기로 실행하기
- 터미널의 현재 위치를 GUI의 탐색기로(파인더) 열 수 있다.
open .
5.cd - 폴더에 진입하기
- cd(change directory)
cd helloWorld
6.touch -파일 생성하기
touch hi.txt
7.cat -파일의 내용을 터미널에 출력하기
- 파일을 순서대로 읽고 터미널에 출력(파일여러개 가능)
cat hi.txt
기본적인 명령어(2)
1.rm- 폴더나 파일 삭제하기(휴지통을 거치지 않고 삭제된다)
- rm(remove)
rm bye.txt 단일 파일만 삭제가능 rm -rf hello 폴더 삭제(r :recursive 재귀적 f:force)
- 옵션 r은 폴더를 지울때, 옵션 f는 질문을 받지 않고 지울 떄 사용
2.mv-폴더나 파일위치 변경, 폴더나 파일이름 변경- mv(move)
mv bye.txt bye 1) mv [폴더나 파일의 이름] [도착 폴더의 이름] mv bye.txt helloWorld.txt 2)mv [바꾸기전] [바꾼후]
- 컴퓨터가 파일을 옮기는 경우(mv)
1)파일의 내용을 잠시 저장한다
2)원래 위치의 파일을 삭제한다.
3)도착 폴더에 1에서 저장한 내용으로 새로운 파일을 생성한다.
- 폴더나 파일의 원래 위치와 도착 폴더의 위치가 같은 경우(mv의 경우)
1) 폴더나 파일의 이름만 변경함3.cp -폴더나 파일을 복사하기
- 파일 복사
cp helloWorld.txt hicomputer.txt // cp [원본 파일 이름] [복붙할 파일 이름]
- 폴더복사
2)폴더 복사 cp -rf bye hi // cp -rf [원본 폴더이름] [복붙할 폴더이름]
- 컴퓨터가 파일을 복사하는경우
1)파일의 내용을 잠시 저장한다
2)도착 폴더에 저장한 내용으로 새로운 파일을 생성한다
컴퓨터의 운영체제
1.컴퓨터 두가지 운영체제
컴퓨터의 운영체제에는 사용자와 관리자가 있다.관리자는 프로그램을 설치하거나 변경 또는 삭제하는 권한을 가지고 있고, 사용자는 프로그램을 실행할 수 있지만, 변경할 수 없도록 제한된 권한을 가지고 있다. 사용자 계정 컨트롤은 사용자가 모르는 사이에 시스템 설정을 변경하는 악성코드가 실행될 때, 접근 권한을 막아 사용자자를 보호한다.
사용자가 절대 관리자 권한에 접근할 수 없도록 구분해두었지만 새로운 프로그램을 설치하거나 변경 또는 삭제할 때에 관리자 권한이 반드시 필요하기 때문에, 특정 명령어를 입력하는 것으로 잠시 관리자 권한을 빌려올 수 있다(CLI를통해).
2.관리자(root) 권한
절대 경로의 기준점인 루트폴더(/)는 Linux 관리자 영역이다. 어떤 일이 있더라도 일반 사용자에게 관리자 권한(루트권한)을 완전하게 넘기지 않는다. 사용자가 관리자 권한을 필요로하는 경우에(프로그램을 설치 ,변경, 삭제) 관리자 권한을 전달한다. 사용자와 관리자를 명확히 분리해 사용자의 실수로 발생할 수 있는 시스템 에러로부터 운영체제를 보호한다.
루트폴더는 관리자의 영역이기때문에 사용자 권한으로는 할 수 있는 일이 없다.
3.사용자 권한
1)사용자 확인
현재 로그인 된 사용자를 확인하는 명령어whoami
를 통해 확인해보면 사용자가 누구인지 알 수 있고 또, 사용자는 폴더의 형태로 존재함을 확인할 수 있다. 그리고 사용자 권한은 username 폴더 내에서만 자유롭게 사용할 수 있다.
2)sudo: 관리자 권한을 획득하는 명령어
sudo는 사용자 환경에서, 관리자 권한을 획득하는 명령어. 기본적인 CLI 명령어의 앞에 작성하여, 관리자 권한을 일시적으로 획득함. 관리자 권한을 가지기 때문에 항상 비밀번호와 함께 사용됨
*명령어 mkdir을 이용해 폴더 두개를 생성할때 하나는 단순 명령어(mkdir justMkdir)로 생성하고, 하나는 sudo를 이용한 명령어(sudo mkdir sudoMKdir)를 통해 생성해보자.
이 둘은 명령어 ls -l을 이용해 차이점을 확인할 수 있다.
경로
1.절대경로(pwd로 확인가능)
- 기준점으로부터의 절대적인 위치를 나타낸다
- 절대 경로의 기준점은 루트디렉토리(/)이다.
- 맥의경우
- 물결기호(~)는 루트폴더(/)로부터 사용자 폴더(username)까지의 경로를 축약한 형태이다
/Users/[username]/helloWorld/hello/
cd ~/helloWorld/
2.상대경로
- 현재 위치를 기준으로 상대적인 위치를 나타낸다.
- 상대 경로의 기준점은 현재 디렉토리(.)이다.
- 현재 위치한 폴더는 점(.)으로 표현하고, 상위 폴더는 두 개의 점(..)으로 표현한다
- (/)는 경로에서 폴더를 의미한다 (./)현재폴더 안에라는 의미이다
cd ./hi (현재폴더안에 hi폴더로 진입)
mv helloWorld.txt ../ (helloWorld.txt를 상위폴더로 옮긴다)
cd ./helloWorld/ (폴더를 대상으로 할 때에는 마지막 슬래시를 생략할 수 있다) ()
나중에 학습할 AWS(Amazon Web Service)와 같은 원격 서버 환경에서 원격으로 텍스트 파일을 편집해야 하는 경우가 있습니다. 2020년대에도 CLI는 여전히 유용하고, 앞으로도 계속 유용할 겁니다. 따라서, 터미널에서 자유자재로 다룰 수 있는 에디터가 하나쯤은 있어야 합니다.
1. nano 화면
(A:파일이름 B:파일 편집화면 C:사용에 필요한 각종 단축키)
2.파일열기
1)프롬프트창에 ^R 엔터후 파일이름
2)프롬프트창에 nano 파일이름3. 파일 편집 후 저장과 종료
(^X 를누르면 파일 변경사항이 있으면, 종료시에 저장할지를 물어봄)
(y/n으로 저장여부 결정)
( + ^O (WriteOut) )
패키지와 패키지 매니저
패키지는 여러 파일이 담겨있는 하나의 압축파일이다. 패키지 매니저는 패키지의 설치,변경, 삭제 등 관리를 편리하게 해주는 도구이며 모든 패키지의 저장소 위치를 저장하고 있다. 사용자는 패키지 매니저에게 특정 프로그램의 설치를 요청할수있고, 업데이트를 확인시켜주고 필요없는 프로그램을 제거하는데 사용되어질 수 있다.
macOS 패키지 매니저-brew
- brew는 맥 os의 앱스토어라 생각하면 편하다
1.Xcode Command Line Tools 설치
터미널에 xcode-select --install 입력
2.Homebrew 에서 스크립트 복사후 터미널에 붙여넣기
passWord 입력후 엔터
무언가 잘못되고 있다고 느낄때는 ctrl + c (종료)후 다시시도
3.next step에서 안내하는 명령어 터미널에 복붙
4. brew help로 Homebrew 패키지 매니저 설치확인
brew명령어
- brew 자체 업데이트: brew update
- 업데이트 필요한 파일 조회: brew outdated
- 프로그램 업그레이드(업데이트): brew upgrade 프로그램이름
- 프로그램 검색: brew search 검색어
- 프로그램 정보 확인: brew info 프로그램이름
- 프로그램 설치: brew install 프로그램이름
- 프로그램 삭제: brew uninstall 프로그램이름
- 설치된 프로그램 보기: brew list
- weget /neofetch 설치완료했음 weget help/ neofetch help 이용해 실행