전체 글 849

[리눅스 팁] 명령의 성공 또는 실패 여부를 나타내는 종료 코드

명령의 성공 또는 실패 여부를 나타내는 종료 코드 명령의 종료 코드(exit code) 또는 종료 상태(exit status)는 리눅스에서 프로세스가 종료된 후에 해당 프로세스가 성공적으로 실행되었는지 또는 오류가 발생했는지를 나타내는 숫자 값입니다. 이 값은 쉘과 쉘 스크립트에서 중요하게 활용되며, 특히 자동화 및 스크립트에서 다음 단계를 진행할지 결정하는 데 사용됩니다. 종료 코드의 의미 0: 성공 (Success) - 명령이나 프로그램이 예상대로 성공적으로 완료되었음을 의미합니다. 1-255: 실패 (Failure) - 비 0 값은 오류 또는 이상 상태를 나타냅니다. 일반적으로 1은 일반적인 오류를 나타내고, 2 이상의 값은 명령이나 프로그램에 따라 다른 특정 오류 상황을 가리킬 수 있습니다. 종료..

[리눅스 팁] 리스트 형태 명령 실행 사례

리스트 형태 명령 실행 사례 다음 두 쉘 명령 시퀀스 사례를 비교 설명하겠습니다. 첫 번째 경우 cd dir || exit 1 이 명령은 dir 디렉터리(디렉터리)로 이동을 시도합니다. 만약 dir 디렉터리로 이동하는 것이 실패한다면 (cd dir 명령이 0이 아닌 값을 반환한다면), exit 1 명령을 실행하여 쉘 스크립트를 종료시키는데, 상태 코드 1을 반환합니다. 이것은 오류 상황에서 스크립트의 실행을 멈추고자 할 때 자주 사용하는 패턴입니다. 두 번째 경우 cd dir || mkdir dir && cd dir || echo "I failed" 이 명령 시퀀스는 더 복잡합니다. 다음과 같은 순서로 동작합니다: dir 디렉터리로 이동을 시도합니다 (cd dir). 만약 해당 디렉터리로 이동하는 것이 ..

[리눅스 팁] 리스트 형태로 명령 실행하기

리스트 형태로 명령 실행하기 리스트 형태로 명령을 실행하는 것은 일반적으로 복수의 리눅스 명령어를 한 번에 실행하고자 할 때 유용합니다. 여기서는 리눅스 쉘에서 명령어를 리스트 형태로 실행하는 방법을 소개하겠습니다. 방법 1: 세미콜론(;) 사용 여러 명령을 연속적으로 실행하되, 각 명령이 독립적으로 실행되도록 할 때 세미콜론을 사용합니다. 이 방식은 앞선 명령의 성공 여부와 관계없이 다음 명령이 실행됩니다. cd /var/log; ls; cat syslog 위 예시에서는 먼저 /var/log 디렉터리(디렉터리)로 이동하고, ls 명령어로 디렉터리 내용을 리스트 하며, 마지막으로 cat 명령어로 syslog 파일의 내용을 출력합니다. 방법 2: 논리 연산자 사용 (&& 및 ||) 논리 연산자를 사용하면 ..

[리눅스 명령어] shopt 옵션 사용 사례

shopt 옵션 사용 사례 shopt 명령어를 사용하는 몇 가지 사례를 소개하겠습니다. 이러한 옵션은 사용자의 쉘 환경을 사용자의 요구에 맞게 더 잘 조정할 수 있게 도와줍니다. globstar: globstar 옵션을 활성화하면, ** 패턴을 사용하여 디렉터리 트리 내의 모든 파일과 디렉터리를 재귀적으로 매칭할 수 있습니다. 예제: 모든 .txt 파일을 현재 디렉터리와 하위 디렉터리에서 찾습니다. shopt -s globstar ls **/*.txt dotglob: dotglob 옵션을 활성화하면, 와일드카드 매칭 시 숨김 파일(이름이 점(.)으로 시작하는 파일)을 포함합니다. 예제: 현재 디렉터리의 모든 파일과 디렉터리(숨김 파일 포함)를 나열합니다. shopt -s dotglob ls * nocas..

[리눅스 명령어] 특정 옵션의 활성화 여부 지정, shopt

특정 옵션의 활성화 여부 지정, shopt shopt 명령어는 Bash 쉘의 동작 옵션을 설정하거나 조회하는 데 사용됩니다. 이 명령어를 사용하면 쉘의 여러 가지 행동을 사용자 정의할 수 있으며, 이를 통해 명령어 완성(autocompletion), 패턴 매칭(pattern matching), 옵션 확장(option expansion) 등의 기능을 제어할 수 있습니다. shopt 명령어의 사용법 특정 옵션을 활성화하려면: shopt -s [옵션명] 특정 옵션을 비활성화하려면: shopt -u [옵션명] 모든 사용 가능한 쉘 옵션과 그 상태를 확인하려면: shopt 특정 옵션의 상태를 확인하려면: shopt [옵션명] 여기서 -s는 설정(set)을 의미하고, -u는 해제(unset)를 의미합니다. shop..

설정 파일 다시 읽어들이기

설정 파일 다시 읽어 들이기 설정 파일을 수정한 후에는 쉘이 해당 변경 사항을 인식하도록 설정 파일을 다시 읽어 들여야 합니다. Bash에서 설정 파일을 다시 로드하는 가장 일반적인 방법은 source 명령이나 점(.)을 사용하는 것입니다. ~/.bashrc 파일을 다시 읽어 들이는 방법: source ~/.bashrc 또는 . ~/.bashrc ~/.profile 파일을 다시 읽어 들이는 방법: source ~/.profile 또는 . ~/.profile 위의 명령어들은 현재 쉘 세션에서 설정 파일의 내용을 실행하여, 변경 사항을 적용합니다. 이 방법은 쉘을 재시작하지 않고도 환경 설정을 새로고침할 수 있는 효과적인 방법입니다. 만약 새로운 쉘 인스턴스를 시작할 때마다 변경 사항이 자동으로 적용되길 원..

사용자별 시작 파일과 초기화 파일의 차이

사용자별 시작 파일과 초기화 파일의 차이 사용자별 시작 파일과 초기화 파일은 사용자의 환경과 세션 설정을 정의하는 데 사용되며, 사용자의 홈 디렉터리에 위치합니다. 이들 파일은 쉘의 동작을 사용자가 원하는 방식으로 조정할 수 있게 해줍니다. 주요 차이점은 이 파일들이 로그인 쉘 세션과 비로그인 쉘 세션에서 언제 실행되는지에 있습니다. 사용자별 시작 파일: ~/.bash_profile, ~/.profile 로그인 쉘에서 사용되며, 주로 환경 변수 설정, 스타트업 프로그램 실행 등 사용자의 로그인 세션에 필요한 전반적인 환경 구성을 합니다. 사례: 사용자가 원격으로 서버에 SSH를 통해 접속하거나, 콘솔에서 직접 로그인하면 ~/.bash_profile 또는 ~/.profile이 실행됩니다. 사용자가 여기에 ..

로그인 쉘(login shell)과 비로그인 쉘(non-login shell)

로그인 쉘(login shell)과 비로그인 쉘(non-login shell) 로그인 쉘(login shell)과 비로그인 쉘(non-login shell)은 사용자가 시스템과 상호작용하는 방식에 따라 구분됩니다. 주요 차이점은 초기화 파일이 실행되는 시점과 종류에 있습니다. 로그인 쉘 로그인 쉘은 사용자가 시스템에 로그인할 때 시작되는 쉘입니다. 예를 들어, 텍스트 기반 인터페이스에서 사용자 이름과 비밀번호를 입력하여 접속하거나, 그래픽 사용자 인터페이스에서 터미널 에뮬레이터를 통해 로그인 세션을 시작할 때 로그인 쉘을 사용합니다. 로그인 쉘의 초기화 파일 /etc/profile : 시스템 전체 설정을 위한 파일로, 모든 사용자에게 영향을 줍니다. ~/.bash_profile, ~/.bash_login..

리눅스 쉘에서 시작 파일과 초기화 파일, 그리고 클린업 파일

리눅스 쉘에서 시작 파일과 초기화 파일, 그리고 클린업 파일 Bash 쉘을 사용할 때, 여러 가지 시작 파일(startup files), 초기화 파일(initialization files), 그리고 클린업 파일(cleanup files)이 중요한 역할을 합니다. 이들 파일은 사용자의 환경을 구성하고, 쉘 세션이 시작하거나 종료될 때 자동으로 실행되는 스크립트를 제공합니다. 시작 파일과 초기화 파일 /etc/profile 시스템 전체의 기본 환경 설정과 스타트업 프로그램을 위한 스크립트입니다. 모든 사용자가 로그인 쉘 세션을 시작할 때 자동으로 실행됩니다. ~/.bash_profile, ~/.bash_login, ~/.profile 사용자별 로그인 쉘 시작 스크립트입니다. 이 파일들은 사용자의 홈 디렉터리..

쉘의 내장 명령어(builtin commands)는 어떤 것들이 있나요?

쉘의 내장 명령어(builtin commands) 쉘의 내장 명령어(builtin commands)는 외부 프로그램이 아닌 쉘 자체에 의해 직접 실행되는 명령어입니다. 이 명령어들은 쉘 시작 시 메모리에 로드되므로, 별도의 실행 파일을 찾고 로드하는 데 필요한 오버헤드 없이 빠르게 실행됩니다. 대부분의 쉘 내장 명령어는 쉘 환경을 관리하고 구성하기 위한 것입니다. 내장 명령어 예시 cd (change directory) - 사용자가 다른 디렉터리(디렉터리)로 이동할 수 있게 합니다. pwd (print working directory) - 현재 작업 중인 디렉터리의 전체 경로를 출력합니다. echo - 주어진 문자열이나 변수를 출력합니다. export - 쉘 변수를 현재 환경으로 내보내어 다른 프로그램이..