Computer >> 컴퓨터 >  >> 프로그래밍 >> Bash 프로그래밍

Bash 프로그래밍

  1. Bash를 재미있게 익히는 명령줄 게임 3가지

    배움은 힘든 일이고, 아무도 힘든 일을 좋아하지 않습니다. 그렇기 때문에 Bash가 아무리 쉽더라도 공부하는 과정 자체가 여전히 일처럼 느껴질 수 있습니다. 하지만 게임을 통해 배운다면 이야기가 달라집니다.Bash 터미널 사용법을 가르쳐 주는 게임이 많이 있을 것이라고 생각하기 어렵습니다. 실제로 그렇습니다. PC 게임에 정통한 사람들은 Fallout 시리즈의 볼트 내부에 터미널 기반 컴퓨터가 등장한다는 것을 알고 있습니다. 이는 텍스트로 컴퓨터와 소통하는 개념을 친숙하게 만들어 주지만, Alpine이나 Emacs와 비슷한 애플리케

  2. Bash 프로그래밍 입문: 기본 문법부터 변수와 제어 연산자까지

    셸(shell)은 운영체제의 명령 해석기입니다. 필자는 Bash를 가장 좋아하는 셸로 사용하고 있는데, 사실 모든 리눅스 셸은 사용자나 시스템 관리자가 입력한 명령을 운영체제가 이해할 수 있는 형태로 변환하는 역할을 합니다. 명령의 실행 결과가 셸로 반환되면, 셸은 이를 STDOUT으로 전송하며 기본적으로 터미널 화면에 출력됩니다. 흥미로운 점은 대부분의 셸이 단순한 명령 해석기를 넘어 하나의 프로그래밍 언어이기도 하다는 것입니다. 탭 자동 완성, 명령어 기록 불러오기와 편집, 별칭(alias) 같은 단축 기능들은 Bash를 강력한

  3. Bash 프로그래밍 완전 정복: 루프(for, while, until) 활용법

    Bash는 명령줄과 셸 스크립트 환경에서 사용하도록 설계된 강력한 프로그래밍 언어입니다. 3부작으로 구성된 이 시리즈는 필자의 리눅스 독학 과정 교재를 바탕으로, 명령줄 인터페이스(CLI)에서 Bash를 프로그래밍 언어로 활용하는 방법을 다룹니다.시리즈의 첫 번째 글에서는 변수와 제어 연산자를 활용한 간단한 명령줄 프로그래밍을 소개했습니다. 두 번째 글에서는 실행 흐름을 제어하는 파일, 문자열, 숫자 및 기타 논리 연산자와 다양한 셸 확장 기능을 살펴보았습니다. 이번 세 번째이자 마지막 글에서는 반복 작업을 수행하는 루프(loop)

  4. Bash 스크립트 하나로 안전한 무작위 암호 12개 생성하기

    주기적으로 새로운 암호를 만들어야 하는데, 그중에는 더 높은 보안 수준이 요구되는 것도 있습니다. 새 로그인 계정을 만들어야 할 때면 머릿속이 하얘지곤 하는데, 이 짧은 Bash 스크립트가 바로 그 빈자리를 채워 줍니다. 솔직히 말하자면, 이 스크립트의 대부분은 어디선가 발견한 코드를 가져와 살짝 수정한 것이지만, 실제로 매우 유용하게 쓰고 있습니다. 암호 생성 스크립트 전체 코드 #!/usr/bin/env shecho Generating 12-character passwordsfor ((n=0;n<12;n++))do dd

  5. Bash 치트 시트: 필수 키 조합과 특수 구문 완벽 정리

    Bourne Again Shell(Bash)은 POSIX 컴퓨터를 위한 텍스트 인터페이스입니다. 셸(Shell)은 Bash든 다른 종류든, 복잡한 중간 인터페이스 없이 컴퓨터와 직접 소통할 수 있는 방법을 제공합니다. 사용자가 실행하고자 하는 명령어를 정확하게 입력하면, 컴퓨터가 그대로 수행하는 방식이죠. 셸은 지금까지 등장한 인터페이스 중 가장 효율적이고 가볍습니다. 바로 이러한 이유로 탄생한 지 40년이 넘었음에도 여전히 널리 사용되고 있습니다. Bash는 명령어 도구이자 프로그래밍 언어 하지만 Bash는 단순히 컴퓨터에 명령을

  6. Bash 환경 변수 완벽 가이드 – 개념부터 설정과 활용까지

    컴퓨팅에서 변수(variable)는 변할 수 있는 값을 대신하는 단어입니다. 사실 우리는 일상 대화 속에서도 이미 변수를 사용하고 있습니다. 내 차라고 말할 때, 내 차는 일종의 변수로서 현재 내가 소유한 자동차를 가리킵니다. 시간이 지나면서 차종과 모델은 분명 바뀌겠지만, 내 차라는 변수를 만들어 두면 매번 어떤 차를 소유하고 있는지 길게 설명하지 않아도 됩니다. 컴퓨터에서도 변수는 비슷한 방식으로 사용됩니다. 예를 들어, 컴퓨터에 사용자 계정을 가진 사람은 누구나 자신의 개인 데이터가 저장되는 홈 디렉터리를 갖습니다. 하지만 사

  7. PowerShell 변수 완벽 가이드: 생성부터 삭제까지

    컴퓨터 과학에서 변수(variable)란 나중에 사용할 임의의 정보를 담아두는 메모리상의 위치를 말합니다. 쉽게 말해 데이터를 넣고 꺼낼 수 있는 임시 저장 용기입니다. Bash 셸에서는 이 데이터가 단어(문자열)일 수도 있고 숫자(정수)일 수도 있습니다. 컴퓨터에서 변수를 직접 사용해 본 적이 없더라도, 일상생활에서는 이미 변수와 비슷한 것을 자주 사용하고 있습니다. 저것 좀 줘 또는 이거 봐라고 말할 때 여러분은 문법적 변수, 즉 대명사를 사용하는 것입니다. 이거와 저것이 무엇을 의미하는지는 말하는 사람이 머릿속에 그리고 있는

  8. Bash 셸의 탄생: 톰슨 셸에서 오픈소스까지

    셸 스크립팅은 시스템 관리자 역할을 맡은 사람이라면 누구나 갖춰야 할 필수 역량입니다. 오늘날 스크립트를 작성하는 데 가장 널리 쓰이는 셸은 단연 Bash입니다. Bash는 거의 모든 리눅스 배포판과 최신 macOS에 기본 탑재되어 있으며, 곧 Windows Terminal에도 기본으로 포함될 예정입니다. 그야말로 Bash는 어디에나 있는 셈입니다. 그렇다면 Bash는 어떻게 이 지경에 이르게 되었을까요? 이번 주 Command Line Heroes 팟캐스트는 바로 이 질문을 코드를 직접 작성한 본인들에게 물으며 깊이 있게 파헤칩니

  9. PowerShell 환경 변수 완벽 가이드: 조회, 설정, 영구 저장까지

    환경 변수(Environment Variables)는 리눅스, macOS, 윈도우 컴퓨터의 전역 설정값으로, 시스템 셸이 명령을 실행할 때 참조할 수 있도록 저장됩니다. 상당수의 환경 변수는 운영체제 설치 과정이나 사용자 계정 생성 시점에 자동으로 설정됩니다. 대표적인 예가 홈 디렉터리입니다. 로그인하면 홈 디렉터리가 환경 변수로 등록되는데, PowerShell에서 이 값이 어떻게 표시되는지는 운영체제에 따라 다릅니다. 윈도우에서: PS C:\Users\bogus> Get-Variable HOME -valueOnly C:\Us

  10. Bash로 지뢰찾기 게임을 만들며 셸 스크립팅 실력 연마하기

    프로그래밍 가르치기의 전문가는 아니지만, 저는 무언가를 더 잘하고 싶을 때마다 재미있게 배울 수 있는 방법을 찾곤 합니다. 예를 들어 셸 스크립팅 실력을 높이고 싶었을 때, 저는 Bash로 지뢰찾기(Minesweeper) 게임을 직접 만들어보며 연습하기로 했습니다.경험 많은 Bash 프로그래머라면, 즐거움과 함께 실력을 갈고닦을 수 있는 이 프로젝트에 도전해 보세요. 터미널에서 동작하는 나만의 지뢰찾기를 따라 만들어 볼 수 있습니다. 완성된 소스 코드는 GitHub 저장소에서 확인할 수 있습니다.준비하기코드를 작성하기 전에, 게임을

  11. 실제로 매일 쓰게 될 Bash 히스토리 단축키 7가지

    대부분의 Bash 히스토리 단축키 가이드는 사용 가능한 모든 단축키를 빠짐없이 나열합니다. 그런데 이렇게 하면 문제가 있습니다. 단축키를 한 번 써보고는 가능한 조합을 하나하나 시험해 보다가 흥미를 잃어버리고, 곧바로 일상 업무로 복귀한 뒤에는 처음 Bash를 배울 때 익힌 유명한 !! 트릭만 남기고 전부 잊어버리게 되죠.그래서 대부분의 단축키는 결국 기억에 남지 못했습니다.이 글에서는 제가 실제로 매일 사용하는 단축키들만 소개합니다. 이 내용은 제 저서 『Learn Bash the Hard Way』의 일부를 바탕으로 하며, 미리보

  12. BATS(Bash Automated Testing System)로 Bash 스크립트 자동 테스트하기

    Java, Ruby, Python 같은 언어로 애플리케이션을 개발하는 개발자들은 소프트웨어의 무결성을 장기적으로 유지할 수 있도록 돕는 정교한 테스트 라이브러리를 활용하고 있습니다. 이들은 구조화된 환경에서 일련의 실행 과정을 거치며 애플리케이션을 검증하는 테스트를 작성해, 소프트웨어의 모든 측면이 기대대로 동작하는지 확인합니다.이러한 테스트는 지속적 통합(CI) 시스템에서 자동화될 때 더욱 강력해집니다. 소스 저장소에 코드를 푸시할 때마다 테스트가 실행되고, 실패 시 개발자에게 즉시 알림이 전달되기 때문입니다. 이러한 빠른 피드백

  13. Bash vs Python: 자동화 작업에는 어떤 언어를 선택해야 할까?

    Bash와 Python은 대부분의 자동화 엔지니어가 가장 사랑하는 프로그래밍 언어입니다. 두 언어 모두 뚜렷한 장단점을 가지고 있기 때문에 어떤 상황에서 무엇을 사용해야 할지 고민되는 경우가 많습니다. 솔직한 답을 하자면 작업의 종류, 범위, 맥락, 그리고 복잡도에 따라 달라집니다.이 글에서는 두 언어를 꼼꼼히 비교해 보며 각각이 어떤 상황에서 진가를 발휘하는지 알아보겠습니다.Bash의 특징Linux/Unix 셸 명령 언어입니다.CLI(명령줄 인터페이스) 유틸리티를 활용하는 셸 스크립트 작성에 매우 적합합니다. 한 명령의 출력을 다

  14. Bash에서 for 루프 작성하는 방법: 반복 작업 자동화 완벽 가이드

    많은 사람들이 유닉스 셸을 배우려는 가장 큰 이유 중 하나는 바로 일괄 처리(batch processing)의 강력한 기능을 활용하기 위해서입니다. 수많은 파일에 동일한 작업을 적용하고 싶다면, 그 파일들을 하나씩 순회하며 명령을 실행하는 방법이 필요합니다. 프로그래밍 용어로 이를 실행 제어(execution control)라고 부르며, 그중 가장 대표적인 예가 바로 for 루프입니다.for 루프는 지정한 각 데이터 객체(예: 파일)에 대해 컴퓨터가 어떤 작업을 수행할지 상세히 정의한 일종의 레시피입니다.클래식한 for 루프가장 쉽

  15. 한번 쓰면 못 빠져나오는 필수 Bash 별칭(Alias) 10가지

    Bash 별칭(alias)은 기존 Bash 명령어를 새로운 명령어로 대체하거나 보완하는 방법입니다. 별칭을 활용하면 POSIX 터미널에서의 사용자 경험을 손쉽게 커스터마이징할 수 있습니다. 일반적으로 $HOME/.bashrc 또는 $HOME/.bash_aliases(반드시 .bashrc에서 불러와야 함) 파일에 정의합니다. 대부분의 리눅스 배포판은 새 사용자 계정의 기본 .bashrc 파일에 몇 가지 인기 있는 별칭을 미리 등록해 둡니다. 다음은 Bash 별칭 문법을 보여주는 간단한 예시입니다. alias ls=ls -Falias

  16. pushd와 popd로 Bash 셸 디렉터리 탐색 마스터하기

    pushd와 popd 명령어는 Bash 셸에 내장된 기능으로, 하드 드라이브상의 여러 위치를 빠르게 오갈 수 있도록 디렉터리를 북마크해 두는 역할을 합니다. 터미널은 컴퓨터를 탐색할 수 있는 놀랍도록 빠른 방법입니다. 몇 번의 키 입력만으로 하드 드라이브, 외장 저장소, 네트워크 공유 어디든 이동할 수 있으니까요. 하지만 특정 디렉터리 사이를 계속 왕복하거나 파일 시스템 속에서 길을 잃었을 때는 그 속도가 무용지물이 됩니다. 바로 이런 문제를 pushd와 popd가 해결해 줍니다. pushd란? 가장 기본적인 수준에서 pushd는

  17. Bash 변수 완벽 가이드: 선언부터 내보내기까지

    컴퓨터 과학(그리고 일상적인 컴퓨팅)에서 변수(variable)란 나중에 사용할 임의의 정보를 담아두는 메모리상의 위치를 말합니다. 다시 말해, 데이터를 넣고 꺼낼 수 있는 임시 저장 용기입니다. Bash 셸에서 이 데이터는 단어(컴퓨터 용어로는 문자열)이거나 숫자(정수)일 수 있습니다.컴퓨터에서 변수를 의식적으로 사용해 본 적이 없더라도, 일상생활에서는 이미 변수를 사용하고 있었을 가능성이 높습니다. 저거 좀 줘 또는 이거 좀 봐라고 말할 때 우리는 문법적 변수, 즉 대명사를 사용하는 것입니다. 이것과 저것의 의미는 머릿속에 그리

  18. 시스템 관리자를 위한 Bash 실전 가이드

    모든 직업에는 그 분야의 전문가들이 가장 자주 사용하는 도구가 있습니다. 많은 시스템 관리자에게 그 도구는 바로 셸(shell)입니다. 대부분의 Linux 및 기타 Unix 계열 시스템에서 기본 셸로 사용되는 것이 바로 Bash입니다.Bash는 1980년대 후반에 탄생한 꽤 오래된 프로그램이지만, 그보다 10년 이상 앞선 C 셸(csh)과 같은 훨씬 오래된 셸들의 전통 위에 세워졌습니다. 셸이라는 개념 자체가 워낙 오래되었기 때문에, 시스템 관리자의 업무를 한결 수월하게 만들어 줄 방대한 노하우가 곳곳에 숨어 있습니다.지금부터 기본

  19. 리눅스 터미널 활용 능력을 바꿔준 나만의 꿀팁, 무엇인가요?

    리눅스 터미널을 정말 능숙하게 다루는 사람이 작업하는 모습을 처음 지켜본 순간이 기억나시나요? 그때는 마치 마법처럼 보였을지도 모릅니다. 아니면 적어도 영화 해커스(Hackers)의 한 장면을 보는 듯한 느낌이었을 것입니다. 현실과 영화 속 해커의 차이 물론 현실에서는 누구도 분당 60단어 속도로 명령어를 입력하며, 화면에 쏟아지는 출력 결과를 지켜본 뒤 거의 끊임없이 다음 지시를 내리며 작업하지 않습니다. 하지만 일단 몰입의 경지에 들어서면, 아주 잠깐의 순간일지라도 그런 장면이 실제로 펼쳐지는 듯한 느낌을 받곤 합니다. 터미널

  20. 작업 시간을 확 줄여주는 리눅스 명령줄 별칭(Alias) 15가지

    리눅스 명령줄 별칭(alias)은 반복적인 명령 입력을 줄여 작업 효율을 크게 높여주는 강력한 도구입니다. 더 좋은 소식은 일부 별칭이 이미 설치된 리눅스 배포판에 기본으로 포함되어 있다는 점입니다. 다음은 Fedora 27에서 확인할 수 있는 명령줄 별칭의 예입니다. alias 명령을 입력하면 현재 등록되어 있는 별칭 목록을 확인할 수 있습니다. 새로운 별칭을 설정하는 방법도 매우 간단합니다. alias new_name=command 그럼 지금부터 작업 시간을 크게 절약해 줄 15가지 명령줄 별칭을 하나씩 살펴보겠습니다. 1.

Total 306 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:8/16  20-컴퓨터/Page Goto:1 2 3 4 5 6 7 8 9 10 11 12 13 14