Linux 156

[Linux] 명령어 실행 결과를 다른 명령 인자로 전달하기

개요 예로 들어 AWS 계정 내 모든 S3 버킷에 대한 버전 관리 기능 활성화 여부를 확인하고 싶다. 계정 내 S3 버킷 목록은 list-buckets 명령어로 확인할 수 있고, aws s3api list-buckets 버킷의 버전 관리 기능 활성화 여부는 get-bucket-versioning 명령어에 확인할 버킷을 지정하여 확인할 수 있다. aws s3api get-bucket-versioning --bucket BUCKET_NAME 이 두 개 명령을 묶어서 하나의 명령어로 처리하고 싶다. 방법을 적어둔다. xargs 빈칸이나 새 줄로 구분된 표준 입력을 읽어 명령어의 인자(argument)로 전달할 수 있는 명령어다. 앞 명령어의 출력을 다음 명령어의 입력으로 전달하는 PIPE(|)와 같이 사용한다..

Linux 2023.05.31

[Linux] history - 명령어 이력 확인

history history 명령은 실행한 명령어 이력을 확인할 수 있는 명령어다. 이 글에서는 history 명령어 동작 방식과 history에서 명령어를 검색하는 방법을 정리한다. 사용 방법 기본적으로 history 명령어를 이용해 실행한 명령어 이력을 확인한다. n번째 명령을 실행시키고 싶다면 !n으로 실행한다. history # -c : RAM에 저장된 history 목록 삭제 # -d offset : offset 위치에 있는 history 명령어 삭제 # -a : history list를 HISTFILE에 추가 # -n : HISTFILE에서 읽어들여지지 않은 행을 읽고 history 목록에 추가 # -r : HISTFILE을 읽고 history 목록에 추가 # -w : 형재 history를 지..

Linux 2023.05.13

[Linux] stat - 파일/디렉터리 상태 확인

stat 파일이나 디렉터리의 상태 정보를 확인할 수 있는 명령어다. 디렉터리 내 파일에 대한 요약 정보를 위주로 출력하는 ls 명령어보다 상세한 정보를 확인할 수 있다. 사용 방법 명령어 뒤에 정보를 확인할 파일을 지정한다. 확인할 파일은 여러 개를 공백으로 나열하거나 *으로 지정할 수도 있다. 옵션 없이 사용하면 파일명, 크기, 접근 권한 등의 정보를 확인할 수 있다. stat 출력 정보 Inode : inode 번호 Links : 링크된 파일 수 Uid, Gid : 소유자 및 그룹의 이름과 id Access : 출력이 8진수 숫자/또는 문자열 형식인 경우 권한 정보 Access : 출력이 시각 형식인 경우 접근 시각(atime) 정보 Modify : 수정 시각(mtime) 정보 Change : 변경 ..

Linux 2023.05.10

[Ubuntu 20.04] 절전 모드 비활성화

개요 최근 서버 재부팅 후 다시 서버 접속이 안 되는 현상이 발생해 syslog를 확인해 보니 다음과 같은 메시지를 확인할 수 있었다. Apr 17 01:53:31 master NetworkManager[1601]: [1681696411.3722] manager: sleep: sleep requested (sleeping: no enabled: yes) Apr 17 01:53:31 master NetworkManager[1601]: [1681696411.3724] manager: NetworkManager state is now ASLEEP Apr 17 01:53:31 master systemd[1]: Reached target Sleep. Apr 17 01:53:31 master systemd[1]: ..

Linux 2023.05.04

[Linux] unixODBC - MySQL 연결

개요 2023.05.02 - [Ubuntu] unixODBC 설치에서 unixODBC를 설치했는데, 이 글에서는 unixODBC를 이용해 MySQL에 연결하도록 구성한다. 연결할 MySQL은 8.0.32이다. 구성 환경 - AWS EC2 - Ubuntu 20.04 LTS arm64 - MySQL 8.0.32 지난 글과 마찬가지로 최대한 root 권한을 덜 사용하는 방식으로 진행한다. 드라이버 설치 unixODBC로 데이터베이스를 연결하기 위해서는 데이터베이스 드라이버가 필요하다. unixODBC로 연결할 수 있는 데이터베이스는 https://www.unixodbc.org/drivers.html에서 확인할 수 있다. 이 글에서는 MySQL과 연결할 수 있도록 MySQL ODBC Connector를 설치해야..

Linux 2023.05.03

[Ubuntu] unixODBC 설치

unixODBC ODBC(Open DataBase Connectivity)란 데이터베이스에 접근하기 위한 소프트웨어의 표준 규격으로 마이크로소프트가 만들었다. ODBC에 정해진 순서에 따라 프로그램을 사용하면 어떤 DBMS를 사용하는지 고려하지 않고 접근할 수 있다. unixODBC는 ODBC API를 구현하는 오픈 소스로 유닉스, 리눅스, macOS 등에서 빌드하여 사용할 수 있다. 이 글에서는 root 권한을 최대한 덜 사용하는 방식으로 Ubuntu 20.04 LTS에 unixODBC를 설치하는 방법을 적어둔다. 데이터베이스 연결 구성은 다른 글에 진행한다. 설치 1. 필요 패키지 설치 unixODBC 설치에 필요한 패키지를 설치한다. apt update apt install build-essenti..

Linux 2023.05.02

[Ubuntu] Systemd service 등록

systemd service systemd에 대해서 몇 번 곁다리로 다루었는데, systemd(System daemon)은 시스템 부팅 시 가장 먼저 생성된 후 다른 프로세스를 실행하는 init 역할을 대체한다. 대부분의 리눅스 시스템에 공식적으로 채택되었다. service는 특정 상항에 따라 시작하거나 중지되는 background process를 말한다. systemd service file은 systemd가 구문 분석하고 이해할 수 있는 형식으로 작성된 파일로, 사용자가 지시한 작업을 수행한다. 대부분의 리눅스 배포판에서 systemd를 사용하고 있어, 이 글에서는 systemd가 관리할 서비스를 생성하고 등록하는 방법을 정리한다. .service 파일 구조 systemd가 관리하는 서비스 파일의 확..

Linux 2023.04.25

[Linux] ps -ef VS ps aux

개요 보통 프로세스 정보를 확인할 때 ps -ef를 주로 사용한다. 최근 Python으로 프로세스 모니터링 방법을 확인하는데 ps aux 명령어를 추천하는 글을 봤는데 두 명령어 옵션에 차이가 있는지 정리한다. ps -ef linux 매뉴얼에 따르면 표준 구문, UNIX을 이용해 시스템 상의 모든 프로세스를 확인할 때는 아래의 명령어를 제시하고 있다. ps -e ps -ef ps -eF ps -ely 각 옵션은 다음과 같다. -e : 모든 프로세스를 선택한다. -A와 동일하다. -f : 목록을 full format으로 출력한다. -F : 목록을 full format으로 출력한다. -f와 동일하다. -l : 목록을 long format으로 출력한다. -y : 플래그를 표시하지 않고, ADDR 대신 RSS(..

Linux 2023.04.21

[Linux] Crontab - 사용자 전체 설정 확인

개요 일반적으로 Crontab 설정 정보를 확인할 때는 현재 사용자 또는 특정 사용자 계정에서 crontab -l을 사용하여 확인한다. crontab -l 다만 서버 내 계정이 많고, 관리자 root 권한을 갖고 있다면 보다 편하게 확인할 수 있을 것 같아 방법을 정리해 둔다. /var/spool/cron/crontabs 각 사용자가 작성한 crontab 설정은 아래 경로의 파일로 저장되는데, 파일의 소유자는 생성한 사용자로, 그룹 소유자는 crontab으로 지정된다. /var/spool/cron/crontabs/ /var/spool/cron/crontabs 경로는 root 사용자만이 읽기 권한을 가지고 있다. 실제 crontab 설정은 단순히 cat 명령어 등으로 확인하면 된다. crontab -u c..

Linux 2023.03.14

[Linux] OpenSSL - 사용법

개요 네트워크 데이터 통신에 사용되는 프로토콜인 TLS/SSL 오픈 소스 구현판으로, 기본적인 암호화 기능 및 여러 유틸리티 함수가 구현되어 있다. 거의 모든 버전의 유닉스 계열 운영 체제 및 윈도우에서 OpenSSL을 이용할 수 있다. 이 글에서는 간단히 개인 키 생성, 인증서 서명 요청 생성과 정보 확인을 위한 명령어를 정리한다. 개인 키(Private Key) 생성 genrsa 명령은 RSA 개인 키를 생성한다. 키를 생성할 때는 생성할 개인 키의 크기를 마지막으로 지정해야 한다. 기본값은 2048이다. openssl genrsa -out 2048 # -out : 키를 저장할 파일 경로 # -passout : 암호화 시 사용할 비밀번호 # 예시 openssl genrsa -out test_user...

Linux 2023.02.01