반응형

1. 모드 전환

  • i : 현재 커서 위치에서 입력 모드로 전환
  • a : 커서 바로 다음 부분부터 시작
  • shift+spacebar : 영/한 변환
  • Esc : 명령 모드로 전환

2. 커서 이동

  • h : 왼쪽으로 한 칸 이동
  • j : 아래로 한 줄 이동
  • k : 위로 한 줄 이동
  • l : 오른쪽으로 한 칸 이동
  • 0 : 현재 줄의 시작으로 이동
  • $ : 현재 줄의 끝으로 이동
  • G : 파일의 마지막으로 이동
  • gg : 파일의 시작으로 이동
  • :n : n번째 줄로 이동 (예: :10은 10번째 줄로 이동)

3. 텍스트 편집

  • x : 커서가 위치한 곳의 문자 삭제
  • dd : 현재 줄 삭제
  • yy : 현재 줄 복사
  • p : 붙여넣기
  • u : 마지막 명령 취소
  • Ctrl + r : 취소된 명령 복구

4. 검색 및 치환

  • /검색어 : 다음 검색어 찾기
  • ?검색어 : 이전 검색어 찾기
  • :s/원본/대체/g : 현재 줄에서 원본을 대체로 치환
  • :%s/원본/대체/g : 전체 문서에서 원본을 대체로 치환

5. 파일 관리

  • :w : 파일 저장
  • :q : 편집기 종료
  • :wq : 파일 저장 후 편집기 종료
  • :q! : 변경 사항을 저장하지 않고 편집기 종료
  • :e 파일명 : 다른 파일 열기
반응형
반응형

1. 브랜치 관리

git branch: 현재 저장소의 모든 로컬 브랜치 나열
git branch -av: 모든 브랜치(로컬 및 원격)와 그들의 마지막 커밋 나열
git branch -d [branch name]: 지정된 브랜치 삭제 (변경사항이 머지되지 않은 경우 방지)
git branch -D [branch name]: 머지되지 않은 변경사항이 있어도 지정된 브랜치 강제 삭제
git checkout -b [branch name]: 새 브랜치 생성 및 해당 브랜치로 전환

 

2. 파일 및 커밋 관리

git checkout HEAD -- [file name]: 지정된 파일의 변경 사항을 버리고 마지막 커밋 상태로 되돌림
git checkout -- [file name]: 지정된 파일의 변경 사항을 버리고 마지막 커밋 상태로 되돌림 (HEAD는 선택적)
git add [file name]: 지정된 파일을 스테이징 영역에 추가하여 커밋 준비
git commit -m [commit message]: 스테이징된 변경사항을 제공된 커밋 메시지와 함께 커밋
git commit --amend -m [new commit message]: 가장 최근의 커밋 수정, 새로운 커밋 메시지 적용 또는 스테이징된 변경 사항 커밋에 추가

 

3. 커밋 이력 조회 및 검색

git log: 현재 브랜치의 커밋 기록 표시
git log --oneline: 커밋 ID와 제목만 포함하는 간략한 형태로 커밋 기록 표시
git log --oneline --graph: 커밋 기록의 왼쪽에 텍스트로 된 그래프 표시
git log -p: 각 커밋에 대한 패치 표시
git log --stat: 각 커밋에서 수정된 파일에 대한 통계 표시
git log --author="userid": 특정 사용자가 만든 커밋 표시
git log --grep="bug fix": 커밋 메시지에서 지정된 텍스트 검색

 

4. 리셋 및 복구

git reset: 스테이징 영역을 가장 최근 커밋과 일치하도록 재설정, 작업 디렉토리는 변경하지 않음
git reset --soft [commit]: HEAD를 지정된 커밋으로 이동, 스테이징된 변경사항 유지
git reset --mixed [commit]: 스테이징 영역을 지정된 커밋과 일치하도록 재설정, 작업 디렉토리 변경하지 않음 (기본 모드)
git reset --hard [commit]: 스테이징 영역과 작업 디렉토리를 모두 지정된 커밋과 일치하도록 재설정, 이 커밋 이후에 추적된 파일에서 발생한 모든 변경사항 버림
git reset --hard HEAD~1: 마지막 커밋 취소, 작업 디렉토리의 모든 변경사항 잃음

 

5. 원격 저장소 및 태그 관리

git clone https://github.com/id/project.git : 지정된 URL의 Git 저장소를 현재 디렉토리로 복제 (원격 저장소의 모든 파일, 브랜치, 태그 등을 로컬 시스템에 복사)
git tag 0.0.1: 현재 커밋에 새 태그 생성
git tag -d 0.0.1: 지정된 태그 삭제
git push origin 0.0.1: 지정된 태그(여기서는 0.0.1)를 원격 저장소로 푸시
git push -f origin master: 원격 저장소의 master 브랜치로 강제 푸시 (원격 저장소의 변경 사항 덮어쓸 수 있으므로 주의)

반응형
반응형

검색

# Word 검색

grep -r 'word' ./

grep -r 'word' ./*/src/main -- include '*.java' | wc -l

grep apple fruitlist.txt
grep -i apple fruitlist.txt ignore
grep -w apple fruitlist.txt word

 

# 파일 검색

find [검색경로] -name [파일명]

find -name test.jar

find ./ -name 'file1'
find ./ -name "*.jpg"

find ./ -name "*.jpg" -exec rm {} \; : 확장자가 .jpg인 파일만 찾아서 바로 삭제
find ./ -type d
find ./ -type f
find ./ -type f | wc -l : 특정 디렉토리에 find 조건에 맞는 결과 값이 몇개 존재
find ./ -name "*.txt" -exec sed -i 's/hi/hello/g' {} \; : 확장자가 .txt인 파일만 찾아내고, txt 파일 안에 있는 ‘hi’ 라는 문자열을 ‘hello’로 변경

 

파일 및 디렉토리

mv [original.txt] [rename.txt] : 파일명 변경

mkdir [directory] : 폴더 생성
rm -rf [file or directory] : 파일 및 폴더 삭제

 

pwd(print working directory) :현재 경로 확인

 

# 파일 결합

cat [file1]
1
cat [file2]
2
cat [file1] [file2] > [file3]
cat [file3]
1
2
cat [file1] >> [file2]
cat [file2]
2
1

 

프로세서 종료

killall [process name]

df -h // storage usage
du -sh [directory] // directory storage usage

 

코드 라인 측정

 wc -l find . -name '*.java'

 

Password 설정

sudo passwd root

 

파일 내용 확인

head -n 50 test.log : 파일 앞 부분 n 라인 출력

tail -n 50 test.log : 파일 마지막 부분 n 라인 출력

   

파일/폴더 확인

df -m : 디스크 용량 확인

du : 폴더 용량 확인

 

파일 권한 변경

chmod 777 [file] : 모든 사용자에 모든 권한 부여

chmod 000 [file] : 모든 사용자에 모든 권한 제거

 

실행 파일 위치 확인

whereis

which

 

Shell 환경 설정 파일

/etc/profile : 시스템 전역 쉘 변수

/etc/bashrc : 쉘 함수, alias 시스템 전역 변수 정의

~/.bash_profile : 유저 개인의 환경 설정

~/.bashrc : 유저 개인의 alias 및 변수 설정

~/.bash_logout : 로그아웃 설정파일

 

Java Path 설정

whereis, which로 java 경로 확인

bashrc 파일에 path 설정

source ~/.bachrc : bashrc 설정 파일 적용

 

 

 

 

 

반응형
반응형

Tap X,Y position

adb shell input tap 500 1450

 

Swipe X1 Y1 X2 Y2 [duration(ms)]

adb shell input swipe 100 500 100 1450 100

 

LongPress X Y:

adb shell input swipe 100 500 100 500 250

 

Insert text

adb shell input text 'your text'

 

Key event(https://developer.android.com/reference/android/view/KeyEvent)

adb shell input KEYCODE_HOME

adb shell input KEYCODE_BACK

adb shell input KEYCODE_MENU

 

adb shell input KEYCODE_A

adb shell input keyevent 29 # for key 'A'

 

0 -->  "KEYCODE_UNKNOWN" 
1 -->  "KEYCODE_MENU" 
2 -->  "KEYCODE_SOFT_RIGHT" 
3 -->  "KEYCODE_HOME" 
4 -->  "KEYCODE_BACK" 
5 -->  "KEYCODE_CALL" 
6 -->  "KEYCODE_ENDCALL" 
7 -->  "KEYCODE_0" 
8 -->  "KEYCODE_1" 
9 -->  "KEYCODE_2" 
10 -->  "KEYCODE_3" 
11 -->  "KEYCODE_4" 
12 -->  "KEYCODE_5" 
13 -->  "KEYCODE_6" 
14 -->  "KEYCODE_7" 
15 -->  "KEYCODE_8" 
16 -->  "KEYCODE_9" 
17 -->  "KEYCODE_STAR" 
18 -->  "KEYCODE_POUND" 
19 -->  "KEYCODE_DPAD_UP" 
20 -->  "KEYCODE_DPAD_DOWN" 
21 -->  "KEYCODE_DPAD_LEFT" 
22 -->  "KEYCODE_DPAD_RIGHT" 
23 -->  "KEYCODE_DPAD_CENTER" 
24 -->  "KEYCODE_VOLUME_UP" 
25 -->  "KEYCODE_VOLUME_DOWN" 
26 -->  "KEYCODE_POWER" 
27 -->  "KEYCODE_CAMERA" 
28 -->  "KEYCODE_CLEAR" 
29 -->  "KEYCODE_A" 
30 -->  "KEYCODE_B" 
31 -->  "KEYCODE_C" 
32 -->  "KEYCODE_D" 
33 -->  "KEYCODE_E" 
34 -->  "KEYCODE_F" 
35 -->  "KEYCODE_G" 
36 -->  "KEYCODE_H" 
37 -->  "KEYCODE_I" 
38 -->  "KEYCODE_J" 
39 -->  "KEYCODE_K" 
40 -->  "KEYCODE_L" 
41 -->  "KEYCODE_M" 
42 -->  "KEYCODE_N" 
43 -->  "KEYCODE_O" 
44 -->  "KEYCODE_P" 
45 -->  "KEYCODE_Q" 
46 -->  "KEYCODE_R" 
47 -->  "KEYCODE_S" 
48 -->  "KEYCODE_T" 
49 -->  "KEYCODE_U" 
50 -->  "KEYCODE_V" 
51 -->  "KEYCODE_W" 
52 -->  "KEYCODE_X" 
53 -->  "KEYCODE_Y" 
54 -->  "KEYCODE_Z" 
55 -->  "KEYCODE_COMMA" 
56 -->  "KEYCODE_PERIOD" 
57 -->  "KEYCODE_ALT_LEFT" 
58 -->  "KEYCODE_ALT_RIGHT" 
59 -->  "KEYCODE_SHIFT_LEFT" 
60 -->  "KEYCODE_SHIFT_RIGHT" 
61 -->  "KEYCODE_TAB" 
62 -->  "KEYCODE_SPACE" 
63 -->  "KEYCODE_SYM" 
64 -->  "KEYCODE_EXPLORER" 
65 -->  "KEYCODE_ENVELOPE" 
66 -->  "KEYCODE_ENTER" 
67 -->  "KEYCODE_DEL" 
68 -->  "KEYCODE_GRAVE" 
69 -->  "KEYCODE_MINUS" 
70 -->  "KEYCODE_EQUALS" 
71 -->  "KEYCODE_LEFT_BRACKET" 
72 -->  "KEYCODE_RIGHT_BRACKET" 
73 -->  "KEYCODE_BACKSLASH" 
74 -->  "KEYCODE_SEMICOLON" 
75 -->  "KEYCODE_APOSTROPHE" 
76 -->  "KEYCODE_SLASH" 
77 -->  "KEYCODE_AT" 
78 -->  "KEYCODE_NUM" 
79 -->  "KEYCODE_HEADSETHOOK" 
80 -->  "KEYCODE_FOCUS" 
81 -->  "KEYCODE_PLUS" 
82 -->  "KEYCODE_MENU" 
83 -->  "KEYCODE_NOTIFICATION" 
84 -->  "KEYCODE_SEARCH" 
85 -->  "TAG_LAST_KEYCODE"

 

 

반응형
반응형

 adb -s [시리얼넘버] command

여러대의 디바이스에서 특정 디바이스에 명령 실행시 -s [시리얼넘버] 추가

 

◆ adb shell reboot

재부팅

 

◆ adb devices

디바이스 시리얼 넘버  확인

 

◆ adb shell rm -r /system/sd/app

폴더 삭제

 

adb shell input keyevent 4 : back키 입력

키 이벤트 입력

 

adb shell am start -a android.settings.SETTINGS

설정화면 띄우기

 

◆ adb exec-out screencap -p > /sdcard/[저장할파일명].png

    adb pull /sdcard/[저장할파일명].png

스크린 캡쳐 후 PC로 복사

 

adb shell screenrecord /sdcard/[저장할파일명].mp4

동영상 녹화

 

◆ adb shell top -n 10 | grep "keyword"

Process 사용률 확인

 

◆ adb shell dumpsys [패키지명]

dumpsys는 안드로이드 폰의 어플리케이션 및 현재 기기의 상태에 대한 자세한 정보를 제공한다.

dumpsys meminfo: 메모리 사용 정보를 표시

dumpsys cpuinfo: CPU 프로세서 사용 정보를 표시

dumpsys account: 모든 계정에 대한 정보를 표시

dumpsys activity: Activity에 대한 정보를 표시

dumpsys window: 키보드와 윈도우, 그리고 그들의 z order에 대한 정보를 표시

dumpsys wifi: 접속 가능한 액세스 포인트와 현재의 연결 상태를 표시

dumpsys power: 전원 관리와 관련된 정보(wakelock, screen off time 등)를 표시

 

◆ adb setprop/getprop

system property

 

◆ adb shell service list

service list

 

◆ adb shell ps | findstr com.simple....

  adb shell ps | grep com.simple....

실행중인 process 검색

 

 adb shell service list | findstr [서비스명]

실행중인 service list 검색

 

◆ adb shell cat /proc/version

리눅스 커널 버전

 

◆ adb install [options] [APK파일명].apk

adb로 컴퓨터에 있는 apk파일로 안드로이드 기기에 애플리케이션 설치

-r: 기존 앱을 재설치

-t: 테스트 APK를 설치하도록 허용

-d: 버전 코드 다운그레이드를 허용

-g: 앱 manifest에 나열된 모든 권한을 부여

 

◆ adb dumpdate > dump.log

로그를 파일로 저장

 

◆ adb shell pm list packages -f

설치된 앱 리스트

 

◆ adb push /[폴더명]/

로컬 파일에 존재하는 파일을 기기의 특정 폴더로 복사하는 명령어

 

◆ adb pull /data/data/[패키지명]/databases

특정 패키지 DB 를 로컬 pc로 복사하는 명령어

 

 기타

df : 파일 시스템의 용량을 확인하는 명령어(disk freespace)

dmesg : 부팅하는 동안의 커널로그 확인하는 명령 (display message)

getprop : system 프로퍼티 정보를 보여줌

stop/start/reboot : /중지/시작/리붓

netcfg : network ipaddress 보기

 

반응형
반응형

IntelliJ 단축키가 잘 정리된 문서가 있네요,  아래 링크에서 다운받아 출력해서붙여 두시면 도움이 될것 같네요.

 

다운로드 링크

https://resources.jetbrains.com/storage/products/intellij-idea/docs/IntelliJIDEA_ReferenceCard.pdf

 

Windows / Linux

 

Mac OS

 

 

반응형

+ Recent posts