안녕하세요! 이번에는 Linux의 find 명령어에 대해 알아보겠습니다. find 명령어는 파일 검색에 사용되며, 다양한 옵션과 표현식을 통해 원하는 파일을 찾을 수 있습니다. 아래에서는 find 명령어의 다양한 사용 예와 관련 옵션을 알아보겠습니다.

기본 사용법

  • 현재 디렉토리에 있는 파일 및 디렉토리 리스트 표시: find
  • 대상 디렉토리에 있는 파일 및 디렉토리 리스트 표시: find [PATH]
  • 현재 디렉토리 아래 모든 파일 및 하위 디렉토리에서 파일 검색: find . -name [FILE]
  • 전체 시스템(루트 디렉토리)에서 파일 검색: find / -name [FILE]

파일 이름으로 검색

  • 파일 이름이 특정 문자열로 시작하는 파일 검색: find . -name "STR*"
  • 파일 이름에 특정 문자열이 포함된 파일 검색: find . -name "*STR*"
  • 파일 이름이 특정 문자열로 끝나는 파일 검색: find . -name "*STR"

파일 속성으로 검색

  • 빈 디렉토리 또는 크기가 0인 파일 검색: find . -empty
  • 특정 확장자를 가진 모든 파일 검색 후 삭제: find . -name "*.EXT" -delete
  • 파일 크기를 사용하여 파일 검색: find . -size +[N]c -and -size -[M]c

추가적인 작업

  • 검색된 파일 리스트를 줄 바꿈 없이 이어서 출력하기: find . -name [FILE] -print0
  • 파일 또는 디렉토리만 검색하기: find . -name [FILE] -type f
  • 검색된 파일에 대한 상세 정보 출력하기: find . -name [FILE] -exec ls -l {} \;
  • 검색된 파일의 라인 수 출력하기: find . -name [FILE] -exec wc -l {} \;
  • 검색된 파일에서 문자열 찾기: find . -name [FILE] -exec grep "STR" {} \;
  • 검색 결과를 파일로 저장하기: find . -name [FILE] > [SAVE_FILE]
  • 검색 중 에러 메시지 출력하지 않기: find . -name [FILE] 2> /dev/null
  • 하위 디렉토리 검색하지 않기: find . -maxdepth 1 -name [FILE]
  • 검색된 파일 복사하기: find . -name [FILE] -exec cp {} [PATH] \;

위의 내용은 find 명령어의 일부 옵션과 사용 예시입니다. find 명령어에는 다양한 옵션과 표현식이 있으며, 여러분의 파일 검색 요구 사항에 맞게 사용할 수 있습니다.
더 자세한 내용은 man find 명령어를 통해 확인할 수 있습니다.

안녕하세요! 이번에는 OpenSSL 1에서 3 버전으로 변경하는 과정에서 Python 코드에서 발생할 수 있는 "unsafe legacy renegotiation disabled" 오류에 대해 알아보겠습니다. OpenSSL 버전을 업그레이드하면서 이 오류가 발생하는 경우가 있습니다. 이 블로그에서는 해당 오류를 해결하기 위해 /usr/lib/ssl/openssl.conf 파일에 추가해야 할 설정에 대해 알려드리겠습니다.

문제 해결: "/usr/lib/ssl/openssl.conf" 파일 수정

1. 먼저, 터미널을 열고 아래의 명령어를 실행하여 "/usr/lib/ssl/openssl.conf" 파일을 엽니다:

sudo vi /usr/lib/ssl/openssl.conf

2. 파일을 열었다면, 아래의 내용을 파일의 마지막에 추가합니다:

[openssl_init]
ssl_conf = ssl_sect

[ssl_sect]
system_default = system_default_sect

[system_default_sect]
MinProtocol = TLSv1.2
CipherString = DEFAULT@SECLEVEL=1
Options = UnsafeLegacyRenegotiation

위의 내용은 세 부분으로 나누어져 있습니다. 각 부분을 순서대로 추가해야 합니다.
위의 설정을 추가함으로써 OpenSSL 버전 변경 시 발생하는 "unsafe legacy renegotiation disabled" 오류를 해결할 수 있습니다.

안녕하세요! 이번에는 Linux에서 프로세스를 종료하는 방법에 대해 알아보겠습니다. Linux에서 프로세스를 제어하고 관리하는 것은 중요한 작업 중 하나입니다. 여러분은 시스템에 실행 중인 프로세스를 종료하거나 문제가 있는 프로세스를 강제 종료해야 할 때가 있을 것입니다. 이 블로그에서는 kill 명령어와 pkill 명령어를 사용하여 프로세스를 종료하는 방법을 알려드리겠습니다.

kill 명령어를 사용하여 프로세스 종료하기

kill 명령어는 특정 프로세스나 프로세스 그룹에 시그널을 보내 프로세스를 종료하는 데 사용됩니다. 기본적인 사용법은 다음과 같습니다:

kill [옵션] <프로세스 ID>
  • 옵션: 명령어의 동작을 제어하는 옵션을 지정할 수 있습니다. 자주 사용되는 옵션으로는 -9 (SIGKILL 시그널을 보내 프로세스를 강제 종료)이 있습니다.
  • 프로세스 ID: 종료하고자 하는 프로세스의 고유 식별자인 프로세스 ID를 지정합니다.

아래는 kill 명령어를 사용하여 프로세스를 종료하는 예제입니다:

$ ps aux | grep myprocess
username    1234  0.0  0.0   1234   567 pts/0    S+   00:00   0:00 myprocess

$ kill 1234

위의 예제에서는 ps aux 명령어로 실행 중인 프로세스 목록을 확인하고, grep 명령어로 특정 프로세스를 찾았습니다. 그런 다음 kill 명령어로 해당 프로세스를 종료했습니다.


pkill 명령어를 사용하여 특정 파일 이름으로 된 프로세스 종료하기

pkill 명령어는 프로세스의 이름을 기준으로 프로세스를 종료하는 데 사용됩니다. 특정 파일 이름으로 된 모든 프로세스를 종료할 수 있습니다. 아래는 pkill 명령어를 사용하는 예제입니다:

$ pkill -f myprocess

위의 예제에서는 -f 옵션을 사용하여 프로세스 이름이 "myprocess"인 모든 프로세스를 종료했습니다.

또한, 다음은 명령어 체인을 사용하여 특정 프로세스를 종료하는 방법에 대한 내용입니다:


특정 프로세스 이름으로 프로세스 종료하기

kill 명령어와 다른 명령어를 조합하여 특정 프로세스 이름을 기준으로 프로세스를 종료할 수 있습니다. 예를 들어, "php script.php"라는 이름을 가진 모든 프로세스를 종료하는 방법은 다음과 같습니다:

kill $(ps -aef | grep "php script.php" | grep -v "grep" | awk '{print $2}')

위의 명령어는 다음과 같은 과정을 거칩니다:

  1. ps -aef 명령어를 사용하여 실행 중인 모든 프로세스의 목록을 가져옵니다.
  2. grep "php script.php"을 사용하여 "php script.php"를 포함하는 프로세스를 필터링합니다.
  3. grep -v "grep"을 사용하여 검색 결과에서 "grep" 명령어 자체를 필터링하여 제외합니다.
  4. awk '{print $2}'를 사용하여 각 행에서 프로세스 ID(두 번째 필드)만 추출합니다.
  5. kill $(...)을 사용하여 괄호 안에 있는 명령어의 결과로 반환된 프로세스 ID를 사용하여 프로세스를 종료합니다.

위의 방법을 사용하면 특정 프로세스 이름으로 된 모든 프로세스를 간편하게 종료할 수 있습니다.

이제 여러분은 kill 명령어와 pkill 명령어, 그리고 명령어 체인을 사용하여 Linux에서 프로세스를 종료할 수 있습니다. 프로세스를 종료하는 것은 신중하게 처리해야 하므로, 필요한 경우에만 사용하도록 주의하시기 바랍니다.

Linux에서 프로세스를 종료하는 방법에 대해 알아보았습니다. 어떤 도움이 되셨기를 바랍니다.

+ Recent posts