리눅스에서 여러 파일 안에 있는 특정 단어를 한번에 찾아내고, 그 단어가 몇 개인지도 출력 확인할 수 있습니다. 이 방법은 쌓여 있는 로그에서 특정한 이벤트(예를 들어, 에러)가 얼마나 발생했는지를 확인할 때 활용할 수 있습니다. 리눅스 단어 개수 찾기 구문 파일 내 특정 단어의 등장 횟수를 찾는 명령은 아래와 같습니다. grep과 wc 명령을 파이프라인으로 연결하여 사용합니다. grep은 문자열을 찾는 명령이고 wc는 단어를 카운팅하는(word count) 명령입니다. grep [찾을단어] [파일명] | wc -l 예시) 예를 들어, 2023년 11월 3일부터 7일까지의 로그가 있다고 해보겠습니다. 각 파일의 내용은 모두 동일하게 만들었습니다. error라는 라인이 3개, info라는 단어가 2개 들어..
리눅스에서 root 권한이 없는 사용자로 1024번 미만의 포트에 바인딩을 시도하면 실패합니다. 예를 들어, 일반 계정으로 80이나 443 같은 포트로 서비스를 기동할 수 없습니다. Well-Known Port (0~1023) 네트워크에서 0~1023 사이의 포트를 Well-Known(잘 알려진) 포트 또는 시스템 포트라고 부릅니다. 이 구간 포트의 특징은 주로 표준 시스템 서비스에 사용된다는 점입니다. 대표적으로 SSH는 22, HTTP는 80, HTTPS는 443, Telnet은 23으로 사용됩니다. 이런 포트를 일반 사용자가 바인딩하려면 권한 오류가 발생합니다. 특히 리눅스는 일반 계정 사용 빈도가 높기 때문에 이런 문제에 마주칠 확률이 더 높습니다. Well-Known 포트 바인딩에 높은 권한을 ..
locale 리눅스에서 로케일(locale)은 시스템이 지역, 언어, 날짜, 시간 등을 표현하는 방법을 정의합니다. 로케일은 문자 인코딩, 숫자 및 통화 형식, 시간 및 날짜 형식 등으로 구성되어 있습니다. locale 확인 방법 전체 로케일 설정을 확인하려면 명령창에 local을 입력합니다. 현재 시스템에서 설정된 모든 로케일 관련 변수 값을 출력합니다. locale 예시) [root@localhost ~]# locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UT..
윈도우 PC를 부팅했을 때 특정 파일을 실행시키도록 하는 경우가 있습니다. 이럴 때 레지스트리 값 Run과 RunOnce가 사용됩니다. Run은 부팅할 때마다 실행하고, RunOnce는 설정 후 최초 재부팅 시 한 번만 실행되고 사라집니다. Run, RunOnce 역할 윈도우 레지스트리에서 Run과 RunOnce는 운영체제가 부팅될 때마다 자동으로 프로그램이나 스크립트를 실행하는 데 사용되는 레지스트리 키입니다. 이 키로 시스템 시작 시 특정 파일을 자동으로 실행할 수 있습니다. 1. Run 해당 키 아래에 있는 항목들은 컴퓨터가 부팅될 때마다 실행됩니다. [Run 위치] 컴퓨터\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run WOW64..
윈도우 서비스 LocalSystem 로그온 문제 윈도우에 서비스를 등록할 땐 기본적으로 LocalSystem 계정으로 설정됩니다. 해당 서비스를 시작하면 LocalSystem 계정 권한에 따라 작동한다는 의미입니다. LocalSystem 계정은 로컬에서 가장 높은 권한을 가진 서비스 계정입니다. 이 계정은 컴퓨터의 모든 리소스에 대한 풀 액세스 권한을 가집니다. 그러나 LocalSystem 계정은 컴퓨터 로컬을 벗어난 외부의 네트워크 리소스에는 접근 권한이 제한적입니다. 즉, 네트워크 스토리지가 구축되어 있는 경우 LocalSystem 계정은 해당 스토리지에 접근할 수 없습니다. 이 부분 때문에 서비스에 문제가 발생할 수 있습니다. 예를 들어, 윈도우 서버에 구축한 프로세스가 별도의 스토리지에 데이터를 ..
윈도우에서 실행 중인 프로세스가 행(hang)이나 크래시(crash) 등이 발생하면 문제 발생 시점의 덤프 분석이 필요합니다. 기본적으로 프로세스 행 덤프는 작업 관리자에서도 수집할 수 있지만, 제대로 수집되지 않을 때도 많고 크래시의 경우는 수집이 불가하기도 해서 별도의 덤프 수집 툴을 사용합니다. 그중 MS에서 제공하는 DebugDiag로 덤프 수집하는 방법을 알아보겠습니다. DebugDiag 덤프 수집 1. 아래의 마이크로소프트 공식 링크에서 DebugDiagx64.msi 설치 파일을 다운받습니다. https://www.microsoft.com/en-US/download/details.aspx?id=58210 Download DebugDiag2.3 from Official Microsoft Down..
윈도우 CMD에서 netstat으로 포트 연결 상태를 확인할 때 출력 내용이 너무 많으면 확인이 어렵습니다. 이럴 땐 출력 결과를 텍스트 파일로 저장해서 보면 편합니다. 명령줄 출력 결과 저장 cmd에서 리다이렉션(>)을 사용하면 출력 결과를 파일로 저장할 수 있습니다. 예를 들어, netstat -ano 명령어에 대한 결과를 result.txt라는 텍스트 파일로 저장하려면 아래와 같이 명령할 수 있습니다. netstat -ano > result.txt 이렇게 저장 후에 노트패드++ 같은 애플리케이션으로 보면 됩니다. 리다이렉션이란? 리다이렉션(redirect)은 쉘 또는 명령 프롬프트에서 입력과 출력의 기본 흐름을 변경하는 기호입니다. 기본적으로 명령의 출력은 화면에 표시되지만, 리다이렉션을 사용하면 ..
윈도우 서비스의 시작 유형을 서비스 앱에서 바꿀 수도 있지만 레지스트리 값을 수정해서 변경할 수도 있습니다. 회사에서 관리자가 사용자 PC의 서비스를 일괄 사용안함 처리하거나, 간혹 서비스 앱에서 확인되지 않는 서비스의 시작 유형을 변경하는데 쓸 수 있는 방법입니다. 이해를 돕기 위해 서비스에서 확인 가능한 DHCP Client 서비스의 경우를 보겠습니다. 서비스에서 확인해 보면 시작 유형은 자동입니다. 이 값은 레지스트리에 Start라는 이름으로 16진수 2로 표시되어 있습니다. 윈도우키 + R을 누르고 실행 앱을 켭니다. regedit을 입력하고 확인을 눌러 레지스트리 편집기를 켭니다. dhcp 관련 레지스트리는 아래의 경로에 있습니다. 컴퓨터\HKEY_LOCAL_MACHINE\SYSTEM\Contr..
윈도우 CMD에서 포그라운드로 명령을 실행했을 때 프롬프트 창의 텍스트를 마우스로 드래그하게 되면 출력이 일시적으로 멈출 수가 있습니다. 항상 그런 것은 아닌듯 하지만 갑자기 출력이 멈췄다면 한번 확인해보세요. CMD는 키보드 입력에 반응하는 명령줄이기 때문에 마우스 클릭 자체로 프로세스를 멈추거나 하지는 않습니다. 그렇지만 출력이 일시 정지되는 경우가 간혹 있을 수 있습니다. 이럴 때 당황하지 말고 다시 마우스 선택을 해제하거나, 키보드 엔터를 누르면 출력이 재개됩니다. 참고로 포그라운드로 실행 중인 상태에서 ctrl + c를 누르면 해당 프로세스를 강제 종료합니다. 윈도우10에서는 ctrl + c를 누르면 따로 묻지 않고 프로세스를 종료시켰는데, 윈도우11에서는 작업을 끝낼지 물어보네요. 또 CMD에..
아마존 리눅스 2023서는 기본적으로 crontab이 설치되어있지 않을 수 있습니다. 이럴 땐 설치를 해줘야 합니다. yum install crontab 으로는 설치되지 않습니다. crontab 툴이 담겨있는 패키지는 cronie입니다. crontab 설치 먼저 리눅스에 cron이 설치되어 있는지 확인합니다. sudo yum list installed | grep cron cronie 또는 vixie-cron 같은 패키지가 설치되어 있다면 이미 crontab 명령어를 쓸 수 있습니다. 정확히 말하면 crontab은 작업을 설정하는 도구이고, cronie는 그 작업을 실행하는 데몬과 추가 유틸리티를 포함한 패키지입니다. 설치된 패키지가 없으면 아래의 명령어로 설치합니다. sudo yum install cr..