반응형

자주 사용하는 리눅스 명령어 정리

인프런 개발자를 위한 쉬운 리눅스 참고 하였습니다.

 

파일시스템

현재 위치 확인

pwd(print working directory)

$ pwd                        
/Users/user

 

디렉터리 생성

mkdir(make directroy)

$ cd ~
$ mkdir easylinux        easylinux  디렉터리 생성

 

디렉터리를 이동

cd(change directory)

$  cd ./                            현재 디렉터리 이동
$  cd easylinux               현재 디렉터리에서 easylinux디렉터리 이동
$  cd ./easylinux             현재 디렉터리에서 easylinux디렉터리 이동
$  cd ~                            홈 디렉터리 이동 
$  cd ..                            상위 디렉터리 이동
$  cd /                             root 디렉터리 이동

 

디렉터리의 파일 리스트 조회

ls(list)

$  ls                                현재 위치 기준 디렉터리 조회
$  ls easylinux                easylinux 디렉터리위치 기준 디렉터리 조회
$  ls -alh                         숨김 파일 및 파일 사이즈도 함께 조회

 

디렉터리/파일의 구조를 확인

tree

$ tree                             일반조회
$ tree -d                         디렉터리만 조회
$ tree -a                         숨김파일까지 조회
$ tree -L {깊이}               깊이 지정 조회

 

디렉터리/파일을 복사

cp(copy)

파일 복사: cp [원본 파일] [대상 위치]

다른이름으로 복사: cp [원본 파일] [위치와 파일명]

디렉터리 복사: cp -r [원본 위치] [대상 위치]

현재 디렉터리로 복사: cp -r [원본 위치] .

$ cd easylinux
$ touch file1 && toch file2      file1,file2 파일 생성
$ cp file1 ../                            상위 디렉터리에  file1복사
$ mkdir badlinux
$ cp file2 badlinux/file3          file2 파일을 badlinux 디렉터리에 file3이름으로 복사
$ cp -r . badlinux                    현재 디렉터리를 badlinux디렉터리에 복사
$ cp -r badliniux .                    badlinux 디렉터리를 현재 디렉터리에 복사

 

디렉터리/파일을 이동

mv(move)

파일/디렉터리 이동: mv [원본 위치] [새 위치]

$ cd ~/easylinux/badlinux
$ mv badlinux ../badlinux2       badlinux 디렉터리 안 badlinux 디렉터리를 상위디렉터리로 badlinux2로 이름을 바꿔서 이동

 

디렉터리/파일을 찾기

find

파일/디렉터리 찾기: find [찾을 위치] -name [파일/디렉터리명]

$ cd ~/easylinux
$ find badlinux -name file1        badlinux 디렉터리에서 file1 찾기

 

디렉터리/파일을 삭제

rm(remove)

파일 삭제: rm [삭제할 파일 위치]

디렉터리 삭제: rm -r[삭제할 디렉터리 위치]

파일 강제 삭제(*주의): rm -rf [삭제할 파일 위치]

 

$ cd ~/easylinux/badlinux2

$ rm file1                               file1 삭제

$ rm -r badlinux                    badlinux 디렉터리 삭제

 

파일 작성하고 수정

vi편집기 사용

INSERT 모드(i)             : 문자 편집 가능

 

COMMAND 모드(esc)   : 복사/붙여넣기/ 파일저장/종료 등 다양한 작업가능

:q                                                  종료(quit)  
:q!                                                 강제종료
:wq                                               저장(write) 후 종료 
:wq!                                              저장(write) 후 강제종료 

dd                                                 줄삭제(delete)
yy                                                 복사(copy)
p                                                   붙여넣기(paste)
u                                                   되돌리기(undo)

:set number                                  라인 넘버 보기
/검색어 -> enter -> n으로탐색      검색
:%s/원본/대체/g                            원본  대체 변경

 

파일의 내용을 확인

cat

$cat nginx.conf

 

파이프 '|'

[이전 명령어] |[이후 명령어] 명령어의 출력을 다음 명령으로 전달

 

출력 내용을 검색하는 grep

파일의 내용 검색: cat [파일명] | grep [검색어]

이전 n라인 출력: grep -B n [검색어]

이후 n라인 출력: grep -A n [검색어]

대소문자 구분 없이 검색: grep -i [검색어]

$cat nginx.conf | grep cmd           nginx.conf 안 cmd검색
$cat nginx.conf | grep -B 3 cmd   nginx.conf 안 cmd검색  이전3라인 출력
$cat nginx.conf | grep -A 2 cmd   nginx.conf 안 cmd검색  이후2라인 출력
$cat nginx.conf | grep -i cMd       nginx.conf 안 cmd검색  대소문자 구문없이

 

출력 결과를 저장하는 리다이렉션

>      기존파일이 있는경우 덮어쓰기

>>    기존 파일이 있는경우 내용추가

$cat nginx.conf | grep cmd > test.txt           검색한 내용을 test.txt파일에 저장
$cat nginx.conf | grep cmd >> test.txt         검색한 내용을 test.txt파일에 추가 저장

 

큰 파일 읽을때

less

$ cat nginx.conf > tree_result.txt
$ less tree_result.txt                            enter, space 로 탐색 q로 종료

 

아카이브란?

여러 파일이나 디렉터리를 하나의 파일로 묶음 (tar)

압축?

데이터를 더 작은 크리고 죽이는 과정 포함 (zip, gz..)

 

아카이브

파일이나 디렉터리 아카이브           : tar -cvf [결과파일.tar] [디렉터리또는파일] \

파일이나 디렉터리 아카이브 해제    :tar -xvf [결과파일.tar]

 

아카이브를 압축하는 tar

파일이나 디렉터리 압축                  : tar -czvf [압축파일.tar.gz] [디렉터리또는파일]

파일이나 디렉터리 압축 해제          : tar -xzvf [압축파일.tar.gz]

 

시스템 관리 기본

ifconfig             IP확인 

chmod +x       실행 권한이 부여

chmod +x go-web-application-windows.exe      go-web-application-windows.exe 프로그램 실행권한 부여
./ go-web-application-windows.exe                    go-web-application-windows.exe 실행
./ go-web-application-windows.exe &                 go-web-application-windows.exe  백그라운드에서 실행

ps -al              실행 중인 프로세스를 조회하는 

kill                  실행 중인 프로세스(PID)를 종료하는 

kill -9 PID       강제종료

 

터미널 활용

watch            주기적으로 명령어를 실행하는

watch –n [주기(초)] [실행할 명령어]

$ watch -n 1 ps -al                     1초 간격으로 실행된 프로세스 확인

 

export            환경변수를 지정하는 

$ export WEBAPP_VAR=linux1     환경변수 지정

 

alias              명령어를 단축어로지정하는 

alias [새로운명령]=[기존명령어조합]

$ aslias mktar='tar -cvf'
$ mkdir tartest
$ cd tartest
$ touch file1 && touch file2
$ mktar test.tar .                           현재 디렉터리를 test.tar로 아카이브

 

명령어 환경 설정 (zsh, bash)

- 사용자의 홈 디렉터리에 .zshrc, .bashrc 파일 수정

- 파일의 명령어들은 쉘 세션 시작 시 자동으로 실

$ vi ~/.zshrc                                  (zsh인 경우)    
$ vi ~/.bashrc                                (bash인 경우)  
export WEBAPP_VAR=devwiki
alias mktar='tar -cvf'                      터미널 시작시 .bashrc에 있는 명령어 자동으로 실행

 

참고

ㅇ 달러 기호($)가 있는 경우 -> 리눅스 터미널에서 CLI 명령어 입력

ㅇ "=#" 기호가 있는 경우 -> psql 쉘에서 명령어 입력

ㅇ 꺽쇠가 하나 있는 경우(>) -> 윈도우 명령 프롬프트(cmd)에서 명령어 입력

ㅇ 꺽쇠가 세개 있는 경우(>>>) -> python 쉘에서 명령어 입력

반응형

'Backend > 리눅스' 카테고리의 다른 글

터미널(Terminal) 쉘(Shell) 개념 정리  (0) 2024.07.08

+ Recent posts