Linux 기초
- CLI 기본 명령어
- 패키지와 패키지 매니저
- nvm, node.js, npm
- 짝수생성기 만들어보기
CLI 기본 명령어
학습 목표
* 리눅스 터미널 실행하기
* 리눅스 터미널 기본 명령어 익히기
- pwd: 현재 위치 확인
- mkdir: 디렉토리 생성
- ls: 폴더나 파일의 목록을 출력
- nautilus(ubuntu), open(masOS): 현재 폴더를 탐색기로 염
- cd: 폴더에 진입
- touch: 새로운 파일을 생성
- cat: 파일의 내용을 터미널에 출력
- rm: 폴더나 파일을 삭제
- mv: 폴더나 파일의 위치를 이동하거나, 이름을 변경
- cp: 폴더나 파일을 복사
- sudo: 관리자 권한을 이해
* 명령어 사용시의 키워드 이해
`/`: 루트 디렉토리
`~`: 홈 디렉토리
* 절대경로와 상대경로의 차이를 이해
- 절대경로의 시작은 / (루트 디렉토리)
- 상대경로의 시작은 . (현재 디렉토리)
* 텍스트 에디터 nano를 이용한 파일 수정 및 저장
기본적인 명령어
프롬프트(Prompt)
터미널에서 키보드 입력을 확인하고 편집할 수 있는 한 줄의 공간
Pwd: 현재 위치 확인하기
Print Working Directory의 약자
mkdir: 새로운 폴더 생성
mkdir 생성폴더명
mkdir hellworldls: 특정 폴더의 포함된 파일이나 폴더 확인하기
자주 사용하는 옵션
a: all 이라는 뜻; 숨어 있는 폴더나 파일을 포함한 모든 항목 출력
l: 폴더나 파일의 포맷을 전부 표현
`drwxr-xr-x`
`-rwxr-xr--` 이런식
→ 시작의 d는 디렉토리(폴더), `-`는 파일을 나타냄명령어를 이용해 폴더를 GUI 탐색기로 실행
현재 위치를 GUI로 실행하는 명령어
Ubuntu
nautilus .
macOS
open .cd: 폴더에 진입하기
change directory의 약자. 프롬프트로 상호 작용하는 폴더를 다른 폴더로 변경한다는 의미
cd hellworld- 폴더 또는 파일의 이름에 공백(띄어쓰기)나 특수문자가 있으면 백슬래시(
\)를 이용하여 적용*
touch: 파일 생성하기
touch 파일명.확장자명
touch hi.txtGUI로 파일에 텍스트 입력하기
Ubuntu와 macOS에도 윈도우의 메모장과 유사한 텍스트 편집기가 존재
→ gedit(Ubuntu) / 텍스트 편집기(text editor)(macOS)
cat: 파일의 내용을 터미널에 출력
cat 파일명.확장자명
cat hi.txt터미널에 출력될 때, 백슬래시(\)는 이어지는 특수문자를 출력하는 용도이므로, 실제 터미널에는 나타나지 않는다
rm: 폴더나 파일 삭제
remove의 뜻
명령어 rm으로 삭제한 폴더나 파일은 휴지통을 거치지 않고 삭제됨
rm bye.txt
폴더를 삭제하려면 옵션을 사용해야 함(rm 만으로는 삭제x)
rm -rf bye
-r: recursive의 뜻. 폴더를 지울 때 사용
-f: force의 뜻. 질문을 받지 않고 지울 때 사용(강제)mv: 폴더나 파일의 이름을 변경, 위치 옮기기
move의 약자
위치 옮기기
mv 폴더나 파일의 이름 도착폴더의 이름
> mv bye.txt bye/
폴더나 파일의 이름 변경시
mv 폴더나 파일의 이름 변경하고자하는 이름
> mv bye.txt helloWorld.txtcp: 폴더나 파일을 복사
copy의 약자
파일을 복사하는 경우
cp 원본 파일 이름 복사할 파일 이름
> cp helloWorld.txt hiComputer.txt
폴더를 복사하는 경우: rm 처럼 옵션을 사용해야 함
cp -rf bye hi관리자 권한과 경로
사용자와 관리자
윈도우 OS의 초기 버전은 항상 관리자 권한으로 실행되었음
→ 이는 개발지식이 없는 사용자가 정보를 탈취 발생(악성코드 삽입)
→ 또한 프로그램의 충돌(2개의 프로그램이 하나의 os를 놓고 다투는 과정)로 인한 블루스크린 발생
이 점을 해결하기 위해 ms사에서는 사용자 계정 컨트롤(UAC)를 탑재함
리눅스 기반 운영체제에도 이는 존재(사실은 리눅스가 먼저 도입)
→ ubuntu에서는 사용자가 절대 관리자 권한에 접근할 수 없도록 구분해둠
→ 다만 특정 명령어를 통해 잠시 빌려올 수 있다
절대 경로와 상대 경로
절대경로: 기준점(루트폴더 /)으로부터의 절대적인 위치
→ 특정 폴더나 파일이 루트폴더로부터 어떤 폴더로 진입하는 경우 만날 수 있는지?
상대경로: 현재위치가 기준점
→ 현재 위치는 .(점) 상위 폴더는 ..(점 2개)
상위 폴더의 상위폴더로 특정 파일 이동
> mv helloWorld.txt ../../
> cd ../../관리자(root) 권한
절대 경로의 기준점인 루트폴더(/)는 리눅스의 관리자 영역
→ 어떤 일이 있어도 일반 사용자에게 권한을 완전히 주지 않음
현재 로그인된 사용자를 확인하는 명령어:
> whoami
사용자 권한은 [username] 폴더 내에서만 자유롭게 사용할 수 있다
→ username에 맞게 폴더를 생성하기 때문에 그 해당 폴더 내에서만 권한을 사용 가능하도록 제한
→ 타 사용자끼리 침범 불가. But, 관리자 권한을 이용하면 가능
→ 관리자 권한으로 변경한 내용은 사용자 권한으로 해결할 수 없다
사용자 폴더의 경로(path)는 ~/ 로 표시됨
> cd ~/
# 사용자 폴더의 경로인 `/home/[username]’ 으로 이동됨sudo: 관리자 권한을 “일시적으로” 획득하는 명령어
프로그램을 설치, 변경 또는 삭제하기 위해서는 관리자 권한이 필요
명령어 sudo는 “기본적인 CLI 명령어의 앞”에 작성
명령어 sudo를 이용해 생성한 폴더나 파일의 경우 소유자는 루트(root)
> sudo mkdir sudoMkdir
> ls -l
# 권한이 root임을 확인 가능텍스트 에디터 nano
CLI 환경에서 유명한 에디터는 vim(vi), emacs 등이 있지만 이것들은 진입 장벽이 높다
→ 제대로 사용하기 위해서는 따로 학습을 해야할 정도
반면에 nano 에디터는 사용법이 간단하다
→ 대부분의 리눅스 환경에 탑재되어 있음
nano 실행
> nano hello.js #hello.js를 nano에서 열기
> nano # 그냥 실행하기파일 열기(파일 읽기): ^R
ctrl+R)
그래도 가장 쉬운 방법은 터미널에서 파일 지정해서 여는 방법이다
> nano 파일이름파일 편집 후 종료: ^X
ctrl+X
파일 저장: ^O
nano를 종료하지 않고 파일을 저장하는 것
writeOut의 뜻
ctrl+O
'SE Bootcamp 내용 정리' 카테고리의 다른 글
| git 기초 (0) | 2021.09.02 |
|---|---|
| Linux 기초 - 2 (0) | 2021.09.02 |
| css 기초 - 2 (0) | 2021.08.31 |
| css 기초 - 1 (0) | 2021.08.27 |
| html 기초 (0) | 2021.08.27 |
