Linux 명령어

문주은·2022년 3월 28일
0

export TIMEOUT=0

: 창 꺼지지 않게 설정

cat 123.log | grep '13:30*'

: 시간대에 따른 로그 기록 보기

docker logs -f --tail 10 컨테이너명

: 마지막 컨테이너 로그 기록 확인

cp -R '/var/log/nginx/aa.log' .

: 로컬에서 aa.log 파일을 현재 경로에 복사

용량 확인

  • df -h
    : 파일 시스템 전체 용량 확인(디스크 전체 용량 확인)

  • du 명령어
    : 특정 디렉토리 별 사용량 확인(디스크 사용량 확인)

    1) du -h 2) du -hd 1
    : du -h의 상위 디렉토리 중 첫 번째 디렉토리의 전체 사용량 확인 가능

  • free -h
    : 메모리 용량 확인

  • df -P | grep -v ^Filesystem | awk '{sum += $2} END { print sum/1024/1024 " GB" }'
    : 전체 용량 확인

  • df -P | grep -v ^Filesystem | awk '{sum += $3} END { print sum/1024/1024 " GB" }'
    : 전체 남은 용량 확인

ls 명령어

1) ls = ls -h
2) ls -a : 숨김파일까지 모두 포함한 ls
3) ls -l : 지정한 디렉토리 내용을 자세히 확인

pip list --format=freeze > ./requirements.txt

: "package==version" 형식으로 freeze

chown, chmod

  • chown
# AS-IS
user@dev:~/exp$ ls -l
drwxrwxr-x 2 root root 4096 Sep 17 06:39 dir1
drwxrwxr-x 2 user user 4096 Sep 17 06:39 dir2
-rw-rw-r-- 1 user user    0 Sep 17 06:39 file1

# chmod
user@dev:~/exp$ sudo chown dev:dev dir1

# TO-BE
user@dev:~/exp$ ls -l
drwxrwxr-x 2 dev dev   4096 Sep 17 06:39 dir1
drwxrwxr-x 2 user user 4096 Sep 17 06:39 dir2
-rw-rw-r-- 1 user user    0 Sep 17 06:39 file1
  • chmod
# AS-IS
user@dev:~/exp$ ls -l
drwxrwxr-x 2 root root 4096 Sep 17 06:39 dir1
drwxrwxr-x 2 user user 4096 Sep 17 06:39 dir2
-rw-rw-r-- 1 user user    0 Sep 17 06:39 file1

# chnod
user@dev:~/exp$ sudo chmod o+w-x dir1

# TO-BE
user@dev:~/exp$ ls -l
drwxrwxrw- 2 root root 4096 Sep 17 06:39 dir1
drwxrwxr-x 2 user user 4096 Sep 17 06:39 dir2
-rw-rw-r-- 1 user user    0 Sep 17 06:39 file1
  • chmod 숫자로 표현
    (사용자, 사용자그룹, 다른모든 사용자들) 3자리 8진수로 모든 권한을 표시
8진수값읽기(Read)쓰기(Write)실행(Execute)
7OOO
6OO-
5O-O
4O--
3-OO
2-O
1--O
0---

su - root

: 관리자 권한

linux에서 환경 변수

  • export : 리눅스 환경에서 환경 변수 저장
    export AIRFLOW_HOME=/etc/airflow
  • printenv : 환경 변수 출력
    printenv | grep AIRFLOW 

파일 전송 프로토콜 scp

scp : 파일을 원격지로 보낼 때 사용

  • 로컬 -> 원격지로 파일 전송

    scp batch_process.py {username}@{ip_address}:/home/jemoon/airflow/dags  
  • 로컬 -> 원격지로 하위 모든 폴더에 있는 파일 전송

    scp -rv ./data_log/ {username}@{ip_address}:/home/jemoon/airflow/nhis 

sudo yum update

: "sudo apt-get 명령어를 실행할 수 없습니다" 문구 발생 시 입력

route

: 게이트웨이 설정 확인

CPU 사용량 확인

  • top : cpu 사용량 확인
ex)  %id 가 현재 사용가능한 퍼센트
     99.3%id 라면 현재 0.7 사용량
  • $ top -b -n 1 | grep Cpu | awk '{print $5}' | tr -d "%id," | awk '{print 100-$1"%"}'
    : 사용률 확인

메모리 사용률 확인

  • $ free -m : 메모리 사용량 확인
  • $ free –g : 기가단위로 확인
  • $ free -m : 메가단위로 확인
  • $ free –k : 키로단위로 확인
# 사용량 확인
$ free | grep Mem | awk '{print sprintf("%.2f%",$3/$2*100)}'

프로세스 확인

1) $ netstat -ntlp | grep 9000

$ netstat -ntlp | grep 9000
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      3604625/python

2) $ ls -l /proc/프로세스id/exe

$ ls -l /proc/3604625/exe
lrwxrwxrwx 1 user user 0 May 26 02:48 /proc/3604625/exe -> /home/user/anaconda3/envs/MotionBERT/bin/python3.10

du -hs {폴더명}

: 폴더 용량 확인


대량 파일 삭제

$ ls -l | wc -l   # 폴더안에 파일 개수 확인
$ find ./ -type f -print0 | tail -n 2000 | xargs -0 sudo rm -f

코어 수 확인

$ wmic cpu get NumberOfCores  : CPU 코어 수 
$ wmic cpu get NumberOfLogicalProcessors  : CPU thread 수

방화벽

$ sudo ufw allow from any to any port 8080 proto tcp
  • 모든 IP 주소에서 어떠한 출발지에서든지, TCP 프로토콜을 사용하여 목적지 포트 8080으로 향하는 트래픽을 허용하도록 하는 규칙 추가

GPU 서버

  • GPU 서버 모니터링
$ watch nvidia-smi
  • python code에서 GPU 설정
import os

os.environ['CUDA_VISIBLE_DEVICES']='4'
detection_model=init_detector(detection_config, detection_checkpoint, 'cuda')
profile
Data Engineer

0개의 댓글