본문 바로가기

Linux/Linux Shell Command40

부팅 시 프로그램 자동 실행하기 리눅스 시스템 부팅 시에 내가 원하는 프로그램을 자동 실행하기 위한 방법을 알아보겠습니다. 서비스(service) 파일 생성 $ vi myprogram.service 아래처럼 세 개의 섹션으로 구성된 파일을 작성합니다. [Unit] Description=My Service Program After=network.target [Service] ExecStart=/home/run/services/myprogram WorkingDirectory=/home/run/services StandardOutput=inherit StandardError=inherit Restart=always User=root [Install] WantedBy=multi-user.target 서비스 파일 복사 $ sudo cp mypr.. 2023. 8. 8.
watch - 시스템 모니터링 명령의 결과를 시간(초)을 주기로 결과를 갱신하며 출력하는 명령으로 시스템 모니터링이나 주기적으로 결과를 확인하고 싶을 때 사용하는 명령어입니다. 사용법: watch [Option] [Command] Options 기본옵션(2초 주기) $ watch [출력 명령어] 기본옵션 + 변경내용 $ watch -d [출력 명령어] 출력 주기 설정 $ watch -n [초단위 주기 설정] 사용 예: $ watch 'free -m' # 종료는 +C $ watch -d 'free -m' # 변경된 내용은 하이라이트됩니다. (잘 봐야 보임) 2023. 6. 19.
zip 압축 여러 개의 파일 혹은 디렉토리를 압축할 때 zip 명령어를 사용할 수 있습니다. tar 혹은 7z 명령어를 사용할 수도 있습니다. 설치하기 리눅스를 설치하면 기본으로 설치되어 있습니다. 명령어를 찾을 수 없다면 아래 명령어로 설치해 줍니다. $ sudo apt install zip unzip 압축하기 명령어: zip -r {압축해서 생성될 파일명}.zip {압축할 파일 혹은 디렉토리} {압축할 파일 혹은 디렉토리} ... 주요 옵션: Option Description -r 디렉터리까지 압축합니다. -1 빠르게 압축하지만 압축율은 낮습니다. -9 압축율은 높지만 속도는 느립니다. -e zip 파일에 암호를 설정합니다. -x 압축시 특정 파일을 제외합니다. sample 폴더 아래의 모든 파일 및 하위폴더를 .. 2023. 6. 15.
7z 압축 여러 개의 파일이나 디렉토리를 압축할 때 7z 압축 프로그램을 종종 사용합니다. 비슷한 명령어로 tar나 zip 명령어도 있으니 본인 입맛에 맞는 명령어를 사용하면 됩니다. 설치하기 Ubuntu 설치 시 기본적으로 설치됩니다만, 명령어를 찾을 수 없거나 다시 설치가 필요할 경우 apt로 설치합니다. $ sudo apt install p7zip 압축하기 명령어: 7zr a {압축해서 생성될 파일명}.7z {압축할 파일 혹은 디렉토리} {압축할 파일 혹은 디렉토리} ... sample1.txt, sample2.txt, sample3.txt 파일을 아래 명령어로 압축합니다. $ 7zr a sample.7z sample1.txt sample2.txt sample3.txt 압축풀기 명령어: 7zr x {압축된 파.. 2023. 6. 15.
gz 압축 (gzip) 하나의 파일을 압축하기 위해 gzip 명령어를 사용합니다. gzip은 리눅스를 설치하면 기본으로 설치되어 있지만, 해당 명령어를 찾을 수 없을 경우 아래 명령어(apt)로 다시 설치해 주시면 됩니다. $ sudo apt install gzip 압축하기 (compress) 명령어: gzip {압축할 파일명} sample.txt 파일을 압축하려면 아래와 같은 명령어를 사용하면 됩니다. $ gzip sample.txt 위 명령어를 실행하고 나면 sample.txt 파일은 온데 간데 없고 sample.txt.gz 파일이 생성됩니다. 일반적으로 압축프로그램들은 기존 원본 파일은 그대로 두고 새로운 압축파일을 생성하는데 이 명령어는 기존 파일을 대체합니다. gzip 명령어는 한 개의 파일을 압축하는 용도로 사용하기.. 2023. 6. 15.
systemctl 명령어 리눅스 부팅 시 시스템을 초기화하거나 서비스들을 실행하기 위한 환경을 제공하는 등 서비스들을 관리하는 프로세스가 필요합니다. 이런 역할을 systemd이 맡습니다. 이전 리눅스 버전에서는 init 프로세스(PID1)가 담당했었는데 최신 버전에서는 systemd이 담당하고 있습니다. systemd는 init 프로세스의 한계를 극복하고 보다 더 많은 기능을 제공하면서도 병렬 실행을 통해 부팅 속도를 향상시켰습니다. 즉, systemd는 리눅스 시스템이 부팅할 때 실행되는 프로세스를 제어하기 위한 표준 프로세스입니다. 프로세스명에 'd'를 붙인 프로세스를 보통 데몬이라고 합니다. 다시 설명하면 데몬은 사용자가 직접적으로 제어하지 않고 백그라운드에서 여러 작업을 하는 프로그램입니다. 이러한 데몬들을 servic.. 2023. 4. 25.