컴퓨터에 명령을 내리는 방법 1) CLI 커맨드라인 인터페이스 2) GUI (Graphical User Interface)
커맨드 라인에서 하는 작업 ex.
필요한 라이브러리 다운로드, 설치
협업 시 코드 관리
웹 개발 환경설정과 서버 실행
유닉스 Unix
1970년대 초반에 개발된 운영체제
소프트웨어를 개발하고 실행할수있는 편리한 플랫폼을 제공하기 위해 개발됨
C언어로 작성되어 수정해서 다른 컴퓨터에 적용하기 편해 인기 (C=고급언어이므로 사람들이 이해하기 쉬움)
POSIX 표준
GNU/Linux
GNU's Not Unix
유닉스 에서 파생된 운영체제
-> 유닉스 운영체제
ex. 맥, 리눅스, 우분투 (즉 윈도우 제외)
-> 사용하는 커맨드가 모두 비슷하다 => 유닉스 커맨드
용도 : 웹사이트 배포 또는 서버컴퓨터 사용(인공지능 개발 등) 시 필요
윈도우 커맨드 도 있지만 보통 유닉스 커맨드를 보편적으로 사용함
터미널 : 인풋(명령어? 커맨드?)을 받고 아웃풋(결과물)을 출력해주는 프로그램
shell: 커맨드를 해석해주는 프로그램 / 터미널과 shell을 혼용해서 사용하기도
bash : 가장 보편적인 shell
커맨드 옵션 아규먼트
cal 커맨드 -> 해당 월 달력이 출력된다
cal 뒤에 월, 년도를 순서대로 쓰면 원하는 기간의 달력이 출력된다
-> 인자 또는 아규먼트 argument 라고한다. : 커맨드의 대상
옵션 : 커맨드를 어떻게 실행할지
-j : 그 해 며칠째인지를 알려주는 달력 출력
-y : 그 해 년도 달력이 출력
-yj 이런식으로 여러개 붙여쓸수잇음
man + 커맨드 > 해당 커맨드의 매뉴얼을 확인할 수 있음
ctrl+ A / E : 입력중인 커맨드 맨 앞/뒤로 커서이동
ctrl + <- / -> : 단어 단위로 커서 이동
ctrl+ C : 실행 중단
clear
xx tab키 2번 -> xx로 시작하는 커맨드 알려줌
유닉스 디렉토리 구조
최장위 디렉토리 = 루트 root
상위/부모 디렉토리 - 하위/자식 디렉토리
홈 디렉토리
파일 경로 : 루트에서부터 특정 파일이나 디렉토리까지의 경로를 써주면 됨
/user/bin/... (맨 앞 슬래시가 루트를 의미함)
현재 로그인된 유저의 홈 디렉토리는 ~ 로 대체해서 쓸 수 있다.
현재 위치해있는 디렉토리 = 워킹 디렉토리
pwd : print working directory
cd : change directory
ls : list (현재 디렉토리에 있는 파일과 디렉토리를 보여줌)
ls -a => 숨겨진 파일까지 모두(all) 보여줌
ls -l => 파일 별 정보도 같이 보여줌 (long format)
ls -al
https://www.tuwlab.com/ece/11309
Linux 루트 디렉토리 구성 - ECE - TUWLAB
제대로 서버를 운영해 보겠다고 처음 리눅스를 설치하고 난 직후, 명령어 연습을 하고 있을 때 유독 눈에 거슬리던것들이 있었다. 바로 루트 디렉토리(/)에 있던 bin, dev, var, ... 이런 디렉토리들
www.tuwlab.com
절대 경로 : 루트에서부터 해당 디렉토리까지 적어준 경로 -> 너무 길어진다
상대 경로 : 현재 위치해있는 워킹디렉토리 기준으로 표시 -> 짧고 간결해짐
.현재 디렉토리
..상위 디렉토리
../.. 상위->상위 디렉토리
디렉토리 만들기 mkdir + 디렉토리명
파일 만들기 touch +파일 경로+파일명.확장자
CLI 텍스트 에디터 vim
작업을 원하는 경로로 이동한 후에
vim -> 새로운 파일 생성
vim + 파일경로 아규먼트 넣으면 파일 수정
사용모드 (4) 모드 전환은 일반 모드에서만 가능하다
일반 esc키
입력 i /비주얼 v /명령(커맨드 모드) :
커서 옮긴 후에 v(또는 V) 모드로 이동
y 복사
d 잘라내기
p 붙여넣기 (일반모드에서)
yy dd (줄단위 실행)
저장
커맨드 모드에서 :w + 파일 이름.확장자 (최초 파일 생성시에만)
vim 나가기
:q
저장하지않고 나가기
:q!
파일 내용 살펴보기
cat (전체 내용)
less (페이지별로) g, G (맨앞/뒤)
head -n 10 (default: 10, n 옵션의 아규먼트 만큼) 맨 앞 10줄 보여줌
tail : 맨 뒤 10줄 보여줌
파일과 디렉토리 옮기기, 이름 변경하기 mv (move)
mv path1 path2 (작업 대상의 경로 - 이동할 목적지 또는 변경할 이름)
만약 path2 아규먼트로 입력한 값이 이미 존재하면 path2의 내부로 경로가 바뀜
같은 이름의 파일있으면 덮어쓰기 되므로 주의
mv -i 옵션을 쓰면 파일 덮어쓰기 여부를 물어봄(y/n)
파일과 디렉토리 복사. 붙여넣기 cp (copy)
cp path1 path2 (복사할 대상의 경로 - 복사할 위치)
path2가 존재하면 그 내부에 복사되고 / 그렇지않으면 새로 생성됨
디렉토리를 복사할때는 cp -r 옵션을 사용해 야한다. (재귀 > 모든 하위 디렉토리&파일이 같이 복사됨)
디렉토리와 파일 삭제하기 rm(remove)
삭제할 파일 또는 디렉토리 경로를 아규먼트로 받는다 (여러개도 가능)
디렉토리는 지울때도 -r옵션 사용해주기
-i 옵션 사용하면 디렉토리 내의 파일/디렉토리마다 한번더 삭제할 것인지 물어본다(y/n)
-f 옵션 : 묻지않고 지움
ubuntu에서 외부 프로그램 설치하기
apt update 업데이트
sudo 관리자권한 부여(일시적)
해당 포스팅의 모든 내용은 코드잇 강의 출처입니다
'개발 공부 일지' 카테고리의 다른 글
개발 언어와 프레임워크의 발전 과정 (0) | 2024.08.01 |
---|---|
closure / throttle /debounce (0) | 2024.07.25 |
변수 이름 표기법case (0) | 2024.07.16 |
Note : my 1st code review (PR comment) (0) | 2024.07.12 |
GUI vs CLI 차이점 (0) | 2024.07.09 |