터미널 명령어
개발 업무를 하다보면 피할 수 없는게 커멘드 쉘 프로그램 이다. “Bourne Shell”, “Bash”, “CMD”, “PowerShell”, “fish”, “zsh” 등등 종류도 다양하다. 사용처 역시 웹개발, 원격서버 접속, GIT 명령어 수행, 자동화 도구 스크립트 작성 등 다양하다.
젠킨스 배포 스크립트 예
#!/bin/sh
#/var/lib/jenkins/workspace/Kuzal/target/*.jar
target=/home/ec2-user/kuzalBE
jenkins=/var/lib/jenkins/workspace/Kuzal/target
filename=kuzalBE.jar
# 파일있으면 삭제
echo "deleting ${filename}"
cd $target
if test -e $filename
then rm -f $filename
fi
echo "delete done"
#jenkins 로 배포된 파일 복사
echo "copying ${filename}"
cp $jenkins/*.jar $target/kuzalBE.jar
chmod 755 $target/kuzalBE.jar
sleep 10
echo "copy done"
#서비스 run되어있는것 삭제
echo "stop service"
sudo kill $(ps aux | grep 'java -jar kuzalBE.jar' | awk '{print $2}')
sleep 20
#서비스 실행
echo "start service"
sudo nohup java -jar $filename 2>> /dev/null >>/dev/null &
echo "started service"
유닉스 명령어를 윈도우에서 사용
개발자가 선호하는 OS 는 윈도우가 차지하는 비중이 꽤 높다. 맥에서는 자연스럽게 리눅스 명령어를 사용하지만 윈도우에선 기존에 Cygwin 이라는 프로그램을 깔아야만 리눅스 명령어 사용이 가능 했었는데 최신 버전의 윈도우에선 리눅스를 포함하고 있으며 WSL 설치를 통해 사용 가능하다.
이번 글에서는 쉘 프로그램을 왜 배워야 하는지 간단한 소개를 하려고 한다. 스택오버플로우 설문조사에서 인기있는 언어에서도 상위권을 차지한 바가 있다고 한다.
유닉스쉘 명령어 소개
man
: Manual 의 약자이며 help 와 같은 기능을 수행한다.clear
: 화면의 내용을 모두 지워 준다.pwd
: Print Working Directory 의 약자이며 현재 내가 있는 곳의 전체 경로를 보여줌ls
: List 의 약자이고 현재 경로의 폴더와 파일들의 목록을 볼 수 있음
-l
: LONG 의 약어 이며 자세히 보기에 사용 된다.-a
: all 의 약어이며 숨겨진 파일까지 모두 확인할 수 있다.-la
과 괕이 두가지 옵션을 붙여서 사용할 수 있음
explorer
: 현재 위치에서 윈도우즈 탐색기 켜기 (Powershell)cd
: Change Directory 의 약자이며 경로를 변경할 때 사용한다.
.
: 현재경로..
: 현재 경로의 상위~
: 사용자의 최상위 경로 (HOME)-
: 바로 이전경로로 이동
-
find
: 파일 시스템 내에서 특정 파일을 찾을 때 사용
touch
: 파일이 존재하지 않으면 생성하고, 존재하는 파일이면 해당 시간으로 업데이트됨
ex) ~/projects/shell > touch new_file1.txtcat
: 파일명에 해당하는 내용을 확인할 수 있음
echo
: 문자열 출력
mkdir
: Make Directory , 디렉토리 생성cp, mv, rm
: 파일 또는 폴더의 복사, 이동 및 삭제
grep
: Global regular expression print
REF.
드림코딩 https://www.youtube.com/channel/UC_4u-bXaba7yrRz_6x6kb_w
흥개발자 [https://taekwang.tistory.com/23][https://taekwang.tistory.com/23]