목록Network/Linux (20)
지니의 따듯한 공간
대부분의 프로그래밍 언어에서 제공하는 배열에 대해 알아보자. 배열이란 연속적으로 할당된 기억공간으로 여러 데이터를 저장하기위해 사용된다. 쉘에 서 배열을 생성하는 방법은 다음과 같다. 배열에 값을 할당하는 방법은 두가지가 있다. 첫번째는 배열의 각 원소에 다음과 같이 값을 할당한다. 두 번째 방법은 아래와 같이 배열 이름에 여러개의 값을 할당하는 것 배열 원소의 값을 출력하려면 아래와 같이 중괄호({})를 이용한 변수 확장을 하면된다. 원소를 확인 할 때에는 중괄호 확장을 반드시 해 주어야 한다. 보통은 우리가 알다시피 days= ( 인자, 인자, 인자) 이런식으로 하는게 보편적이다. C언어 에서와는 다르게 {}로 배열의 값을 넣는 것이 아니라, () 로 값을 넣는 점을 주의 하자 쉘 만이 가지고있는 특..
명령어의 커맨드라인 옵션과 인자를 저장하는 위치 매개변수에 대해 알아 보자. 쉘은 명령어(쉘스크립트, 쉘함수) 실행 시 커맨드라인 전달값(옵션과 인자)을 저장하고 있는 위치 매개변수라는 변수의 집합을 제공한다. $# 위치매개변수의 숫자를 반환 스크립트 파일은 기본적으로 명령어가아니다. 명령어처럼 하기 위해서 실행권한을 주고 실행을 한다. ex) chmod +x [파일명] ./파일명 [인자] [인자] [인자] $# : 순수 인자 확인하는 변수 실제 명령어를 제외하고 순수 인자(값을 가진 인자)가 4개 있다. 실제 명령어를 제외하고 순수 인자(값을 가진 인자)가 3개 있다. 만약, 인덱스 보다 더 많은 인자 값이 들어온다면 ? 명령라인 인자 전달 값 중에서 10번째 단어부터(0 a b c)는 위치 매개변수(..
이번 장에서는 리눅스 쉘 스크립트 작성 시 반복문으로 활용가능한 while문, until문, for 문의 사용법에 대해 알아보자. while문은 쉘에서 명령어들을 반복 수행하는 반복문으로 사용된다. while문의 사용 형식 은 다음과 같다. while condition_commands; while문은 조건명령어(condition_commands)가 참(종료상태값이 0)인 동안, 반복 명령어 (commands)를 반복 수행한다. (( )) 처럼 괄호 두개 사용되면 수식 테스트 6번 라인에 저 명령어 대신에 let count+=1 (let 명령어 사용) (( count++ )) 도 가능하다. 쉘에서의 주석은 # 이다 REPLY = // 기존의 REPLY값을 지운다. DELAY = 3초동안 딜레이 (멈춘다.)..
대화식 모드 사용자로 부터 입력을 받아서 결과를 실행 하는 것 스크립트를 사용자와 대화식 모드로 실행할 수 있도록 쉘에서 키보드를 통한 변수값을 입력받는 방법에 대해 알아보자 ! 그리고, if문에 이어 case문을 이용한 선택문 작성방법에 대해서도 알아보자 ! read 명령어는 키보드로부터 변수값을 입력받기 위해 사용하는 명령어이다. read 명령어 사용 형식은 다음과 같다. read 명령어 다음에 입력값을 할당할 변수(variable)를 지정하지 않으면 미리 정의된 쉘 변수 REPLY에 변수 값이 담긴다. 변수는 3개인데 입력 값이 2개 일 경우 -> 마지막 변수에는 null 값 변수는 3개인데 입력값이 4개일 경우 -> 마지막 변수가 싹 다 가져간다. 다음은 read 명령어의 옵션에 대해 알아보자. ..
etfacl [파일 이름] 파일 권한에 관한 정보 , 소유자 chmod는 그룹, 사용자 단위로 권한 설정 할 수있다. acl은 일정 사용자만 지정 할 수있다. (범위로 ip영역으로 지정도 가능) 그룹속의 어떤 사용자에게만 권한을 주겠다. -> 이럴 때 acl 사용 [user이름] : rwx // 해당 유저에게만 권한 부여 file1에 user1에게 관해서만 읽고 쓰기 권한을 부여. setfacl -m u:[유저이름]:[권한 ,r,w 등] [파일명] dir1 디렉토리에 user1 사용자와 user1 그룹에 rwx 권한을 부여하고, other 권한을 rx로 부여 setfacl -m u:user1:rwx,g:user1:rwx,o::rx dir1 // : 지정안하고 :: 하면 모두의 개념
많은 텍스트기반 커맨드라인 툴과 대부분의 프로그래밍언어에서 텍스트 패턴 인식을 위해 사용하는 정규 표현식에 대해 알아보자. 정규 표현식이란? 정규 표현식은 텍스트에서 패턴을 인식하는 심볼 표기법이다. 앞서 배운 경로명 확장에서 사용되는 와일드카드 방식과 유사하지만 보다 웅장한 규모이다. 정규 표현식은 많은 커맨드라인 툴과 프로그래밍언어에서 제공되다보니 정규 표현식의 표현법이 도구나 언어 들 마다 조금씩 다른다는 문제점이 있다. 대부분의 커맨드라인 툴이 다루는 POSIX 표준의 정규 표현식을 중심으로 확장 정규 표현식의 일부를 알아보자. grep 명령어 grep (grobal regular expression print) 명령어는 입력 텍스트 파일들에서 지정된 정규 표현식과 일치하는 행를 찾아 출력하는 명..
먼저 filename 변수에 '~.bashrc' 라는 값을 대입하고 쉘에서 실행한다. (실행파일의 변수안에 값을 먼저 담아야 하기 때문) / set nu : line 값 출력 / end line 명령어창 : w [파일이름] {write 파일이름} - 다른이름으로 저장 >, , >=,
printenv | more : 환경 변수 목록 보기 내가 확인하고자 하는 환경변수 확인, 두 명령어는 같은 기능 특정 환경 변수의 값을 확인하고 싶으면 printenv 명령어와 환경 변수이름을 같이 사용하거나, 변수 확장($VAR)을 이용 쉘 변수 = 같은 쉘에서만 공유가 된다. ( 변수명 = 값 ) 환경변수 = 모든 쉘에서 공유가 된다. ( export 변수명 = 값 ) exit 명령어는 현재 쉘은 종료시키면서 종료 상태 값을 반환 return 명령어는 return 명령어가 사용된 함수나 스크립트를 종료시키면서 종료 상태 값을 반환 종료 상태 값으로 0이 반환되면 정상(성공) 종료를 의미 0이 아닌 정수값이 반환되면 비정상 (실패) 종료를 의미 리턴 값은 $? 매개변수 확장을 통해 확인 가능 자식 쉘..