Dandy Now!
  • [Linux] 구름IDE를 이용한 리눅스 명령어 실습
    2023년 10월 03일 00시 04분 52초에 업로드 된 글입니다.
    작성자: DandyNow
    728x90
    반응형

    1. 구름 IDE에서 간편한 무료 서버 이용

    통합 개발 환경 SASS 서비스를 무료로 이용할 수 있는 구름 IDE를 이용해 리눅스 명령어 실습을 진행하였다. 이 실습은 인프런의 "2022 30분 요약 강좌 시즌 1 : HTML, CSS, Linux, Bootstrap, Python, JS, jQuery&Ajax"에 포함된 리눅스 강좌를 학습하며 진행한 것이다.

     

    2. 실습한 리눅스 명령어

    • dandy 폴더 생성
      • root@goorm:/workspace/linux# mkdir dandy
    • dandy 폴더 이동
      • root@goorm:/workspace/linux# cd dandy
    • 현재 경로 보기
      • root@goorm:/workspace/linux/dandy# pwd
    • test.py 파일 생성
      • root@goorm:/workspace/linux/dandy# touch test.py
    • 폴더 정보 보기
      • root@goorm:/workspace/linux/dandy# ls
      • root@goorm:/workspace/linux/dandy# ls -al
      • root@goorm:/workspace/linux/dandy# ll
    • test.py 편집
      • root@goorm:/workspace/linux/dandy# vi test.py
      • vi 에디터 명령어
        • :wq! => 저장 후 강제 종료
        • a(또는 i) => 명령모드
        • ESC => 입력모드
    • test.py 파일 내용 보기
      • root@goorm:/workspace/linux/dandy# cat test.py
      • root@goorm:/workspace/linux/dandy# more test.py
      • cat은 한 번에 출력, more은 한 페이지씩 보여주며 넘어감
    • echo를 이용한 txt파일 생성
      • root@goorm:/workspace/linux/dandy# echo "hello world"
      • root@goorm:/workspace/linux/dandy# echo "hello world" > test.txt
    • 파일 복사
      • root@goorm:/workspace/linux/dandy# cp test.py test2.py
    • 조회 결과를 txt 파일로 저장
      • root@goorm:/workspace/linux/dandy# ls -al > result.txt
    • 파일 삭제
      • root@goorm:/workspace/linux/dandy# rm test.py
    • 파일 경로 이동
      • root@goorm:/workspace/linux/dandy# mv result.txt ../
    • 폴더 생성/삭제/이동
      • 삭제
        • root@goorm:/workspace/linux# rmdir dandy
      • 생성(하위 폴더 포함)
        • root@goorm:/workspace/linux# mkdir -p one/two/three
      • 하위 폴더 & 파일 모두 삭제
        • root@goorm:/workspace/linux# rm -r one
        • (WINDOWS CMD의 경우 : rmdir /s /q one)
      • 폴더 생성 후 경로 이동
        • root@goorm:/workspace/linux# mkdir one;cd one
    • |(파이프) 명령어로 같이 실행
      • root@goorm:/workspace/linux/one# cat sample.txt | grep "Python"

    • 웹에서 이미지 다운로드
    • 깃 설치
      • 구름 IDE에는 기본값으로 깃이 설치되어 있고 설치 명령 실행시 오류
      • root@goorm:/workspace/linux# sudo apt-get install git
    • 깃허브 프로젝트 클론
    • 서버 기동을 위한 nginx 설치
      • 구름IDE에는 기본값으로 설치되어 있음
      • root@goorm:/workspace/linux# sudo apt-get install nginx
      • nginx의 default 파일에서 프로젝트 경로 수정
        • root@goorm:/workspace/linux# vi /etc/nginx/sites-available/default

    • 서버 기동
      • 프로젝트 경로로 이동
        • root@goorm:/workspace/linux# cd 10000hour/
      • 서버 기동
        • root@goorm:/workspace/linux/10000hour(main)# sudo service nginx start
      • 기동 중인 서버에 접속
        • 컨테이너 => 실행 URL과 포트 => 바로가기
      • 기동 중인 서버 현황 보기
        • root@goorm:/workspace/linux/10000hour(main)# ps aux
      • 서버 기동 중지
        • root@goorm:/workspace/linux/10000hour(main)# kill 6195
    • 루트 경로로 이동
      • root@goorm:/workspace/linux# cd ~
    • 최상단 경로로 이동
      • root@goorm:~# cd ..
    • 파일 찾기
      • root@goorm:~# find / -name test2.py
    • 현재 경로에서 파일 찾기
      • root@goorm:/workspace/linux# find . -name test2.py
    •  권한 부여 (r = 4, w = 2, x =1 / 소유자, 그룹사용자, 기타 사용자)
      • -rwx------ 1 root root   12 10월  2 11:13 test.txt*
        • root@goorm:/workspace/linux# chmod 700 test.txt
      • -rwx--x--x 1 root root   12 10월  2 11:13 test.txt*
        • ugo는 user, group, other
        • + 권한 추가, - 권한 빼기
        • x는 실행권한
        • root@goorm:/workspace/linux# chmod ugo+x test.txt
    • 압축/해제
      • -r 옵션 django 폴더의 하위 폴더까지 모두 압축
        • root@goorm:/workspace/linux# zip -r django.zip ./django
      • 해제
        • root@goorm:/workspace/linux# unzip django.zip
      • 하위 폴더에 압축 해제
        • -d  옵션 사용
        • root@goorm:/workspace/linux# upzip django.zip -d ./폴더명
    • 그 외 명령어
      • 별칭
        • alias
      • 매뉴얼
        • man
      • 도메인으로 IP 조회
        • nslookup
      • 네트워크 접속이 되는지 확인
        • ping
      • 네트워크 경로 추적(어느 단에서 장비가 고장 났는지 확인)
        • traceroute
      • 실행하고자 하는 프로그램의 경로명
        • which find
        • which python
        • which node
      • forground, backgroud : 프로세스를 백그라운드나 포그라운드로 옮기는 작업
        • fg
        • bg
        • &
          • python file.py &
            • 터미널의 백 그라운드에서 실행
            • 터미널 세션이 끊기면 종료됨
            • 버전에 따라 nohup명령과 같은 동작하기도 함
      • 프로세스 작업 출력
        • jobs
      • 네트워크 정보 출력
        • ifconfig
      • 파일 내용 확인
        • 위에서부터 10줄 표시
          • head file.py
        • 위에서부터 3줄 표시
          • head -3 file.py
        • 아래에서부터 10줄 표시
          • tail file.py
        • 아래에서부터 3줄 표시
          • tail -3 file.py
        • -F 속성 추가하면 꺼지지 않고 파일변경내용 실시간으로 갱신
          • head -F file.py
          • tail -F file.py
      • nohup
        • 데몬 형태로 실행, 터미널 세션이 끊겨도 계속 실행
          • nohup python file.py
        • 백그라운드에서 실행. 터미널 세션이 끊겨도 계속 실행됨. 종료 없이 백그라운드에서 동작하게 하고 싶다면(like Server) 해당 명령어사용이 안전. 권한은 항상 755 이상이어야 함
          • nohup python file.py &
        • 실시간으로 로그 확인
          • nohup을 사용하면 nohup.out파일이 나온다. 해당 파일에 프로세스의 출력내용이 기록된다. 
          • tail -f nohup.out
      • 서버 테스트용으로 요청
        • curl
          • 네이버 소스코드 요청
            • curl https://www.naver.com
          • index.html로 소스코드 저장
            • curl -o index.html http://www.naver.com
            • 대문자 -O를 사용하면 서버의 파일명으로 저장한다.
          • -d 다음으로 나오는 데이터를 넣어놓는 형식으로 요청, -X는 요청방식
            • curl -d {data:1, data:2} -X POST <url>
          • -H는 헤더내용 추가
            • curl -H "Content-Type: application/x-www-form-urlencoded" -X GET <url>

    2024-02-15 추가

    3. PM2

    📌 설치

    전역 설치(-g) 유의

    npm i pm2 -g

    📌 명령어

    • 프로세스 시작 : pm2 start --name <프로세스 이름 지정> npm -- start (npm -- start는 프로젝트 실행 명령어 이므로 프로젝트의 구동 설정에 따라 달라질 수 있음)
    • 프로세스 중단 : pm2 stop <프로세스 아이디 또는 이름>
    • 프로세스 재시작 : pm2 restart <프로세스 아이디 또는 이름>
    • 프로세스 삭제 : pm2 delete <프로세스 아이디 또는 이름>
    • 프로세스 목록 확인 : pm2 status
    • 프로세스 로그 확인
      • 전체 : pm2 log
      • 특정 프로세스 : pm2 log <프로세스 아이디 또는 이름>
    • pm2 모니터링 : pm2 monit

     

    728x90
    반응형
    댓글