Linux

Dubiju·2022년 10월 28일
0

SEB_BE_42기

목록 보기
7/7
post-thumbnail
post-custom-banner

용어 정리

✔️ CLI (Command-Line Interface, 명령줄 인터페이스)
: 명령어로 컴퓨터를 제어하는 방식

  • 상대적으로 높은 안정성과 빠른 속도

✔️ GUI (Graphic User Interface, 그래픽 사용자 인터페이스)

  • 사용자가 쉽게 화면 제어 가능

✔️ I/O(Input/Output)
: 컴퓨터를 조작하기 위한 입력과 출력
: '아이오'라 읽음

✔️ Prompt(프롬프트)
: 키보드의 입력을 확인하고 편집할 수 있는 한 줄의 공간

💻 명령어 정리

옵션

  • CLI에서 특정 명령어의 옵션을 사용하는 경우 -(dash, 대쉬)를 이요해 옵션을 입력했다고 컴퓨터에 전달함
  • Dash 뒤에 오는 옵션의 순서는 기능에 영향❌
  • 각 명령어에 포함된 옵션은 명령어의 이름만 입력 or -h or--help와 같은 옵션을 통해 확인

/ : 폴더 내부. 절대 경로 (또는 루트 폴더 - 일반 사용자는 생성, 변경, 삭제 불가)

어떠한 일이 있더라고 일반 사용자에게 관리자 권한(루트 권한)을 완전히 넘기지 않음

사용자가 관리자 권한을 필요로 하는 경우

  • 새로운 프로그램 설치
  • 프로그램 변경 또는 삭제

=> 해당 프로그램을 설치, 변경 또는 삭제할 수 있는 관리자 권한만 전달

🧑 whoami: 현재 로그인 된 사용자 확인 명령어
🧑 sudo: 관리자 권한을 (일시적으로) 획득하는 명령어

. : 현재 폴더. 상대 경로 (현 디렉토리)
.. : 현재 폴더의 부모 폴더. 상위 폴더

/ : 루트 디렉토리
~ : 홈 디렉토리. /루트폴더로부터 사용자 폴더까지의 경로를 축약한 형태

./ : 현재 폴더 아래
./폴더명 : 현재 폴더 아래의 폴더명


🧑‍💻 echo: echo 뒤의 내용을 화면에 출력해주는 역할

echo Hello World > hi.txt :  Hello World가 hi.txt 파일에 저장 

🧑‍💻cat: 파일의 내용을 터미널에 출력

📁 pwd : 현재 위치 확인하기 (print working directory)
📁 mkdir: 새로운 폴더 생성 (make directories)

mkdir 생성할_폴더명

📁 ls: 특정 폴더에 포함된 파일이나 폴더 확인하기 (list)

ls -l : 폴더나 파일의 포맷을 전부 표현
ls -a : a는 all의 약자, 숨어있는 폴더나 파일을 포함한 모든 항목을 터미널에 출력
ls -al or ls -la

drwxr-xr-x  : 맨 앞이 d로 출력된 경우 디렉토리를 의미
-rw-r--r--  : 맨 앞이 -로 출력된 경우 파일을 의미

📁 cd: 다른 폴더로 변경(change directory)
📁 touch: 파일 생성하기

touch 파일명.txt

📁 >: 실행 결과를 파일로 저장하기

ls > ls.txt : ls.txt에 ls 명령어의 실행 결과가 저장

📁 rm: 폴더나 파일 삭제하기 (remove)

명령어 rm으로 삭제한 폴더나 파일은 휴지통으로 거치지 않고 삭제

rm: 단일 파일만 삭제 가능

# 폴더 삭제 옵션
rm -rf 폴더명

옵션 r: 'recursive', 폴더를 지울 때 사용
옵션 f: 'force', 질문을 받지 않고 지울 때 사용

📁 mv: 폴더나 파일 이름 변경 or 위치 변경 (move)

1. 위치 변경
mv [폴더나 파일의 이름] [도착 폴더의 이름]

2. 이름 변경
mv [변경할 폴더나 파일의 이름] [변경하고자 하는 파일의 이름] 

📁 cp: 폴더나 파일 복사하기 (copy)

cp [원본 파일 이름] [복사할 파일 이름]
cp -rf [원본 폴더 이름] [복사할 폴더 이름]

텍스트 에디터

nano, vim(vi), emacs 등 존재.
가장 쉬운 건 nano

nano 또는 nano [파일명.확장자] 

파일 편집 후 종료 : ^X (ctrl X)
종료하지 않고 저장 : ^O (ctrl O)


패키지 매니저

apt 패키지 매니저 주요 명령어

  • 패키지 목록 갱신: apt update (관리자 권한 필요)

    • 패키지를 다운로드할 수 있는 여러 저장소의 최신 정보를 업데이트합니다.
    • 새로운 저장소를 추가하거나, 패키지를 설치하기 전, 최신 정보를 갱신합니다.
    • 설치된 프로그램이 새로운 버전으로 변경되지 않습니다.
  • 업그레이드 가능한 패키지 목록을 출력: apt list -—upgradable
  • 전체 패키지 업그레이드(버전 업):apt upgrade (관리자 권한 필요)
  • 특정 패키지만 업그레이드(버전 업): apt --only-upgrade install 패키지 이름 (관리자 권한 필요)
  • 패키지 설치: apt install 패키지 이름 (관리자 권한 필요)
  • 설치된 패키지 보기: apt list --installed
  • 패키지 검색: apt search 검색어
  • 패키지 정보 확인: apt show 패키지 이름
  • 패키지 삭제: apt remove 패키지 이름 (관리자 권한 필요)

📌 너무 시간이 오래 걸리거나, 뭔가 과정 중에 예상치 못하게 멈춰있는 경우

=> (Unix 기반 운영체제) Ctrl + C 키: 작업을 취소하고, 터미널의 사용자 입력을 다시 되찾아오는 역할 (강제 종료)

복사: (Ubuntu) Ctrl + Shift + C

붙여넣기: (Ubuntu) Ctrl + Shift + V


사용자와 관리자

(읽기, 쓰기, 실행 권한)
r: read permission
w: write permission
x: execute permission

세번으로 나눠져서 나오는 이유 : user, group, other (사용자, 그룹, 나머지) 에 대한 권한 표시
ex. -rw-r--r-- : 파일 / 소유자 읽기, 쓰기 / 다른 사용자 읽기 / 나머지 읽기

chmod : 권한 변경하는 명령어

Access classOperatorAccess Type
u (user)+ (add class)r (read)
g (group)- (remove access)w (write)
o (other)= (set exact access)x (execute)
a (all: u,g,o)

Absolute form

  • read: 4, write: 2, execute:1
#SumrwxPermission
74(r) + 2(w) + 1(x)rwxread, write, execute
64(r) + 2(w) + 0(-)rw-read, write
54(r) + 0(-) + 1(x)r-xread and execute
44(r) + 0(-) + 0(-)r—read only
30(-) + 2(w) + 1(x)-wxwrite, execute
20(-) + 2(w) + 0(-)-w-write only
10(-) + 0(-) + 1(x)—xexecute only
00(-) + 0(-) + 0(-)—-none
profile
Backend Developer
post-custom-banner

0개의 댓글