[github] Terminal & Git 명령어 정리(Command Line)

Harry park·2022년 5월 30일
0

Github

목록 보기
2/4
post-thumbnail

Terminal & Git 명령어

📌 Terminal 명령어

📖 기본적인 명령어

✍ 명령어

# 관리자 권한으로 실행
$ sudo 명령어 

# 홈 디렉토리로 이동
$ cd ~

# 디렉토리로 이동
$ cd "디렉토리 경로"

# 현재 경로의 상위 디렉토리로 이동
$ cd ..

# 현재 위치 출력
$ pwd

# 디렉토리 안의 파일 출력
$ ls	 # 파일 출력
$ ls -l  # 상세정보
$ ls -a  # 숨김 파일까지 출력
$ ls -al # 숨김파일/상세정보까지 출력

# 디렉토리 생성
$ mkdir "디렉토리이름"

# 파일 생성
$ touch "파일이름" 

# 파일 생성 및 수정
$ echo "파일내용" > "파일이름"

# 파일 이동 
$ mv "이동대상파일" "이동위치"    # 파일이나 디렉토리 옮기기
$ mv "변경대상파일" "변경할 이름" # 파일이름 변경

# 파일이나 디렉토리 복사
$ cp "복사할 파일/폴더이름" "복사할 경로 또는 이름"

# 파일 삭제
$ rm "파일이름"

# 디렉토리 삭제
$ rm -r "디렉토리이름"

# 파일 내용 확인하기
$ cat "파일이름"

# 터미널 정리하기
$ clear

# 로그 확인
$ tail -f # tail을 종료하지 않고 실시간으로 계속 출력
	   -n # 라인 수 - 파일의 마지막줄부터 지정한 라인수까지
       -c # 바이트 수
       -q # 파일의 헤더와 상단의 파일 이름을 출력하지 않고 내용만 출력
       -v # 출력하기 전에 파일의 헤더와 이름 먼저 출력 후 로그 출력

# 실시간 로그 보기(tail + grep)
$ tail -f mylog.log | grep "IP"

# 이전 명령어 확인
$ history

# 종료
$ exit

📖 grep 명령어

📖 grep
↳ ‘Global / regular expression / print’으로 파일이나 표준 입력을 검색하여, 정규표현식에 부합하는 내용을을 찾아 출력해주는 커맨드

✍ 사용방법

# 기본 문법
# $ grep [옵션][패턴][파일명] 
# 현재 디렉토리 하위 모든 파일인 경우 : *
# 특정 확장자인 경우 *.log
$ grep 'test' "파일명.." # 여러개인 경우 나열 => file1.txt file2.txt ...

# 자주사용하는 옵션
-c : 일치하는 행의 수를 출력한다.
-i : 대소문자를 구별하지 않는다.
-v : 일치하지 않는 행만 출력한다.
-n : 포함된 행의 번호를 함께 출력한다.
-l : 패턴이 포함된 파일의 이름을 출력한다.
-w : 단어와 일치하는 행만 출력한다.
-x : 라인과 일치하는 행만 출력한다.
-r : 하위 디렉토리를 포함한 모든 파일에서 검색한다.
-m 숫자 : 최대로 표시될 수 있는 결과를 제한한다.
-E : 찾을 패턴을 정규 표현식으로 찾는다.
-F : 찾을 패턴을 문자열로 찾는다.

📌 Git 명령어

📖 명령어

# version 확인
$ git --version

# .git 하위 디렉토리 생성
$ git init

# git 사용자 이름 설정
$ git config --global user.name ["사용자이름"]

# git 사용자 이메일 설정
$ git config --global user.email ["사용자이메일"]

# 상태 확인(저장소, commit)
$ git status

# 원격 저장소 연결
$ git remote add origin [github 저장소 주소]

# 저장소 확인
$ git remote -v

# 저장소 복제
$ git clone /로컬/저장소/경로  		  # 로컬 저장소 복제
$ git clone 이름@호스트:/원격/저장소/경로 # 원격 저장소 복제

# 변경사항 Tracking 추가 
$ git add [파일명]   # 파일 명으로 변경 대상을 올리는 경우
$ git add .  		# 변경 파일 전체 

# 커밋(commit)
$ git commit -m [메시지]

# 이력 확인(log, status, commit, push)
$ git log #--online # 한 줄씩 출력

# branch 
$ git branch 				# 목록 확인
$ git branch [브랜치명]		 # 브랜치 생성 
$ git branch -d [브랜치명]   # 브랜치 삭제
$ git checkout [브랜치명]	 # 브랜치로 이동
$ git checkout -b [브랜치명] # 브랜치 만들고 브랜치로 이동
$ git checkout master(main) # master(main) 브랜치로 이동
							# 22년 작성 시점 기준으로는 main
$ git log --branches --graph # 커밋 내역을 그래프로 표시

# push 
$ git push origin main 			  # main 원격 저장소에 커밋 내역을 업로드
$ git push [-u] [저장소주소] [브랜치이름] 
# 커밋을 원격 저장소에 업로드(main이 아닌 다른 branch로 업로드하고자 하는 경우
# u 옵션이란, main이라는 현재 브랜치를 
# 			자동으로 origin이라는 원격 저장소의 main 브랜치로 연결한다는 뜻.

# 클라우드 관련
$ git remote add origin [저장소주소] # 클라우드 주소 등록
$ git remote remove [저장소주소]	 	# 클라우드 주소 삭제

# pull
$ git pull # 원격 저장소 변경사항 가져오고 병합하기
$ git merge [다른 branch이름] # 현재 브랜치에 다른 브랜치 병합
$ git diff [브랜치이름] [다른 브랜치이름] # 병합 이전의 내용과 비교
$ git checkout --파일명 # 변경 전으로 되돌림
$ git fetch origin # 현재 상태를 다운로드 

개인적으로 공부하며 기록한 내용으로, 틀린 내용이 있는 경우 덧글을 달아주시면 감사하겠습니다. 😍

profile
Jr. Backend Engineer

0개의 댓글