리눅스 커맨드

지정온·2023년 9월 21일
0

find : 파일 찾기

  • find : 파일 찾기 명령어
    • find [경로] [옵션] [파일명]
    • find / -name 'ls' 최상위 dir에서부터 모든 파일을 찾음
    • find -name 'abc' 현재 dir에서부터 하위 dir까지 검색

awk : 필터, 가공

  • awk : 데이터를 조작하고 리포트 생성 위해, 파일을 원하는 대로 필터링하거나 추가해주거나 기타 가공을 통해서 나온 결과를 행과 열로 출력해주는 프로그램
    • 형식
      : awk 'pattern' filename
      : awk '{action}' filename
      : awk 'pattern {action}' filename
      : df | awk '$4 < 100000' 이런 식으로도 input을 입력받을 수
      : df | awk -F "0" '{print $2}' -F 옵션을 통하여 구분자 변경가능

sed : 편집

  • sed (원본 손해x) : 스트리밍 편집기, 편집에 특화된 명령어

    • 형식
      찾기, 출력 : sed -n '/tmpfs/p' list.txt
      치환 : sed 's/snap/?/' list.txt
      삭제 : sed '/tmp/d' list.txt
  • sed 응용

    • 형식
      커맨드라인에서 편집기 명령 정의 : echo "This is a test" | sed 's/test/big test/'
      커맨드라인에서 여러 편집 명령 사용하기 : sed -e 's/brown/green/; s/dog/cat/' data1.txt
      파일에서 편집기 명령을 읽기 : sed -f script1.sed(sed 조건 담긴 file) data1.txt

하나의 프로세스를 간단하게 확인하는 방법!

리눅스 시스템을 운영하다보면 특정 프로세스의 세션을 체크해야하는 경우가 있다. 서비스 장애 또는 모니터링..

1 - 1. ps -ef 를 이용하여 PID를 확인
ex) ps -ef | grep "NAME"

1 - 2. top를 통해서 PID를 확인
2. netstat -antp 를 이용하여 특정 PID에 대한 네트워크 연결 상태 확인
3. lsof -p PID 특정 프로세스에 대해 열려있는 모든 파일들과, 파일들을 열고 있는 프로세스들의 목록을 출력

세션이란

웹 사이트의 여러 페이지에 걸쳐 사용되는 사용자 정보를 저장하는 방법을 의미합니다.
사용자가 브라우저를 닫아 서버와의 연결을 끝내는 시점까지를 세션

쿠키는 클라이언트 측의 컴퓨터에 모든 데이터 저장
세션 서비스가 돌아가는 서버 측에 데이터를 저장하고, 세션의 키 값만을 클라이언트 측에 남김 브라우저는 필요할 때마다 이 키값을 이용해 서버에 저장된 데이터 사용

보안에 취약한 쿠키를 보완해주는 역할

netstat -antp 에 대한 결과 해석

네트워크 통계 정보 보여주는 명령어 > 현재 시스템에서 활성화된 네트워크 연결 및 관련 프로세스 정보 표시
-a: 모든 연결 표시
-n: 호스트 및 포트 번호를 숫자로 표시
-t: tcp만 표시
-p: 연결과 연관된 프로세스 보여줌

다음 출력에 대한 해석
Proto : 프로토콜
Recv-Q : 수신 큐에 대기 중인 바이트 수
Send-Q : 전송 큐에 대기 중인 바이트 수
Local Address : 로컬 호스트의 IP 주소 및 포트 번호
Forein Address : 원격 호스트의 IP 주소 및 포트 번호
State : 연결 상태
PID/Program name : 연결과 관련된 프로세스의 PID 및 프로그램 이름
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1234/sshd

SSH 서비스가 포트 22에서 대기중이며, 연관된 프로세스의 PID는 1234이며, 프로그램 이름은 sshd이다.

ps -auxps -ef차이

"a" 옵션: 모든 사용자의 프로세스를 표시합니다.
"u" 옵션: 상세한 사용자 정보를 표시합니다.
"x" 옵션: 터미널에 연결되지 않은 프로세스도 표시합니다.

모든 사용자의 모든 프로세스가 표시, 사용자 정보와 함께 표시된다. 
이는 시스템에 실행 중인 모든 프로세스 보는 경우 유용

"e" 옵션: 모든 프로세스를 표시합니다.
"f" 옵션: 상세한 프로세스 정보를 표시합니다.

모든 프로세스가 표시, 각 프로세스의 상세 정보가 표시된다.
프로세스 관리 및 모니터링에 유용
profile
가보쟈고

0개의 댓글