Categories
Linux

우분투에서 df 명령으로 디스크 공간 정보 확인하기

1. 디스크 공간 정보 확인하기

df 명령을 사용한다.

df -H

-H 옵션의 H 는 “Human-readable format” 에서 왔다. 수치 정보를 사람이 이해하기 좋은 형식으로 표현한다는 뜻이다.

2. 각 필드의 의미

Filesystem 필드 (field) 에서는 파일 시스템 소스 (source) 를 보여준다.

Size 필드에서는 디스크 드라이브의 전체 용량을 보여준다.

Used 필드에서는 사용중인 디스크 용량을 보여준다.

Avail 필드에서는 사용가능한 디스크 용량을 보여준다.

Use% 필드에서는 사용중인 디스크 용량이 전체 디스크 용량의 몇 퍼센트인지 보여준다.

Mounted on 필드에서는 디스크 드라이브가 마운트된 디렉토리를 보여준다.

3. 특정 드라이브 정보만 확인하기

df 명령 인자로 특정 드라이브의 이름을 지정한다.

df -H /dev/sda2

4. 특정 필드만 출력하기

df 명령의 ‐‐output 옵션을 사용한다.

df -H ‐‐output=source,size,used,avail

Filesystem 필드를 출력하기 위해 “filesystem” 대신 “source” 를 사용한 것에 유의한다.

Categories
Linux

우분투에서 7-Zip (세븐집) 설치하고 사용하기

1. 7-Zip 설치하기

다음 명령으로 최신의 패키지 정보를 다운로드한다.

sudo apt update

7-Zip 은 p7zip-full 패키지에 포함되어 있다. p7zip-full 패키지를 설치한다.

sudo apt install p7zip-full

2. 설치 결과 확인

7-Zip 의 리눅스 명령어는 7z 이다.

다음 명령으로 7z 명령의 경로를 확인한다.

which 7z


7z 명령의 경로는 /usr/bin/7z 이다.

3. 파일 압축하기

7z 으로 파일을 압축할 때는 a 커맨드를 사용한다.

다음 명령은 document.txt 파일을 압축하여 document.7z 파일로 저장한다.

7z a document.7z document.txt

4. 파일 압축 풀기

파일의 압축을 풀 때는 e 커맨드를 사용한다.

다음 명령은 document.7z 파일의 압축을 푼다.

7z e document.7z

5. 압축 파일 정보 확인

압축을 풀지 않고 압축 파일의 내용을 확인할 때는 l (소문자 L) 커맨드를 사용한다.

다음 명령은 document.7z 파일의 내용을 화면에 출력한다.

7z l document.7z

Categories
Linux

배쉬 (Bash) 에서 문자열을 대문자 또는 소문자로 변환하기

배쉬 (Bash) 에서 문자열을 대문자 또는 소문자로 변환하는 방법을 알아보자.

1. 문자열을 대문자로 변환

문자열을 대문자로 변환할 때는 ^ (caret) 기호를 쓴다.

site=xtmci    # $site 변수에 'xtmci' 문자열 저장.

echo $site    # xtmci 출력.

echo ${site^}    # Xtmci 출력.

echo ${site^^}    # XTMCI 출력.

^ 기호를 하나만 쓰면 문자열의 첫 문자만 대문자로 변환된다.

^ 기호를 2번 쓰면 문자열 전체가 대문자로 변환된다.

2. 문자열을 소문자로 변환

문자열을 소문자로 변환할 때는 쉼표 (,) 기호를 쓴다.

site=XTMCI    # $site 변수에 'XTMCI' 문자열 저장.

echo $site    # XTMCI 출력.

echo ${site,}    # xTMCI 출력.

echo ${site,,}    # xtmci 출력.

쉼표 기호를 하나만 쓰면 문자열의 첫 문자만 소문자로 변환된다.

쉼표 기호를 2번 쓰면 문자열 전체가 소문자로 변환된다.

Categories
Linux

우분투에서 systemd 서비스 (service) 를 등록하고 실행하는 방법

우분투에서 systemd 서비스 (service) 를 등록하고 실행하는 방법을 알아보자.

서비스란 특정한 상황에서 자동으로 실행되는 백그라운드 프로세스 (background process) 를 의미한다. 서비스는 대개 시스템이 시작할 때 실행된다.

이 글에서는 구체적인 예로서 PHP 웹서버를 서비스로 등록하고 실행하는 방법을 설명한다.

1. systemd 유닛 파일 작성

systemd 유닛 (unit) 파일은 /etc/systemd/system 디렉토리 안에 작성한다.

systemd 유닛 파일의 확장자는 .service 이다.

sudo vi /etc/systemd/system/php-web-server.service

파일에 아래와 같은 내용을 입력한다.

해시 (#) 기호 뒤에 있는 내용은 주석이므로 입력하지 않아도 된다.

[Unit]
Description=PHP web server    # 서비스에 대한 간단한 설명.

[Service]
ExecStart=/usr/bin/php -S 192.168.0.7:80 -t /docroot    # 서비스가 시작될 때 실행되는 명령.

[Install]
WantedBy=default.target    # 서비스와 서비스 사이의 상호 의존성과 관계가 있다. 대개의 경우 default.target 으로 지정하면 문제가 없다.

파일을 저장하고 편집기를 닫는다.

2. systemd 서비스의 실행

새로 작성한 systemd 유닛 파일을 systemd 데몬이 읽게 한다.

sudo systemctl daemon-reload

서비스를 활성화 (enable) 한다. 이렇게 해야 시스템이 시작될 때 서비스가 실행된다.

sudo systemctl enable php-web-server.service

서비스를 시작한다.

sudo systemctl start php-web-server.service

서비스의 상태를 확인한다.

sudo systemctl status php-web-server.service

3. 기타 명령

서비스를 비활성화 (disable) 한다. 이렇게 하면 시스템이 시작될 때 서비스가 실행되지 않는다.

sudo systemctl disable php-web-server.service

서비스의 활성화 여부를 확인한다.

sudo systemctl is-enabled php-web-server.service

실행 중인 서비스를 종료한다.

sudo systemctl stop php-web-server.service