이 글에서는 모든 리눅스 사용자에게 유용한 Bash 명령줄 단축키를 소개합니다. 이 단축키들을 활용하면 이전에 실행한 명령어 불러오기 및 실행, 에디터 열기, 명령줄에서 텍스트 편집·삭제·변경, 커서 이동, 프로세스 제어 등 다양한 작업을 빠르고 간편하게 수행할 수 있습니다.이 가이드는 명령줄 기초를 익히는 리눅스 초보자에게 특히 도움이 되지만, 중급 사용자나 숙련된 개발자에게도 실무에 유용한 팁이 될 것입니다. 아래에서는 단축키를 카테고리별로 나누어 정리했습니다.에디터 바로 실행하기터미널을 연 상태에서 Ctrl+X를 누른 후 Ct
Bash-it은 Bash 3.2+ 환경을 위해 만들어진 커뮤니티 기반 Bash 명령어 및 스크립트 모음입니다. 자동완성(completions), 테마(themes), 별칭(aliases), 사용자 정의 함수 등 다양한 기능을 기본으로 제공하며, 일상 업무에서 셸 스크립트와 커스텀 명령어를 개발·유지·활용할 수 있는 실용적인 프레임워크 역할을 합니다.매일 Bash 셸을 사용하면서 수많은 스크립트, 별칭, 함수를 일관되게 관리하고 싶다면 Bash-it이 딱 맞는 도구입니다. 더 이상 ~/bin 디렉터리나 .bashrc 파일을 어수선하게
지금까지 리눅스 셸 스크립팅(Linux Shell Scripting) 시리즈를 연재해 왔으며, 많은 독자분들의 뜨거운 호응을 받았고 지금도 여전히 유용한 내용으로 자리 잡고 있습니다. 아직 이전 글들을 읽지 않으셨다면 아래 링크에서 전체 시리즈를 확인해 보시기 바랍니다. 리눅스 셸 스크립팅 배우기 이번 글에서는 셸 스크립트의 핵심 요소인 변수(variable)에 대해 살펴보고, 변수의 실행 방식과 실제 구현 사례를 예제 중심으로 자세히 알아보겠습니다. 명령어 출력 결과 저장하기 명령어의 출력 결과는 표준 출력이나 파일로 리디렉
리눅스 쉘 스크립팅 언어는 항상 뜨거운 관심을 받아온 주제였으며 앞으로도 그럴 것입니다. 쉘 스크립팅 언어는 마치 마법과 같아서, 다른 프로그래밍 언어에서처럼 손쉽게 프로그램을 작성할 수 있습니다. 하지만 무엇을 하고 있는지, 어떤 결과가 기대되는지에 대한 깊이 있는 이해가 반드시 필요합니다. 지금까지 독자 여러분을 위해 작성한 모든 쉘 스크립팅 시리즈는 마지막 글인 리눅스 변수의 이해를 포함해 큰 호응을 얻었습니다. 이번 글에서는 지난 글의 내용을 한 단계 더 발전시켜 보겠습니다. 변수 속성(Attributes) 리눅스 환경의
지난 두 편의 BASH 셸 시리즈에서는 변수를 심도 있게 다루었는데, 많은 독자분들께 뜨거운 호응을 받았습니다. 이번 시리즈 역시 최신 정보를 바탕으로 주제를 꼼꼼하게 정리하고, 해당 주제의 핵심 관점을 놓치지 않으려 노력하고 있습니다. 이번 글은 리눅스 변수 시리즈의 마지막 편으로, 변수 치환(variable substitution)과 셸에 미리 정의되어 있는 변수들을 살펴본 뒤 이 주제를 마무리하겠습니다. BASH 변수 치환의 기본 원리 Bash는 명령이 실제로 실행되기 전에 변수 치환을 수행합니다. 리눅스 Bash 셸은 명령
시스템 관리(System Administration)는 다중 사용자 컴퓨터 시스템과 서버의 안정적인 운영을 다루는 정보기술(IT)의 한 분야입니다. 이러한 시스템과 서버의 안정적 운영을 책임지는 사람을 시스템 관리자(System Administrator)라고 부릅니다. 전문 분야가 리눅스인 시스템 관리자를 리눅스 시스템 관리자라고 합니다. 리눅스 시스템 관리자의 역할은 매우 폭넓은데, 하드웨어 유지보수, 시스템 유지관리, 사용자 관리, 네트워크 관리, 시스템 성능 점검, 리소스 사용량 모니터링, 백업, 보안 확보, 시스템 업데이트,
시스템 관리자(System Administrator)의 업무는 결코 만만치 않습니다. 서버 상태 점검, 사용자 관리, 로그 분석, 백업 생성 등 매일 반복해야 할 일이 끊이지 않기 때문입니다. 그래서 대부분의 관리자는 이러한 반복 작업을 자동화하기 위해 스크립트를 활용합니다. 이번에 소개할 셸 스크립트는 전형적인 시스템 관리 업무 전체를 자동화하는 것을 목표로 하지는 않지만, 특히 리눅스 초보자에게 유용합니다. 시스템, 네트워크, 사용자, 부하(Load), RAM, 호스트명, 내부 IP, 외부 IP, 가동 시간(Uptime) 등 필
Powerline은 Vim 편집기를 위한 훌륭한 상태 표시줄(statusline) 플러그인으로, Python으로 개발되었으며 bash, zsh, tmux 등 다양한 애플리케이션에 상태 표시줄과 프롬프트를 제공합니다. 주요 기능 Python으로 작성되어 확장성이 뛰어나고 다양한 기능을 제공합니다. 안정적이고 테스트 가능한 코드베이스를 갖추고 있으며, Python 2.6+ 및 Python 3와 호환됩니다. 여러 Linux 유틸리티와 도구에서 프롬프트 및 상태 표시줄을 지원합니다. JSON을 활용한 설정과 데코레이터 색상 구성을 지원
스크립트(script)란 파일에 저장된 명령어 목록에 불과합니다. 터미널에서 매번 명령어를 하나씩 입력해 실행하는 대신, 시스템 사용자는 여러 명령어를 파일에 저장해 두고 필요할 때마다 해당 파일을 호출함으로써 동일한 작업을 반복해서 실행할 수 있습니다. 셸 스크립팅을 배우기 시작하는 초기 단계에서는 보통 몇 줄로 구성된 짧은 스크립트를 작성하게 됩니다. 이 단계에서는 스크립트의 출력 결과를 눈으로 확인하고 의도한 대로 동작하는지 살펴보는 것만으로도 충분히 디버깅이 가능합니다. 그러나 시스템 설정을 변경하거나 네트워크를 통해 중요한
셸 스크립트 디버깅 시리즈의 첫 번째 글에서는 다양한 디버깅 옵션과 셸 스크립트 디버깅 모드를 활성화하는 방법을 소개했습니다. 셸 스크립트를 작성한 후에는 실행하기 전에 스크립트의 구문을 먼저 점검하는 것이 좋습니다. 출력 결과를 하나씩 확인하며 정상 동작 여부를 판단하는 것보다 훨씬 효율적이기 때문입니다. 이번 글에서는 구문 검사(syntax checking) 디버깅 모드를 사용하는 방법을 살펴보겠습니다. 앞서 설명한 여러 디버깅 옵션들을 기억하시고, 이번에는 이를 실제로 활용해 스크립트를 디버깅해 보겠습니다. 상세 출력(Ver
이 글은 셸 스크립트 디버깅 시리즈의 세 번째 편으로, 세 번째 디버깅 모드인 셸 추적(shell tracing)에 대해 알아봅니다. 실제 예제를 통해 셸 추적이 어떻게 동작하는지, 그리고 이를 활용해 스크립트의 문제를 찾아내는지 살펴보겠습니다.시리즈의 앞선 두 편에서는 verbose 모드와 구문 검사(syntax checking) 모드라는 두 가지 디버깅 방법과, 각 모드에서 셸 스크립트 디버깅을 활성화하는 방법을 자세히 다루었습니다.Linux에서 셸 스크립트 디버깅 모드 활성화하기 – 1편셸 스크립트에서 구문 검사 디버깅 수행하
리눅스 터미널 프롬프트에서 Bash 색상과 내용을 자유롭게 꾸미는 방법 현재 대부분의 최신 리눅스 배포판에서는 Bash가 기본 셸로 채택되어 있습니다. 그런데 배포판마다 터미널의 텍스트 색상이나 프롬프트에 표시되는 내용이 서로 다르다는 점을 눈치챘을 수도 있습니다. 추천 글: 리눅스에서 가장 널리 쓰이는 오픈소스 셸 5가지 접근성을 높이거나 단순히 취향 때문에 이 설정을 직접 바꾸고 싶다면 계속 읽어보세요. 이번 글에서는 그 방법을 하나씩 자세히 설명해 드립니다. PS1 Bash 환경 변수란? 터미널의 모양과 명령 프롬프트는 PS1
지난 쉘 스크립팅 시리즈 연재물들이 많은 독자분들께 좋은 반응을 얻었기에, 끝없는 학습의 여정을 이어가고자 이번 글을 준비했습니다.리눅스 기본 쉘 스크립팅 언어 팁 이해하기 – 1부리눅스 초보자를 위한 쉘 프로그래밍 학습용 스크립트 5선 – 2부Bash 키워드(예약어)란?키워드(keyword)는 컴퓨터 언어에서 특별한 의미를 지니는 단어나 기호를 말합니다. 아래의 기호와 단어들은 따옴표로 묶이지 않은 상태에서 명령어의 첫 번째 단어로 사용될 때 Bash에서 특수한 의미를 갖습니다.! esac select } case
이번 글에서는 수학과 숫자 관점에서 활용할 수 있는 셸 스크립트를 다뤄보겠습니다. 이전 글에서 다소 복잡한 간단 계산기(Simple Calculator) 스크립트를 소개했지만, 초보자 입장에서는 이해하기 어려웠을 수 있습니다. 그래서 이번에는 작은 단위로 나누어, 하나씩 차근차근 익힐 수 있는 유용한 스크립트들을 준비했습니다.이 글에 앞서 셸 스크립팅 시리즈의 세 편이 이미 공개되어 있으니, 아직 읽지 않으셨다면 먼저 확인해 보시길 권합니다.Linux 셸과 기본 셸 스크립팅 이해하기 – 1편셸 프로그래밍을 배우는 5가지 셸 스크립트
이제 여러분은 셸 스크립트를 이해하고 필요에 따라 능숙하게 작성할 수 있는 수준에 이르렀을 것입니다. 이번 글은 셸 스크립팅 튜토리얼 시리즈의 마지막 편으로, 스크립팅 언어를 활용해 다소 복잡한 수학 연산을 수행하는 방법을 다룹니다. 앞서 진행된 셸 스크립팅 시리즈의 네 가지 글은 아래와 같습니다.리눅스 기본 셸 스크립팅 언어 팁 이해하기 – 파트 I리눅스 초보자를 위한 5가지 셸 스크립트 예제 – 파트 II리눅스 BASH 스크립팅 세계 탐험하기 – 파트 III리눅스 셸 프로그래밍의 수학적 접근 – 파트 IV피보나치 수열부터 시작하
리눅스에서 명령어 연결(Command Chaining)이란 여러 개의 명령어를 하나로 조합하여, 그 사이에 사용된 연산자의 특성에 따라 순차적 또는 조건적으로 실행되도록 만드는 기법을 말합니다. 마치 셸 자체에서 짧은 셸 스크립트를 작성해 터미널에서 바로 실행하는 것과 같으며, 반복 작업을 손쉽게 자동화할 수 있습니다. 또한 관리자가 상주하지 않는 서버 환경에서도 연결 연산자를 활용하면 시스템이 훨씬 체계적으로 동작하도록 구성할 수 있습니다. 함께 보기: Awk와 정규 표현식으로 파일 내 텍스트 필터링하는 방법 이 글에서는 실무에
리눅스 셸(Linux Shell)은 GNU/Linux 기반 도구 중 가장 매력적이면서도 강력한 도구 중 하나입니다. X 윈도우를 포함한 모든 애플리케이션이 셸 위에서 구동되며, 리눅스 셸은 시스템 전체를 정밀하게 제어할 수 있을 만큼 막강한 기능을 지니고 있습니다. 하지만 그만큼 명령어의 결과를 모른 채 또는 무심코 시스템 명령을 실행하면 심각한 피해를 초래할 수 있다는 위험성도 함께 안고 있습니다. 이러한 문제는 특히 리눅스에 익숙하지 않은 초보 사용자에게 더욱 크게 다가옵니다. 이를 방지하기 위해 등장한 것이 바로 제한된 셸(R
Vim(Vi IMproved)는 프로그래머들 사이에서 가장 사랑받는 텍스트 편집기 중 하나입니다. 짧은 단축 명령만으로 다양한 작업을 빠르게 수행할 수 있다는 점이 큰 장점입니다.예를 들어, 하이라이트된 텍스트를 복사할 때는 y 명령을, 잘라내기할 때는 x 명령을 사용합니다. 그런데 기본 설정의 vim(gVim이 아닌 경우)은 vim 인스턴스를 종료하면 클립보드 내용에 더 이상 접근할 수 없다는 문제가 있습니다.Vim은 시스템 클립보드를 참조하기 위해 + 레지스터를 사용합니다. 터미널에서 vim --version 명령을 실행했을 때
함수는 모든 프로그래밍 언어에서 중요한 역할을 합니다. bash 역시 다른 프로그래밍 언어처럼 함수를 지원하지만, 다른 언어에 비해 구현 방식이 다소 제한적입니다. 그럼에도 불구하고 함수를 잘 활용하면 스크립트의 재사용성과 가독성을 크게 높일 수 있습니다. 함수란 무엇인가? 프로그래밍에서 함수(function)란 프로그램 내에서 특정 작업을 수행하도록 이름이 붙은 코드 블록을 의미합니다. 이 관점에서 함수는 일종의 프로시저(procedure) 또는 루틴(routine)이라고 볼 수 있습니다. 함수가 호출되면 프로그램은 현재 실행 중
지난 글 셸 스크립트에서 함수 이해하고 작성하기를 통해 함수를 작성하는 기본적인 방법을 익히셨을 것입니다. 이번 파트에서는 한 단계 더 나아가 지역 변수(local variable)의 사용법과 재귀(recursion)라는 흥미로운 함수 기능을 깊이 있게 살펴보겠습니다. 지역 변수(Local Variables)란? 변수가 지역 변수가 되는 조건은 무엇일까요? 핵심은 변수가 선언된 코드 블록에 있습니다. local 키워드로 선언된 변수는 해당 변수가 선언된 코드 블록 내부에서만 접근할 수 있습니다. 즉, 변수의 유효 범위(scope