ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 리눅스 기초 명령어 : ps -ef, |, grep, &, 가상환경, virtualenv, requirements, nohup
    데이터 분석 공부/파이썬 데이터 분석 2024. 4. 3. 16:07
    728x90

    ## | 
    ## grep

     

    ps -ef | grep python  : python이 들어간 텍스트를 검색

     

    더보기

    'ps -ef | grep python'은 리눅스나 유닉스 기반 시스템에서 사용되는 명령어입니다. 각 부분을 살펴보면:

    • ps: "process status"의 줄임말로, 현재 실행 중인 프로세스의 정보를 보여주는 명령어입니다.
    • -ef: 옵션으로, 모든 프로세스를 상세하게 보여달라는 의미입니다. -e는 모든 프로세스를 보여주고, -f는 전체 명령어 라인을 보여줍니다.
    • |: 파이프(pipe)라고 불리는 기호로, 앞 명령어의 결과를 뒤에 오는 명령어의 입력으로 전달합니다.
    • grep python: grep은 텍스트를 검색하고 필터링하는 명령어입니다. 여기서는 'python'이라는 텍스트를 찾는 역할을 합니다.

    따라서, 'ps -ef' 명령어는 현재 실행 중인 모든 프로세스를 상세하게 나열하고, 'grep python'은 그 중에서 'python'이라는 텍스트가 포함된 행만 출력합니다. 즉, 'python'이라는 이름을 가진 프로세스를 찾는 데 사용됩니다.

     

    # vim &

     

    '&' 문자가 백그라운드를 돌게 하는 명령어

     

    백그라운드에 돌고 있는 프로세스를 죽이는(kill) 방법 (좀비 프로세스 등 죽여야 할 때 사용)
    ps -ef | grep vim 친 뒤 나오는 pid와 함께 아래 문자 입력
    kill -9 'pid' 

     

    이후 cd ~/workspace 명령어 입력하여, 홈 > 워크스페이스로 이동

     

     

    # mkdir : 리눅스나 유닉스 기반 시스템에서 디렉터리(폴더)를 생성하는 명령어

    mkdir -p ./a/b : 앞에 있는 a폴더가 없으면 필요한 거 알아서 만들라는 의미의 '-p'
    mkdir ./c/d : '-p' 명령어가 없는 상태에서 c 폴더가 없으면 에러 발생

    더보기
    • mkdir: "make directory"의 줄임말로, 디렉터리를 생성하는 명령어입니다.
    • -p: 옵션으로, 지정한 경로에 필요한 디렉터리들을 중간 경로까지 모두 생성하라는 의미입니다.
    • ./a/b: 새로 생성할 디렉터리의 경로를 나타냅니다. 여기서 ./는 현재 디렉터리를 의미하며, a 디렉터리 안에 b 디렉터리를 생성하도록 지정합니다.

     

    따라서, mkdir -p ./a/b 명령어는 현재 디렉터리에 a 디렉터리를 생성하고, 그 안에 b 디렉터리를 생성합니다.

    만약 a 디렉터리가 이미 존재하지 않는다면 함께 생성하고, 만약 b 디렉터리가 이미 존재한다면 무시합니다.

     

    # ls -al ~/ :현재 사용자의 홈 디렉터리에 있는 모든 파일과 디렉터리를 자세히(list) 보여주는 명령어

    더보기
    • ls: "list"의 줄임말로, 파일과 디렉터리 목록을 보여주는 명령어입니다.
    • -al: 옵션으로, -a는 숨겨진 파일까지 모두 보여달라는 의미이고, -l은 자세한(long) 정보를 출력하라는 의미입니다.
    • ~/: ~는 홈 디렉터리를 나타내는 특수한 기호이며, ~/는 현재 사용자의 홈 디렉터리를 의미합니다.

    따라서, ls -al ~/ 명령어는 현재 사용자의 홈 디렉터리에 있는 모든 파일과 디렉터리를 자세히 보여줍니다. 이때 숨겨진 파일 및 디렉터리도 함께 표시됩니다.

    # rm : "remove"의 줄임말로, 파일이나 디렉토리를 삭제할 때 사용

      -f   강제 삭제
      -i   삭제 여부 확인
      -r OR -R   디렉터리 삭제

     

    # rm file rm example.txt

    # 강제 rm file rm -f example.txt

    # rm 여부 확인 rm -i example.txt

    # rm directory rm -r /User/users/workspace

     

    # 파이썬의 가상환경 만들기

    mkdir project         # 프로젝트 라는 새 폴더 생성 
    cd ./project/           # 프로젝트 폴더로 이동
    pip install virtualenv # 패키지 설치 
    python3 -m virtualenv venv # -m : 메시지 전달해줘 라는 의미 / 파이썬에게 가상환경 실행하라는 의미
    ls -al                    # ls -al 통해 보면 venv 라는 새로운 폴더 생성되어 있음 
    . ./venv/bin/activate # 가상환경 안으로 들어가기
    pip list                  # 지금까지 작업하던 환경과 달리 아무것도 깔려 있지 않은 깨끗한 환경

     

     

    # pip 설치 방법

    pip install pandas  # 항상 최신 버전
    pip install pandas == 1.2.0 # 특정 버전
    pip uninstall pandas # 설치 삭제
    pip list # 버전 확인
    pip freeze # 버전 확인 

    # 다른 사람에게 소스 코드 받았으면 requirement 파일 같이 받아서 확인해야 같은 환경에서 정상적으로 확인 가능!!! 

    # 깔린 설치물과 버전 확인, txt 파일로 export 함. 

    #회사에서는 FTP 프로그램 사용해야하나, 학원에서는 우분투 폴더 안에 넣어줌

     

    pip list --format=freeze > requirements.txt  
    \\wsl.localhost\Ubuntu-22.04\root\workspace\project 폴더 경로에 다운받은 txt 파일 넣어주기 (root 권한 기준)
    \\wsl.localhost\Ubuntu-22.04\home << 계정 권한 기준으로는 home 으로 들어가면 됨

     

    cat requirements.txt                   # 받은 소스파일 내 내용 확인

    pip install -r requirements.txt     # 받은 소스파일 내 패키지, 버전 그대로 모두 설치

     


    # 주피터 노트북 연결하기

    포그라운드에서 jupyter-notebook 명령어해서 터미널 세션이 끝나는 순간 주피터도 꺼짐(죽음)
    이를 방지 하기 위해 세션이 꺼져도 주피터 노트북을 유지하라는 백그라운드 명령어 입력


    # nohup -> session 유지 
    # & -> background 
    nohup jupyter-notebook &
    # 루트 권한일 경우 
    nohup jupyter-notebook & --allow-root

     

     

     

    댓글

Designed by Tistory.