[리눅스] 리눅스(linux) 명령어 모음

업데이트:

리눅스(linux) 명령어 모음

참고링크

운영체제 프론트엔드 백엔드 데이터베이스 인프라
리눅스구조 js필터 아파치에러로그 행삭제 아파치스쿱
프로세스 헬로월드 웹서버개념 ES기초 로그분석
네임스페이스 프로젝트생성 아파치설치 MySQL기초 beeline
디렉토리 헤더생성 flask연동 큐브리드 하둡기초
리다이렉션 async-get 장고MsSQL연결 null공백 나이파이
쓰레드 async-post 장고MySQL연결 MySQL설치(win) 백본
라즈베리파이설치 로그인페이지 장고inpectdb MySQL테이블생성 제플린
OSI7계층소개   장고read   SSL인증
OSI1계층   장고insert   커버로스
OSI2계층   장고put   도커개념
OSI3계층   장고del   도커설치
OSI4계층   flask한글요청   도커기초
OSI5,6,7계층       도커이미지
DNS서버       컨테이너네트워크
DHCP       도커API
bashrc       도커컴포즈
bash       도커볼륨
ifconfig       장고이미지
소켓프로그래밍       도커postgre
리눅스유저생성       도커이미지삭제
netstat포트열기       도커Redis
컴파일러       k8s구조
운영체제vs커널       k8s설치
작업스케쥴링       k8s서비스배포
디스크추가       POD네트워크
aws유저추가       퍼시스턴트볼륨
기초명령어       k8s에러
포트번호        

ps - 현재 실행 중인 프로세스 확인

$ ps -ef | grep apache
ps 옵션 설명
-e 모든 프로세스 출력
-f Full 포맷
-eo etime, time 필드는 프로세스의 시작부터 현재까지의 경과시간과 사용시간 표시
$ ps -eo pid,comm,time,etime
  • vsz 필드: 가상 메모리 양
  • rss 필드: 확보된 물리 메모리 양
  • maj_flt + min_flt 필드: 프로세스 생성시부터의 페이지 폴트 횟수

파이프(|) - 출력 결과를 필터링

wc -l : 줄 수 확인
$ cat hello.log | wc -l  

grep - 파일 패턴을 스캔

  • 하위폴더 포함, 존재하는 모든 파일에서 원하는 단어를 찾아주는 명령어
$ grep -rni [검색어] [경로명 또는 파일명]
  • r : 하위 디렉토리까지 검색
  • n : 파일내 몇번째 라인인지 표시
  • i : 검색어 대소문자 구분없이 검색

  • 예) 현재 디렉토리이하 abc라는 문자열 포함되는 경우 검색
$ grep -rni "abc" ./

find - 하위폴더에 존재하는 파일 찾아줌

$ find [검색 디렉토리] -iname [파일명]
  • -name : 대소문자 구분하여 파일명 검색
  • -iname : 대소문자 구분하지 않고 파일명 검색

리다이렉션(>) - 출력 결과를 파일로 저장

기호 의미
> 결과를 파일로 저장
>> 결과를 기존 파일에 데이터 추가
< 파일 데이터를 입력

예를 들어,

$ ls -al > abc.txt

라고 하면 ls -al을 입력 후 출력되는 결과물을 abc.txt라는 파일에 저장하라는 뜻.

리눅스 파일 디스크립터

기호 의미
0 표준입력
1 표준출력
2 표준에러
$ nohup ./a.sh 1>a.log 2>&1 &
  • 1>a.out 의 의미는 표준출력을 a.log 파일에 쓰는 것
  • 2>&1 표준에러를 표준출력 장소에 전달하라는 의미, 즉 표준에러를 a.out에 씀.
  • &의 의미는 백그라운드 실행

strace

strace : 프로세스가 어떠한 시스템 콜을 호출했는지 확인

$ strace -o hello.log ./hello
$ cat hello.log
  • -T 옵션을 붙이면 시스템 콜 처리에 걸린 시간을 마이크로 초 단위로 측정 가능
    $ strace -T -o hello.log ./hello
    $ cat hello.log
    

sar

sar : 프로세스가 사용자 모드와 커널 모드 중 어느쪽에서 실행되고 있는지 비율 확인

$ sar -P ALL 1 1

sar -r : 메모리에 관련된 통계 정보 확인 sar -r 1 : 1초 간격으로 확인

$ sar -r 1

sar -B 1 :1초 간격으로 페이

  • 세번째 파라미터 : 측정 시간 단위(1초마다 측정)
  • 네번째 파라미터 : 측정 횟수 단위(1회 측정)

getppid()

getppid() : 부모 프로세스의 프로세스 ID 획득


ldd

ldd : 프로그램이 어떤 라이브러리에 링크하고 있는지 확인

$ ldd /bin/echo

OS가 제공하는 프로그램

  • 시스템 초기화: init
  • OS 동작 바꿈: sysctl, nice, sync
  • 파일 관련: touch, mkdir
  • 텍스트 데이터 가공: grep, sort, uniq
  • 성능 측정: sar, iostat
  • 컴파일러: gcc
  • 스크립트 언어 실행환경: perl, python, ruby
  • 셸: bash
  • 윈도우 시스템: X

taskset

$ taskset -c 0 ./hello 1 100 1
  • -c : 논리 cpu지정. 예제에서는 cpu 0번을 지정하였다.
  • 첫번째 파라미터: 동시에 동작하는 프로세스 수
  • 두번째 파라미터: 프로그램 동작 총 시간
  • 세번째 파라미터: 데이터 수집 간격

시스템에 탑재된 논리 cpu 갯수 확인

$ grep -c processor /proc/cpuinfo

free

free: 시스템의 총 메모리양과 사용 중인 메모리 양 확인


tail

tail: 파일 끝부분 n줄을 출력해줌(기본값 10줄), 보통 로그 확인할 때 쓰인다

옵션
-f 파일 마지막 라인 10개 실시간으로 계속 출력
-n n라인만큼 출력
$ tail -f -n 100 abc.log   

abc.log 파일의 마지막 100라인 출력