SSH(putty) Command

Janice._.oooh·2021년 11월 19일
0
post-thumbnail

Shortcut Key

Ctrl + R : show the recent command you input
$ !! : redo the last command
Ctrl + U : delete the current line
Ctrl + C : finish the current command by force
Ctrl + D : logout the current session like Exit
 $ exist  : logout the current session


vi / vim

h, j, k, l : 왼쪽, 아래, 위, 오른쪽으로 커서이동
 i  : 현재커서위치에 작성
 a  : 현재커서 다음위치에 작성
I : 맨앞에 작성
A : 맨뒤에 작성

w : 단어 첫글자로 이동하기
e : 단어의 마지막 글자로 이동하기
 gg  : 문서 맨 앞으로 이동
 G  : 문서 맨끝으로 이동
 ^  : 문장 맨 앞으로 이동
 $  : 문장 맨 뒤로 이동
f + 문자 : 문자의 위치로 이동 ; 를 누르면 계속 이동

 / + 단어  : 문서에서 단어 찾기 n이나 N으로 다음/이전 찾기
* : 현재 단어를 포워드 방향으로 찾기
# : 현재 단어를 백워드 방향으로 찾기

Ctrl + f : 다음 페이지 이동
Ctrl + b : 이전 페이지 이동
Ctrl + u : 페이지절반만큼 다음으로 이동
Ctrl + d : 페이지절반만큼 이전으로 이동
H : 현재 화면의 맨 위라인으로 이동
M : 현재 화면의 중간 라인으로 이동
L : 현재 화면의 마지막 라인으로 이동

 %  : { }나 ( )에서 현재 괄호의 짝으로 이동

 dd  : 현재 줄 잘라내기
 yy  : 현재 줄 복사하기

dw : 단어 잘라내기
cw : 단어 잘라내기

 y  : 복사하기
 c  : 잘라내기
 p  : 붙혀넣기
x : 현재 글자 지우기

>> : 들여쓰기
<< : 내어쓰기
. : 이전 명령어를 다시 실행

 v  : 비쥬얼모드(비쥬얼 모드에서 커서 이동해서 블럭지정 가능)

~ : 선택 문자 대소문자 변경
Ctrl + A : 숫자를 증가시키기
Ctrl + X : 숫자를 감소시키기

 :w  : 문서 저장하기
 :q  : 현재 문서 닫기
 :q!  : 저장하지 않고 강제 종료
 :wq  : 저장하고 닫기
 :숫자  : 지정한 라인넘버로 이동


File and Directory

 $ ls  : list of directories and files
 $ ls-al  : list of directories and files including hidden
 $ cd [directory_name]  : locomotion to the directory
 $ pwd  : show the location of current directory

 $ mkdir [directory_name]  : make a directory
$ rm [file_name] : remove the file
$ rm -r [directory_name] : remove the directory
$ rm -f [file_name] : remove the file by force
 $ rm -rf [directory_name]  : remove the directory and all lower files
$ cp [file1][fijle2] : copy file1 to file2
$ cp -r [file1][file2] : copy file1+lower all to file2
 $ mv [file1][file2]  : move or change file1 to file2

 $ grep -r [text_you wanna find]  : search the text including lower paths
 $ find -name "file_name"  : search with file name

$ tail -f[file_name] : print out the last 10 lines of file
$ tail -f [file_name] grep [text_you wanna find]

$ tar -xvzf [file_name].tar.gz : decompress the zip file


Process

$ ps : show the current active process
$ top : show all active process
$ kill [process ID] : exist the process
(the process ID is same to pid, It can be show when input the 'ps' command)


GIT

$ git --help : help what options there are

$ git init : create a GIT

 $ git status  : check status of the file

$ git add [file_path] : add the file in Staging Area
 $ git add --all  : add the all files in Staging Area

$ git diff : Working Directory와 Staging Area를 비교(Unstaged파일 수정된 부분)
$ git diff --staged(--cached) : Staging Area와 Repository 를 비교
(Staged파일 수정된 부분)

 $ git commit  : do commit
$ git commit -v : 편집기에 diff메세지도 추가
$ git commit -m "commit_message" : write the description of the selected code
$ git commit -a
: put in the Tracked files to the Staging Area automatically
(In other words, you can skip the 'git add' command)
 $ git commit --amend  : commit message 변경하기
$ git commit --amend --no-edit : if a file was omitted, you can do 'git add [file_name]' and renew existing commit

$ git reset (--mixed) [commit ID_you wanna go back]
: move to past commit of a specific point (commits after move is deleted), Index field is initialized with the corresponding Commit ID status but, Working Directory is not
 $ git reset --hard [commit ID_you wanna go back]  : both the Working Directory and Index are initialized with the corresponding Commit ID status
$ git reset --soft [commit ID_you wanna go back]
: both the Working Directory and Index are not initialized with the corresponding Commit ID status
$ git reset [commit] [path]
 $ git reset HEAD^  : 가장 최근의 commit을 취소
$ git reset HEAD~2 : 가장 최근 2개의 commit을 취소

[COMMIT 복구하기]

$ git reflog : GIT이력 리스트 보기 -> commit ID 확인
$ git reset --hard [commit_hash_ID] : 복구하기

[BRANCH 복구하기]

$ git reflog 또는 git reflog |grep [branch_name] : log 확인
$ git checkout -b [branch_name_wanted to return] [commit_hash_ID] : 복구하기

$ git log : check the commit record of git
$ git log [branch1][branch2] : different between branch1 and branch2
$ git log -p [branch1][branch2] : different between branch1 and branch2 + code
$ git log --grep
$ git log --branch --not --remotes : check the log without pushing
(The commit after the moved point is deleted)
$ git log --oneline : commit record를 한줄씩 간결히 보기

$ git format-patch [commit_ID] : create a patch file
$ git format-patch -[number] : create [number] patch files form HEAD
$ git am [patch_file_name] : apply patch file

$ git rm -rf
$ git mv : 파일이름 변경 (mv file1 file2 --> git rm fjile1 --> git add file2)

 $ git blame  : 소스파일의 각라인을 누가 작성했는지 출력
$ git blame -L [start_line],[finish_line] ./[file_name] : 해당 부분(시작줄~끝줄)을 누가 작성했는지 출력

$ git merge
$ git rebase : change the base (It is not remain unnecessary merge history)
$ git rebase --interactive : re-base and edit the commit history

$ git cherry-pick [commit_hash1] [commit_hash2].... : 다른 브랜치에 있는 커밋을 선택적으로 내 브랜치에 적용
 $ git cherry-pick --continue  : 중지되었던 cherry-pick 진행
add.) Conflict으로 인해 cherry-pick이 더 이상 진행하지 못하는 상황에, git add 수정된 코드 add (다시 commit X)하고, git cherry-pick --continue 명령어를 사용하면 다시 진행이 시작

 $ git branch [branch_name]  : create a branch
 $ git branch -a  : list of the local branch
$ git branch -r : list of the remote branch
$ git branch -m [branch_name] [change_branch_name] : change the branch's name
 $ git branch --delete [branch_name]  : delete the branch

 $ git checkout [branch_name]  : select the branch
$ git checkout -t [remote_path/branch_name] : select the remote branch


SERVER

$ sudo su : 관리자 권한으로 접속
$ su - 사용자계정 : 유저권한으로 되돌아가기
$ smbpasswd -U 사용자계정 : 삼바 비밀번호 변경
$ passwd 사용자계정 : 사용자계정의 비밀번호 변경
$ alias ll="ls -al"



########## Will continue to add and edit ###########

0개의 댓글