분류 전체보기59 [func] fcntl fcntl은 파일들의 특성 제어를 위해 제공하는 함수이다. #include #include int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct flock *lock); 첫 번째 fd는 open,socket 등의 시스템 호출을 통해서 만들어진 file descriptor이다. 두 번째 cmd를 통해 fd에 대한 특성을 제어할 수 있다. cmd command description 비고 F_DUPFD fd를 복사하기 위해 사용한다. F_DUPFD 를 사용할경우 arg 와 같은 크기의 파일지정자를 되돌려주거나, 이미 사용되어지고 있다면, arg 보다 큰 할당가능한 파일지정번호중 가장 작.. 2020. 4. 7. Patch file 만들기(git diff 활용) 0. diff 명령을 이용한 patch 생성 git diff를 이용한 patch를 만드는 것을 알아보기 이전에 고전적으로 diff를 이용한 patch파일 생성 a) 패치파일 생성 diff [옵션] [원본파일] [수정파일] > 패치파일.patch diff옵션 옵션 description -u 통일된 출력 포맷을 사용한다. 디렉토리를 비교할 때, 두 개의 디렉토리 중 두 번째 디렉토리에만 파일이 존재한다면, 첫 번째 디렉토리에는 사실 파일이 없지만 있는 것처럼 처리한다 -r 두 디렉토리를 비교할 때, 모든 서브 디렉토리는 재귀적으로 비교한다. -N 비교하는 디렉토리에 파일이 하나의 디렉토리에만 있다면, 모두 있는 것처럼 처리를 하지만 사실은 다른 한 디렉토리에는 파일이 없다. diff를 이용한 patch 생성.. 2020. 3. 4. [cmd] md5sum 지정된 파일을 md5(Message-Digest algorithm 5)라는 해시 알고리즘으로 체크섬(check sum) 값을 계산하는 명령어 입력된 파일을 30자 정도의 문자열로 축약한 값을 출력해 준다. 조금이라도 데이터가 변경되면 체크섬 값은 달라진다. 이를 활용하여 대용량의 파일을 전송하다 보면 네트워크 장애 등의 원인으로 파일에 손상이 발생할 수 있는데, 이때 내가 전송받은 파일이 중간에 손실 없이 잘 다운로드 되었는지 확인하고자 할 때 내가 받은 파일의 md5 체크섬을 계산하여, 원본파일의 체크섬과 비교해서 동일성을 검증할 수 있다. md5sum 예시 위와 같이 원본은 같은데 이름만 다른경우 같은 체크섬을 반환한다. test.txt -> fd25e77.... test2.txt -> fd25e77.. 2020. 3. 4. [func] read 쉘 스크립트에서 read 명령을 사용하면 사용자 입력을 읽어올 수 있다. #!/bin/bash age=0 read -p "나이를 입력하세요: " -t 4 age echo "$age 살 입니다." 위의 예제를 살펴보면 -p 옵션의 경우 read의 입력할때 프롬프트 창에 띄울 문자열을 사용한다는 것이다. 위와 같이 입력에 대한 설명 등을 기재할 수 있다. -t옵션의 경우 뒤에 오는 숫자만큼 입력을 대기한다. 위의 예제의 경우 4초를 기다린다는 뜻이다. read 옵션 -t [seconds]: seconds 만큼 입력대기 -s: 시크릿 모드, 입력시 입력한 문자가 출력되지않는다. -n [num]: num만큼 입력 받는다. -r: 백슬래시(\) 기호를 이스케이프 문자로 인식하지 않는다. 2020. 3. 4. 조건문(If문) (작성중...) 기본적인 if ... elif ... else 식 # If문 기본 형태 if [ 조건문1 ];then 수행문1 elif [ 조건문2 ]; then 수행문2 else 수행문3 fi 조건문 양 옆의 '['와 ']' 사이에는 무조건 공백으로 띄어져있어야한다. (공백이 없으면 스크립트 실행시 에러!!!) 흔히 알고 있는 if문의 조건식(==, !=)과 다르게 쉘 스크립트에서는 다양한 조건을 옵션으로 제공한다 Shell Script 옵션 종류 문자열체크 [ string ] - 문자열이 널(NULL)인지 체크, Null이 아니면 참 [ -n string ] - 문자열의 사이즈가 0 이상인지 체크, 0 이상이면 참 [ -z string ] - 문자열의 사이즈가 0 인지 체크, 0이면 참 [ string1 = stri.. 2020. 2. 11. 이전 1 ··· 7 8 9 10 다음 728x90