명령줄 인터페이스(Command Line Interface, CLI)는 컴퓨터 프로그램이나 운영 체제와 상호 작용하기 위한 텍스트 기반의 사용자 인터페이스입니다. CLI는 텍스트 명령어를 사용하여 사용자가 컴퓨터 시스템과 소프트웨어와 상호 작용할 수 있도록 해줍니다.

CLI를 사용하면 사용자는 명령어를 통해 파일을 생성, 수정, 복사, 이동하거나 프로그램을 실행하고 시스템 설정을 변경할 수 있습니다. 명령줄을 통해 작업을 수행하기 위해서는 정확한 명령어와 옵션을 사용해야 하며, 특정 문법과 명령어 구조를 따라야 합니다.

대부분의 운영 체제들은 CLI 외에도 그래픽 사용자 인터페이스(GUI)를 제공하며, GUI는 마우스와 아이콘 등을 사용하여 시각적으로 상호 작용할 수 있는 환경을 제공합니다. 반면 CLI는 텍스트 기반이므로, 초기 학습 곡선이 있을 수 있지만, 숙련된 사용자들은 자주 사용되는 작업을 훨씬 빠르게 수행할 수 있는 장점을 가지고 있습니다.

  • pgrep 명령어: 이름으로 PID 찾기와 -f 옵션, pidof & pkill 차이

    실행 중인 프로세스의 번호(PID)를 이름이나 계정, 명령 줄로 찾을 때는 pgrep 명령어를 사용합니다. AlmaLinux 9 서버에서 sleep 프로그램을 다른 이름으로 복사해 세 개를 띄우고 옵션마다 찾은 프로세스를 비교했습니다. 이름으로 찾을 때는 그 세 프로세스만 나왔고, -f로 명령 줄 전체에서 찾자 그 프로세스를 실행한 timeout까지 함께 나왔습니다. 아래 출력은 AlmaLinux 9.8 서버의 root 계정과…

  • tracepath 명령어: traceroute 대신 홉과 경로 MTU 확인

    리눅스 서버에서 목적지까지 패킷이 거쳐 가는 경로(홉)와 경로 MTU는 tracepath 명령어로 root 권한 없이 확인할 수 있습니다. traceroute가 설치되어 있지 않은 AlmaLinux 9 서버에서 홉 수를 10으로 제한해 example.com까지 경로를 확인한 결과, 넷째 홉까지 응답 시간과 경로 MTU 1500을 읽었고 그 뒤 여섯 홉에서는 응답이 오지 않았습니다. 아래 출력은 AlmaLinux 9.8 서버(root 계정)에서…

  • lsblk 명령어: 디스크·파티션 구조와 UUID 확인

    lsblk 명령어는 서버에 연결된 디스크와 파티션, 마운트 위치를 트리 구조로 출력하며, 디스크 크기와 파일 시스템 종류, UUID까지 한 번에 확인할 수 있습니다. AlmaLinux 9 서버에서 lsblk를 실행한 결과 snap 패키지가 만든 loop 장치가 디스크보다 먼저 출력되어 -e 7로 걸러 냈습니다. 이어서 -f로 루트 파티션의 xfs 파일 시스템과 UUID를 확인했습니다. 아래 출력의 디스크 크기와…

  • dmesg 명령어: 사용법과 -T 시각, -l 등급, 권한 오류

    리눅스 커널이 부팅할 때부터 남긴 메시지는 dmesg 명령어로 커널 링 버퍼에서 읽어 터미널에 출력합니다. AlmaLinux 9 서버의 root 계정과 Debian 12 서버의 일반 계정에서 같은 dmesg를 실행해 본 결과, root 계정에서는 -T와 -l 옵션으로 시각과 등급을 고르고 grep으로 디스크 메시지를 찾았고 일반 계정에서는 dmesg_restrict 설정 때문에 버퍼를 읽지 못했습니다. AlmaLinux 9.8 서버의 출력은…

  • watch 명령어: 사용법과 -n 간격, -d 강조, 출력이 바뀌면 끝내기

    watch 명령어는 지정한 명령을 2초마다 다시 실행해 그 출력을 터미널 화면 전체에 새로 그리는 리눅스 명령어입니다. AlmaLinux 9 서버에서 다른 창으로 파일을 바꾸며 watch로 지켜본 결과, -d 옵션은 바뀐 글자를 강조했고 -g 옵션은 출력이 바뀐 뒤 watch를 끝냈습니다. 아래 출력은 AlmaLinux 9.8 서버(root 계정)의 작업 폴더에서 실행한 결과이고, Debian 12 서버에서는 버전만 확인했습니다….

  • su 명령어: su와 su -의 차이, sudo su와 sudo -i까지 계정 바꾸는 법

    리눅스에서 지금 계정을 로그아웃하지 않고 다른 계정으로 바꿔 명령을 실행할 때는 su 명령어를 사용합니다. AlmaLinux 9 서버의 root 계정에서 로그인할 수 없는 시스템 계정 daemon으로 su를 실행해 비교한 결과, 하이픈 하나로 작업 폴더와 PATH가 달라졌고 셸을 지정해야 명령이 실행되었습니다. 아래 출력은 AlmaLinux 9.8 서버(root 계정)와 Debian 12 서버(일반 계정)에서 실행한 결과입니다. 비밀번호를 묻는…

  • zip 명령어: 폴더 압축과 unzip 풀기, 압축 옵션

    zip 명령어는 리눅스에서 파일과 폴더를 zip 파일 하나로 묶어 압축하고, 압축을 풀 때는 unzip을 함께 사용합니다. AlmaLinux 9 서버에서 웹 사이트 폴더를 zip -r로 압축한 결과 35,825바이트가 4,158바이트로 줄었고, Windows에서 만든 zip 파일의 깨진 파일 이름은 unzip -O로 바로잡았습니다. 아래 출력은 AlmaLinux 9.8 서버의 root 계정으로 작업 폴더 안에서 실행한 결과이고, 시각은 UTC…

  • nohup 명령어: 사용법과 nohup.out, 터미널을 닫아도 계속 실행하기

    터미널을 닫거나 SSH 접속이 끊겨도 작업이 계속 돌게 하려면 nohup 명령어로 실행합니다. nohup은 터미널이 닫힐 때 오는 끊김 신호(SIGHUP)를 무시하게 한 채 명령을 실행합니다. AlmaLinux 9 서버에서 nohup을 붙인 sleep과 붙이지 않은 sleep을 함께 띄우고 터미널을 닫아 본 결과, nohup으로 띄운 쪽만 남아 계속 실행되었습니다. 아래 출력은 AlmaLinux 9.8 서버(root 계정)와 Debian 12…

  • gzip: 리눅스 파일 압축과 gzip 압축 풀기, gunzip, zcat 사용법

    gzip은 리눅스에서 파일 하나를 .gz 파일로 압축하는 명령어이고, 압축을 풀 때는 같은 명령에 -d를 붙이거나 gunzip을 사용합니다. AlmaLinux 9 서버에서 31,878바이트 접속 로그를 압축한 결과 4,424바이트로 줄었고, 압축을 풀자 원래 크기와 수정 시각이 그대로 돌아왔습니다. 아래 출력은 AlmaLinux 9.8 서버의 root 계정으로 시험용 폴더에서 실행한 결과이고, 시각은 UTC 기준입니다. 접속 로그와 메모, 설정…

  • ssh-keygen: SSH 키 생성과 공개 키 등록, ssh-copy-id 사용법

    ssh-keygen은 SSH 접속에 쓰는 개인 키와 공개 키 한 쌍을 만들고, 지문 확인과 암호 변경, known_hosts 정리까지 맡는 OpenSSH 명령어입니다. AlmaLinux 9 서버에서 ed25519 키와 rsa 키를 만들어 지문을 확인하고 암호와 주석을 바꾼 뒤 ssh-copy-id의 dry-run으로 확인해 보니, 서버로 건너가는 것은 .pub 파일의 공개 키 한 줄뿐이었습니다. 아래 출력의 계정 이름과 키 파일…

End of content

End of content