Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

83 total results found

3. A First Script

Unix & Linux 셸 스크립팅 튜토리얼

파일을 실행 가능한 파일로 만들려면 실행 가능 비트를 설정해야 하며, 셸 스크립트의 경우 읽기 가능 비트도 설정해야 합니다: $ chmod a+rx first.sh $ ./first.sh 첫 번째 셸 스크립트로는 "Hello World"라는 스크립트를 작성하겠습니다. 그런 다음 지금까지 읽은 그 어떤 튜토리얼보다 헬로 월드 프로그램에서 더 많은 것을 얻으려고 노력할 것입니다 :-). 다음과 같이 파일(first.sh)을 만듭니다: #!/bin/...

4. Variables - Part I

Unix & Linux 셸 스크립팅 튜토리얼

현존하는 거의 모든 프로그래밍 언어에는 값을 할당하고 그 내용을 읽고 조작할 수 있는 메모리 덩어리의 상징적인 이름인 변수라는 개념이 있습니다. 본 셸(Bourne shell)도 예외는 아니며, 이 섹션에서는 그 개념을 소개합니다. 환경에 의해 설정되는 변수를 살펴보는 변수 - 2부에서는 이에 대해 더 자세히 설명합니다.첫 번째 Hello World 예제를 다시 살펴봅시다. 변수를 사용하여 이 작업을 수행할 수 있습니다(너무 간단한 예제라서 변수가 필요하지는 않...

5. 와일드카드(Wildcards)

Unix & Linux 셸 스크립팅 튜토리얼

와일드카드는 이전에 유닉스를 사용해 본 적이 있다면 전혀 새로운 것이 아닙니다.하지만 셸 스크립트에서 와일드카드가 어떻게 유용한지는 분명하지 않습니다. 이 섹션은 셸 스크립트에서 다양한 구문을 사용할 때 어떤 효과가 나타날지 예측하는 등, 오래된 회색 세포가 어떻게 보이는지 생각해보도록 하기 위한 것입니다. 이것은 나중에 특히 루프 섹션에서 사용될 것입니다.먼저 /tmp/a의 모든 파일을 /tmp/b로 어떻게 복사할지 생각해 보세요. 모든 .txt 파일? 모든 ...

6. 이스케이프 문자

Unix & Linux 셸 스크립팅 튜토리얼

예를 들어 큰따옴표(") 문자를 사용하면 공백 및 탭 문자가 처리되는 방식에 영향을 주는 등 특정 문자는 셸에 중요한 역할을 합니다: $ echo Hello World Hello World $ echo "Hello World" Hello World 그렇다면 Hello       "World"라고 출력하려면 어떻게 해야할까요? $ echo "Hello \"World\"" 첫 번째와 마지막 " 문자는 두 ...

7. 루프

Unix & Linux 셸 스크립팅 튜토리얼

대부분의 언어에는 루프라는 개념이 있습니다: 어떤 작업을 20번 반복하려면 매번 약간의 변경을 가하면서 코드를 20번 입력할 필요는 없습니다. 그 결과 본 셸에는 for 루프와 while 루프가 있습니다. 다른 언어에 비해 다소 적은 기능이지만, 셸 프로그래밍이 C의 힘을 가지고 있다고 주장하는 사람은 아무도 없습니다. For 루프 "for" 루프는 목록이 모두 소진될 때까지 값 집합을 반복합니다: #!/bin/sh for i in 1 2 3 4 5 d...

8. Test

Unix & Linux 셸 스크립팅 튜토리얼

test는 거의 모든 셸 스크립트에서 사용됩니다. 테스트가 직접 호출되는 경우가 많지 않기 때문에 그렇게 보이지 않을 수도 있습니다. test는 []로 더 자주 호출됩니다. []는 셸 프로그램을 더 읽기 쉽게 만들기 위해 테스트에 대한 기호적 링크입니다. 또한 일반적으로 셸에 내장되어 있습니다(즉, Unix 환경이 다르게 설정되어 있더라도 셸 자체에서 [ 를 테스트의 의미로 해석합니다): $ type [ [ is a shell builtin $ which ...

9. Case

Unix & Linux 셸 스크립팅 튜토리얼

case 문을 사용하면 if .. then .. else 문 전체를 살펴보는 수고를 덜 수 있습니다. 구문은 정말 간단합니다: #!/bin/sh echo "Please talk to me ..." while : do read INPUT_STRING case $INPUT_STRING in hello) echo "Hello yourself!" ;; bye...

10. Variables - Part II

Unix & Linux 셸 스크립팅 튜토리얼

이미 설정된 변수 집합이 있으며, 이러한 변수에는 대부분 값을 할당할 수 없습니다. 이러한 변수에는 스크립트가 실행 중인 환경에 대해 파악하는 데 사용할 수 있는 유용한 정보가 포함될 수 있습니다. 첫 번째로 살펴볼 변수 집합은 $0 ... $9 및 $#입니다. 변수 $0은 호출된 프로그램의 기본 이름입니다. $1 ... $9는 스크립트가 호출된 처음 9개의 추가 매개변수입니다. 변수 $@는 모든 매개변수 $1 .. 뭐든지입니다. 변수 $*는 비슷하지만 공백을...

11. Variables - Part III

Unix & Linux 셸 스크립팅 튜토리얼

4장('변수 - 1부')에서 언급했듯이 변수 주위를 괄호로 묶으면 혼동을 피할 수 있습니다: foo=sun echo $fooshine # $fooshine is undefined echo ${foo}shine # displays the word "sunshine" 하지만 이 멋진 괄호에는 이 외에도 훨씬 더 강력한 용도가 있습니다. 변수가 정의되지 않았거나(undefined), null인 문제를 처리할 수 있습니다(셸에서는 정의되지 않은 것과 null인 ...

12. External Programs

Unix & Linux 셸 스크립팅 튜토리얼

셸 스크립트 내에서 외부 프로그램이 자주 사용되는데, 몇 가지 기본 제공 명령(echo, which, test가 일반적으로 기본 제공됨)이 있지만 실제로 유용한 명령은 tr, grep, expr, cut 등 유닉스 유틸리티가 많습니다. 백틱(`)은 종종 외부 명령과 연관되기도 합니다. 따라서 백틱에 대해 먼저 설명하겠습니다. 백틱은 묶은 텍스트가 명령으로 실행될 것임을 나타내는 데 사용됩니다. 이것은 이해하기 매우 간단합니다. 먼저 대화형 셸을 사용하여 /et...

13. Functions

Unix & Linux 셸 스크립팅 튜토리얼

본 셸 스크립트 프로그래밍에서 종종 간과되는 기능 중 하나는 스크립트 내에서 사용할 함수를 쉽게 작성할 수 있다는 점입니다. 이 작업은 일반적으로 두 가지 방법 중 하나로 수행되는데, 간단한 스크립트의 경우 함수가 호출되는 것과 동일한 파일에 함수를 선언하기만 하면 됩니다. 그러나 일련의 스크립트를 작성할 때는 유용한 함수의 '라이브러리'를 작성하고 해당 함수를 사용하는 다른 스크립트의 시작 부분에 해당 파일을 소싱하는 것이 더 쉬운 경우가 많습니다. 이 방법은...

14. Hints and Tips

Unix & Linux 셸 스크립팅 튜토리얼

참고: 더 많은 힌트와 팁은 https://www.shellscript.sh/tips 에 자주 게시됩니다. 더 흥미롭고 최신의 힌트가 있는지 확인해 보세요. CGI 스크립팅과 같이 다소 학술적인 내용도 있습니다. 유닉스에는 텍스트를 조작하는 유틸리티가 가득하며, 이 튜토리얼의 이 섹션에서는 그 중 몇 가지 강력한 유틸리티에 대해 설명합니다. 여기서 중요한 점은 유닉스에서는 거의 모든 것이 텍스트라는 점입니다. 여러분이 생각할 수 있는 거의 모든 것이 텍스트 파...

15. Quick Reference

Unix & Linux 셸 스크립팅 튜토리얼

쉽게 추측할 수 없는 일부 명령어와 코드의 의미에 대한 빠른 참조 가이드입니다. 명령 / 변수 / 구문 구조 설명 예시 & 백그라운드에서 이전 명령 실행 ls & && 논리 AND if [ "$foo" -ge "0" ] &&[ "$foo" -le "9"] || 논리 OR if [ "$foo" -lt "0" ] || [ "$foo" -gt "9" ] (not in Bourne shell) ^ 라인의 ...

16. Interactive Shell

Unix & Linux 셸 스크립팅 튜토리얼

다음은 UNIX 또는 Linux 셸을 대화형으로 사용하기 위한 몇 가지 간단한 힌트입니다. 개인적으로 대부분의 대화형 셸은 거의 모든 *nix 버전에서 사용할 수 있으며 로그인 셸로 사용하기에 매우 편리하기 때문에 bash 셸을 추천합니다. 그러나 루트 셸은 bash 또는 본 셸을 가리키든 항상 /bin/sh여야 합니다. bash bash에는 위쪽 및 아래쪽 화살표 키로 이전 명령의 기록을 스크롤할 수 있는 매우 편리한 기록 검색 도구가 있습니다. 더 유용...

업로드 용량 변경(Changing Upload file size)

BookStack 간단 매뉴얼 자잘한 설정

북스택을 쓰면 항상 느끼는 것이 "와 아무렇게나 첨부파일을 올릴 수 있다!"도 있습니다. 하지만 용량때문에 업로드가 안될때가 있는데요, 이럴때는 설정을 바꿔줘야 합니다. 크게 바꿔줘야 하는 설정은 다음과 같습니다.  NginX 설정 변경 php.ini 설정 변경 BookStack 자체 설정변경 NginX 설정 변경 nginx.conf 또는 해당 사이트의 설정( .conf 파일)에서 다음 항목을 넣어줍니다. 특정 사이트만 용량을 올릴 필요가 ...

FreeBSD에서 apcupsd 설정

자질구래한 것들

apcupsd는 APC UPS의 정보를 읽어, 정전시 UPS에 연결된 컴퓨터의 동작을 지시하는 데몬입니다. 서버와 같이 UPS에 연결되어 있는 OS에서는 반드시 설치해야 합니다.  상황 APC UPS에 AP9631 Network Management Card가 설치되어 있는 상황입니다. UPS 자체에는 USB나 시리얼 케이블로 컴퓨터와 연결되어 있지 않습니다.  네트워크 카드의 자체 설정은 이미 되어 있는 것으로 간주합니다.  과정 딱 필요한 내용...

Certbot : 인증서 갱신과 삭제

자질구래한 것들

기본 준비 안 쓰는 인증서는 삭제를 해줘야 제대로 갱신이 됩니다.  80포트에 동작중인 웹서버가 있으면 안됩니다.  우선 80번 포트에 동작중인 웹서버가 있는지 확인합니다.  FreeBSD에서는 다음 명령을 사용합니다. IPv6를 사용하면 -4 대신 -6을 넣습니다. sudo sockstat -4 -l 우분투는 net-tools를 sudo apt install net-tools로 설치후 실행합니다.  netstat -tnlp | grep 80...

rsyncd.conf (작업중)

Manual

rsyncd.conf 파일은 rsync 데몬으로 실행할 때 rsync를 위한 런타임 구성 파일입니다. rsyncd.conf 파일은 인증, 액세스, 로깅 및 사용 가능한 모듈을 제어합니다. FILE FORMAT 파일은 모듈과 매개변수로 구성됩니다. 모듈은 대괄호 안의 모듈 이름으로 시작하여 다음 모듈이 시작될 때까지 계속됩니다. 모듈에는 name = value 형식의 매개변수가 포함됩니다. 파일은 줄 기반이며, 줄 바꿈으로 끝나는 각 줄은 주석, 모듈 이름...