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

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

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

  • xargs 명령어: 사용법과 -n, -I 옵션, find와 함께 쓰기

    xargs 명령어는 표준 입력으로 받은 줄과 낱말을 다른 명령의 인자로 바꿔 실행하는 리눅스 도구입니다. AlmaLinux 9 서버의 작업 폴더에서 find가 찾은 로그 파일 셋을 xargs로 wc에 넘겨 보니, 이름에 공백이 든 파일 하나가 둘로 쪼개져 오류가 났고 -print0과 -0을 붙이자 세 파일의 줄 수가 모두 나왔습니다. 아래 출력은 AlmaLinux 9.8 서버의 root 계정으로…

  • sed 명령어: 문자열 치환, 줄 삭제와 -i 옵션 사용법

    sed 명령어는 파일 내용을 한 줄씩 읽어 바꾸기와 지우기, 넣기를 실행하는 리눅스 도구로, 편집기를 열지 않고 설정 파일의 값을 고칠 수 있습니다. AlmaLinux 9 서버에서 워드프레스 wp-config.php 사본에 sed를 실행한 결과, -i.bak으로 원본을 남긴 채 데이터베이스 이름을 바꿀 수 있었습니다. 글에 실은 오류 문구는 영어 locale에서 출력한 그대로입니다. 가장 많이 사용하는 s 명령은…

  • scp 명령어: 사용법과 옵션, 폴더 복사와 포트 지정

    SSH로 접속하는 서버와 파일을 주고받을 때 쓰는 복사 도구가 scp입니다. scp 명령어로 파일을 보낼 때는 cp처럼 원본을 앞에, 받을 곳을 뒤에 적습니다. AlmaLinux 9 서버에서 Debian 12 서버로 파일과 폴더를 보내고 받아 온 결과, 전송은 SFTP 프로토콜로 이루어졌고 20MB 파일 하나가 1초 안에 도착했습니다. 아래 출력은 모두 보내는 쪽 root 계정에서 OpenSSH 9.9의…

  • awk 명령어: 필드 출력과 -F 구분자, 조건 패턴 사용법

    awk 명령어는 텍스트 파일을 한 줄씩 읽어 공백이나 지정한 구분자로 필드를 나누고, 조건에 맞는 줄의 필드만 골라 출력하거나 계산하는 리눅스 도구입니다. AlmaLinux 9 서버에서 웹 서버 접속 로그 예시 파일의 접속 IP별 요청 수와 상태 코드별 건수를 sort와 파이프로 이은 한 줄 명령으로 집계해 보니, 열두 줄 가운데 404 응답 3건이 모두 한…

  • dnf 명령어: 패키지 설치, 업데이트, 삭제와 yum 차이

    dnf 명령어는 RHEL 계열 리눅스에서 패키지를 검색, 설치, 업데이트, 삭제하는 패키지 관리 명령어입니다. AlmaLinux 9에서는 yum을 입력해도 같은 프로그램이 실행됩니다. AlmaLinux 9 서버에서 search, info, provides, history를 실제로 실행해, 패키지를 찾는 search, info, provides가 각각 어디를 보는지와 history에 남는 작업 기록을 출력으로 확인했습니다. 설치, 삭제, 업데이트처럼 시스템을 바꾸는 명령은 실행하지 않았습니다. 그 동작은…

  • wc 명령어: 줄 수, 단어 수 세기와 wc -l 파이프 사용법

    wc 명령어는 파일의 줄 수와 단어 수, 바이트 수를 세어 출력하는 리눅스 명령어입니다. 웹 서버 접속 로그 예시 파일의 줄 수를 wc -l로 세면 10이고, grep으로 404 응답만 걸러 wc -l에 넘기면 실패한 요청 수 3을 숫자 하나로 확인할 수 있습니다. 아래 로그와 파일 내용, 작업 폴더 /root/work는 예시 값입니다. 로그는 문서 예시용…

  • curl 명령어: 옵션 사용법과 POST 요청, 파일 다운로드

    curl 명령어는 터미널에서 웹 주소로 요청을 보내고 응답을 그대로 출력하는 도구입니다. 명령 한 줄로 페이지 본문과 헤더, 상태 코드를 확인할 수 있습니다. AlmaLinux 9 서버에서 워드프레스 사이트로 curl 요청을 보낸 결과, http 주소는 301 응답으로 https 주소를 안내했고 인증 없는 REST API 요청은 401로 거절되었습니다. curl 뒤에 주소 하나를 붙이면 그 주소로 GET…

  • traceroute 명령어: 설치와 사용법 & -n, -I, -T 옵션

    목적지까지 패킷이 거쳐 가는 라우터를 한 홉씩 확인할 때는 traceroute 명령어를 사용합니다. AlmaLinux 9.8 서버에는 traceroute가 설치되어 있지 않아 dnf로 설치했고, traceroute 2.1.2가 들어 있는 Debian 12 서버에서 example.com까지 경로를 추적한 결과 일곱째 홉에서 목적지에 닿았습니다. 아래 출력은 Debian 12 서버의 일반 계정으로 실행한 결과이고, 설치 장의 rpm·dnf 출력만 AlmaLinux 9.8 서버(root 계정)에서…

  • 리눅스 nice 명령어: 우선순위 지정과 renice 변경, CPU를 다툴 때의 몫 실측

    리눅스 nice 명령어는 프로그램을 실행할 때 CPU를 얼마나 양보할지 정하는 nice 값(-20~19)을 지정하는 명령어입니다. AlmaLinux 9 서버에서 CPU 코어 하나에 작업 둘을 묶어 nice 값을 바꿔 가며 잰 결과, 몫은 CPU를 다툴 때만 나뉘었고 nice 19 작업은 1.4%만 사용했습니다. 이미 실행 중인 프로세스는 renice로 바꾸며, 디스크 쪽 양보는 ionice가 담당합니다. 세 명령 모두…

  • [Linux] ip 명령어 : 네트워크 인터페이스 및 설정 관리

    ip 명령어는 리눅스에서 네트워크를 관리할 때 사용되는 주요 도구로, 다양한 네트워크 작업을 수행할 수 있습니다. ip 명령어는 네트워크 인터페이스의 상태를 확인하거나 활성화 및 비활성화 할 수 있으며, IP 주소를 확인하거나 수동으로 추가 및 삭제하는 작업도 가능합니다. 또한 라우팅 테이블을 조회하고 경로를 추가하거나 제거하는 등의 라우팅 관리, ARP 테이블 확인 및 수정, 터널링 설정…

End of content

End of content