Linux

Linux 자주쓰는 명령어 정리

PON_Z 2022. 12. 20. 16:05

- 단일 문자열을 포함하는 프로세스 일괄 종료 명령어

sudo ps -ef | grep 검색할문자열1 | awk '{print $2}' | xargs kill -15

- 심볼릭 링크

https://qjadud22.tistory.com/22

 

- ip & domain 확인

# domain
hostname
# ip
hostname -i

 

- 열려있는 포트 확인

netstat -nap | grep LISTEN

 

- 백그라운드 실행시 nohup.out 이름 변경해서 실행

nohup python script.py > my_output.log 2>&1 &

ref) 리다이렉션 관련 : https://inpa.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-devnull-%EB%A6%AC%EB%8B%A4%EC%9D%B4%EB%A0%89%EC%85%98-%EA%B8%B0%ED%98%B8-%EC%A2%85%EB%A5%98

 

- .txt와 .tar 확장자를 가진 파일 중에서 최종 수정일로부터 2일 이상 경과한 파일을 삭제

find . \( -name "*.txt" -o -name "*.tar" \) -mtime +2 -exec rm {} \;

 

 

- 리눅스 버전 확인

cat /etc/os-release

 

 

- xargs 사용

# xargs -i 를 붙이면 앞의 결과를 {} 안의 인자로 적용
# xargs만 붙이면 인자를 맨뒤에 붙이는것으로 판단 (xargs grep test == xargs -i grep {} ) 


# 디렉토리별 압축
ls | xargs -i tar -cvzf {}.tar.gz {}

# 현재 위치 포함 모든 하위 디렉토리에서 "test" 가들어간 모든 파일 찾기
find . -name "*" | xargs grep test

 

 

- 압축관련

# gz 풀기
gzip -d temp.tar.gz

# tar 
# x : 압축해제
# c : 압축
# v : 명령어 실행과정 풀이 (파일 및 디렉토리 이름이 화면에 출력, 압축/압축 해제 과정 오류 표시 등)
# f : 파일 지정 (필수)
# z : tar.gz 관련

 

- 데몬 프로세스를 내리지 않고 수정된 config만 반영하기

ps -f -u $WORKUSER | grep test_process | awk '{print "kill -HUP " $2}' | sh

#ps -f -u $WORKUSER:
#-u $WORKUSER: 특정 사용자($WORKUSER)가 실행한 프로세스만 출력

#| sh:
파이프라인의 마지막 단계에서 이전 단계의 출력을 입력으로 받아 실행

#kill -HUP <pid> 명령어는 프로세스에 SIGHUP(Hangup) 신호를 보내는 것을 의미합니다. SIGHUP 신호는 프로세스에게 연결이 끊겼음을 알려주는 신호입니다.
#이 명령어를 사용하면 다음과 같은 효과를 볼 수 있습니다:

#셸 스크립트 재실행: 셸 스크립트가 실행 중일 때 kill -HUP <pid> 명령어를 실행하면 해당 스크립트가 다시 실행됩니다.
#데몬 프로세스 재로드: 데몬 프로세스(백그라운드에서 실행되는 프로세스)에 SIGHUP 신호를 보내면 설정 파일을 다시 읽어 들여 변경 사항을 적용할 수 있습니다.
#로그 파일 재오픈: 로그 파일을 사용하는 프로세스에 SIGHUP 신호를 보내면 로그 파일을 다시 열어 새 로그를 기록할 수 있습니다.
#따라서 kill -HUP <pid> 명령어는 실행 중인 프로세스에 대한 재시작, 재로드, 재오픈 등의 작업을 수행할 때 유용하게 사용됩니다.

 

 

- 사용중인 포트 확인

# netstat
netstat -napgu | grep udp

# list open files
lsof -i udp

# socket statitics
ss -unap

 

- txt 파일 200줄씩 저장하기

더보기
#!/bin/bash

read -p "INPUT : " input

input_file=$input".txt"
output_prefix="$input"_"
lines_per_file=200

# 파일의 총 줄 수 계산
total_lines=$(wc -l < "$input_file")

# 파일 분할 및 저장
i=1
while [ $((i*$lines_per_file)) -le $total_lines ]; do
    start_line=$((($i-1)*$lines_per_file+1))
    end_line=$((i*$lines_per_file))
    output_file="${output_prefix}${i}.txt"
    
    head -n $end_line "$input_file" | tail -n $lines_per_file > "$output_file"
    
    i=$((i+1))
done

# 마지막 파일 생성 (나머지 줄 포함)
if [ $((i*$lines_per_file)) -gt $total_lines ]; then
    start_line=$((($i-1)*$lines_per_file+1))
    output_file="${output_prefix}${i}.txt"
    tail -n +$start_line "$input_file" > "$output_file"
fi

 

- sar (모니터링)

더보기
sar 명령어

CPU 사용률을 보기 위해서는 -u 옵션을 사용할 수 있습니다. 예를 들어, 10초 간격으로 3번의 CPU 사용률을 확인하려면 다음과 같이 입력합니다.
뒤에 횟수를 지정하지 않으면 무한으로 출력
sar -u 10 3


10:20:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
10:20:11 AM     all      8.70      0.00      2.86      0.00      0.00     88.44
%user 8.70%: 사용자 애플리케이션(예: 웹 서버, 데이터베이스 등)이 CPU를 8.7% 사용하고 있습니다.
%nice 0.00%: nice 값이 설정된 우선순위 낮은 프로세스는 CPU를 사용하지 않고 있습니다.
%system 2.86%: 커널 모드에서 시스템 작업(예: 시스템 콜, 하드웨어 인터페이스 등)이 CPU를 2.86% 사용하고 있습니다.
%iowait 0.00%: 입출력 대기 시간은 없습니다. 즉, 시스템은 I/O 작업으로 대기하지 않고 있습니다.
%steal 0.00%: 가상화된 환경에서 CPU 자원을 도용한 시간이 없다는 의미입니다.
%idle 88.44%: CPU는 88.44%의 시간 동안 유휴 상태로, 사용되지 않은 시간입니다.


- 만약 과거에 sar데이터를 보고싶으면 아래와 같이 수행
sar -u -f /var/log/sa/sa[날짜(일)] [초단위]
ex)
sar -u -f /var/log/sa/sa19 1

위처럼 1초단위로 설정했는데 10분간격으로 나온다면
- /etc/cron.d/sysstat 아래 파일 확인
# /etc/cron.d/sysstat 예시
# 1분마다 sar 데이터를 수집
* * * * * root /usr/lib/sa/sa1 1 1
=>
여기서 sa1은 1분 간격으로 데이터를 수집하는 명령어입니다. 1 1은 sar가 1분 간격으로 한 번만 데이터를 기록하라는 의미입니다.

 

 

==========================================================================================

 

- linux 기본 환경 세팅 (python 가상환경 및 jupyter lab)

 

1. 터미널에서 필요한 패키지를 설치한다.

    >> sudo apt-get update

    >> sudo apt-get install python3-venv python3-pip

 

2. 파이썬 가상환경 디렉터리를 만든다.

    >> mkdir /(가상환경 디렉토리명)

 

3. 파이썬 가상환경 세부 프로젝트를 만든다.

    >> python3 -m venv (가상환경 디렉토리명)

 

4. 가상환경 세부 프로젝트를 시작한다.

    >> source (가상환경 디렉토리명)/bin/activate

 

5. 가상 환경에서 사용되는 Python 버전을 확인한다.

    >> python --version

 

6. 파이썬 가상 환경에 원하는 라이브러리를 설치한다.

    >> pip3 install (라이브러리)

 

8. 파이썬 가상 환경을 중지한다.

    >> deactivate

 

9. 주피터 설치

>> pip3 install jupyter

>> pip3 install jupyterlab

>> which jupyer-lab

 

10. 백그라운드 실행 및 url 확인

>> nohup jupyter lab --ip=0.0.0.0 --allow-root > jupyter.log 2>&1 &

>> jupyter lab list

 

 

728x90

'Linux' 카테고리의 다른 글

Linux shell 조작법  (0) 2024.07.03
CentOS7에 yarn 설치하기  (0) 2023.03.27