헷갈리는 리눅스 명령어 정리

sua_ahn·2023년 10월 25일
0

프로그래밍 입문

목록 보기
6/7
  • [Tab버튼] : 자동완성
  • clear : 터미널 화면 지우기 Ctrl+L
  • su - : Root 사용자로 변경
  • su 유저명 : 유저 변경
  • ps -ef : 모든 프로세스를 풀 포맷으로 표시
  • pstree : 부모와 자식 프로세스 관계를 트리 형태로 보여줌
  • kill -9 [pid] : 프로세스를 강제로 종료

파일 관련

  • ls : List segments 현재 위치의 파일 목록 조회
    -l 상세정보 (ls -l == ll)
    -a 숨김파일 표시
    -t 최근 생성 파일부터 정렬
    -rt 오래된 파일부터 정렬

    ls -rlt
    최근 파일 상세정보를 아래에 출력되도록 하여 로그파일 조회 시 유용

  • lsof : list open files 열린 파일들 리스트 출력

  • diff : 두 파일의 차이점
    -c 차이점 출력

  • cmp : 두 파일이 동일한지
    -s 0같음 1다름 2접근불가

  • comm : diff와 cmp의 기능을 결합

  • head : 파일 첫 10줄 출력

  • tail : 파일 마지막 10줄 출력
    -f 실시간 출력 (cf. -100f 실시간으로 100줄 출력)
    -n 라인수 (ex. -100)

  • wc : word count 사용자가 지정한 파일의 행, 단어, 문자수 세기
    -l 행
    -w 단어
    -c 문자

    grep '로그에서 찾고싶은 내용' batch.log | wc -l

필터

  • awk : 데이터 조작 ('패턴' 검색 or 데이터를 활용한 '{액션}')
    $필드번호 : 데이터의 열 선택
  • if [ 조건 ];then 명령 fi :
    -n 문자열 내용이 있는지 (str.length != 0)
  • grep : global regular expression print 특정 문자열 찾기
    -r 하위 디렉토리까지 (reculsive)
    -i 대소문자 구분x (intensive)
    -v 제외 (--invert-match)
    pid=`ps -ef | grep test.jar | grep -v 'grep' | awk '{print $2}'`
  • pgrep : ps -ef + grep + | grep -v 'grep' + awk '{print $2}'
    pid=`pgrep test.jar`

네트워크 관련

  • ifconfig : IP주소 확인

  • netstat : network statistics 네트워크 접속, 라우팅 테이블, 네트워크 인터페이스의 통계 정보
    -a : 모든 네트워크 상태

  • ss : socket statistics 네트워크 연결 및 소켓 상태 조회 (netstat과 비슷)
    -t : tcp포트
    -u : udp포트

  • ping : Packet Internet Groper 목적지 IP 주소의 통신 가능 여부 확인

  • traceroute : 지정 호스트에 도달할 때까지 통과하는 경로와 각 경로에서의 지연 시간 추적 (윈도우 tracert)

  • nslookup : name server lookup 특정 도메인이 DNS 서버에 잘 적용되었는지 확인

기호

  • | : 앞 명령의 결과를 뒤 명령의 입력으로 전달
  • '' : 문자로 인식
  • "" : 문자로 인식 ($ ` \ 제외)
  • `` : 명령으로 해석
  • > : redirection 표준 입출력의 방향을 바꿔줌

    2>&1
    : 표준 에러를 표준 출력으로 리다이렉팅하여 내보낸다. ( 표준에러 로그를 표준출력 로그를 적는 곳에 같이 적는다.)

    1>dev/null
    : /dev/null은 Unix와 Linux 시스템에서 'null device'를 나타낸다. 이 장치로 보내진 데이터는 모두 무시된다. 따라서, /dev/null로 리다이렉션하는 것은 해당 출력을 버리는 것과 같다.

시스템 설정

  • firewall-config : 방화벽 설정
  • nmtui : 네트워크 설정
  • system-config-[ ] : 시스템 설정 (date, language, users, keyboard, printer, users 등)

PID 파일
: PID(Process Identifier)가 적혀 있는 파일

  • 생성 이유 : 실행 및 중단을 제어하기 위한 스크립트 등록 시 사용
    (애플리케이션을 백그라운드 프로세스로 실행했다면, 프로세스를 종료할 때 PID를 알아야 함.
    직접 ps -ef | grep java로 확인하여 kill 할 수 있지만 자동화를 위함)
  • 생성법 : application.yml에 spring.pid.file 경로 지정
    -> @SpringBootApplication 적용한 main()에 객체 생성 후 .listeners(new ApplicationPidFileWriter()) 설정
  • 삭제 : DisposableBean.destroy()에서 파일 유무 확인 후 삭제
profile
해보자구

0개의 댓글