tar(Tape Archive)는 다수의 파일을 하나로 묶을 때 사용한다. gz은 파일을 압축해 준다. tar가 압축의 일종으로 간주되지만 압축은 전혀 되지 않고 단순히 다수의 파일을 하나로 묶을 때사용되며, 압축이 필요한 경우 다양한 압축 유틸리티를 통해 압축한다. 압축하기 // tar로 묶기 $ tar -cvf [파일명.tar] [폴더명] // tar.gz 압축 $ tar -zcvf [파일명.tar.gz] [폴더명] 압축풀기 // tar 풀기 $ tar -xvf [파일명.tar] // tar.gz 압축 풀기 $ tar -zxvf [파일명.tar.gz] 역할 옵션 -c : 지정한 파일을 tar로 묶는다. (create) -x : tar를 압축 해제한다. (extract) -r : 묶인 tar에 새 파일..
프로그래밍 노트/Linux
파이프라인 표준 입력으로부터 데이터를 읽고, 표준 출력으로 데이터를 전송하는 명령어의 능력은 파이프라인이라고 하는 쉘의 기능으로 보다 더 응용될 수 있다. 파이프 연산자인 |(수직바) 기호를 사용하여 명령어의 표준 출력을 또 다른 명령어의 표준 입력과 연결이 가능하다. $ command1 | command2 $ ls -l /usr/bin | less 필터 파이프라인은 데이터의 복잡한 연산을 수행할 때 사용되는데, 하나의 파이프라인에 여러 명령어를 입력하는 것이 가능하다. 주로 이러한 방식을 사용하는 명령어들을 필터라 일컫는다. 필터는 입력 받은 내용을 어떻게든 바꾸어 출력하게 한다. $ cat /etc/passwd | sort | less -> passwd 파일의 내용을 정렬해서 보여준다. sort - ..
curl -vI https://www.naver.com 옵션관련 -I : 헤더요청만 받는다. HEAD메서드를 보내는 것과 동일 -v(verbos) : 동작하면서 자세한 옵션을 출력한다. curl -vI host 를 이용하면 host에 대한 인증서 정보를 볼 수 있다. https connection과정 정보도 같이 출력된다. 서비스를 할 때, certification 관련 expceion이 났다면 curl을 통해 간단하게 인증서가 정상인지 확인해 볼 수 있다.
locate - 파일명을 파일 위치 찾기 locate bin/zip find - 디렉토리 트리 내에서 파일 검색하기 xargs - 표준 입력으로부터 인자 목록을 만들고 실행하기 touch - 파일 시간을 변경하기 stat - 파일이나 파일시스템 상태 표시하기 find - 다양한 방법으로 파일 찾기 locate는 오로지 파일명으로 파일을 찾지만, find 프로그램은 다양한 속성에 근거하여 주어진 디렉토리를 검색하여 파일을 찾는다. # find [검색할 디렉토리명] 파일 형식 찾기 b : 블록 특수 파일 c : 문자 특수 파일 d : 디렉토리 f : 파일 l : 심볼릭 링크 파일 # find ~ -type f -name "*.JPG" -size +1M | wc -l # *.JPG와 일치하며, 1메가바이트보다..
입출력 방향 지정(I/O 리다이렉션) I/O는 입/출력을 뜻하고, 명령은 리다이렉션을 통해 파일을 입력받을 수 있고, 또한 파일로 출력할 수 있다. 뿐만 아니라 강력한 명령어 파이프라인을 만들기 위해서 필요한 명령어들을 연결할 수 있다. cat : 파일 연결하기 sort : 텍스트 라인 정렬 uniq : 중복 줄을 알리거나 생략하기 wc : 각 파일의 개행 및 단어 개수, 파일 바이트 출력하기 grep : 패턴과 일치하는 라인 출력하기 head : 파일 첫 부분 출력하기 tail : 파일 마지막 부분 출력하기 tee : 표준 입력을 읽고 표준 출력 및 파일에 쓰기 파일 입출력과 표준 오류 ls와 같은 프로그램은 사실 표준 출력(stdout) 이라고 불리는 특수한 파일에 이 명령어에 대한 결과를 보내고 표..
소개 rsync는 Remote Sync의 약자로 여러가지 옵션을 이용해 원격 또는 로컬에 파일을 전송하는 툴이다. rsync remote-update protocol을 이용하여 로컬과 원격 디렉토리 모두 동기화함. 사용법 rsync [options ...] [source] [target] 옵션 -v : verbose를 높이는 옵션으로 복사하는 과정을 더 자세하게 보여줌 -z : compress를 주는 옵션으로 파일을 복사할 때 압축해서 복사 -h : 사람이 읽기 쉬운 형태로 복사 결과들을 출력해줌 -r : 재귀적으로 하위 디렉터리까지 복사(전송시 타임스탬프나 permission을 보존하지 않음) -l : symlink형태로 복사하는 옵션 -p : 파일과 디렉토리들의 권한을 유지하는 옵션 -t : 수정시간..
흐름 제어 : if 분기 if의 사용 x=5 if [ $x = 5 ]; then echo "x eqauls S." else echo "x doesn not equal S." fi if commands; then commands [elif commands; then commands...] [else commands] fi test의 사용 if 명령어와 가장 흔하게 사용되는 명령어는 test이다. 다양한 검사와 비교 작업을 수행할 수 있는데 두 가지 형태로 사용된다. test expression [expression] # 더 많이 사용됨 파일 표현식 자주 사용되는 파일 표현식. 링크에서 퍼왔으며, 사실 더 많이있다.. https://www.oreilly.com/library/view/unix-text-pro..
쉘 스크립트란? 명령어들이 나열되어 있는 파일. 쉘은 이 파일을 읽어서 마치 커맨드라인에 직접 명령어를 입력하여 실행하는 것처럼 수행 쉘 스크립트 작성 방법 스크립트 작성하기 스크립트를 실행파일로 설정하기 쉘이 접근할 수 있는 장소에 저장하기 스크립트 파일 포맷 #!/bin/bash echo 'Hello World!'실행 퍼미션 스크립트에 실팽 퍼미션을 설정하는 일반적인 방법은 두가지이다. 퍼미션 755 설정 : 모든 사용자에게 실행 권한이 주어짐 퍼미션 700 설정 : 소유자만 실행 가능 여기서 중요한 점은 실행을 위해 항상 읽기 권한이 설정되어야 한다는 것이다. 스크립트 파일 저장 위치 스크립트를 실행하기 위해 스크립트명 앞에 정확한 경로명을 입력해줘야 한다. $ ./hello_worl..
연산자 expr : 숫자 계산를 할 때 사용 (역 작음 따옴표 (`)를 사용해야 함) 연산자 *와 괄호() 앞에는 역슬래시를 넣어야함. 연산자 숫자, 변수, 기호 사이에 space를 넣어야함 num=`expr \( 3 \* 4 \) + 2` echo $num 조건 파일 검사 -e 파일명 # 파일이 존재하면 참 -d 파일명 # 파일이 디렉토리면 참 -h 파일명 # 심볼릭 링크파일 -f 파일명 # 파일이 일반파일이면 참 -r 파일명 # 파일이 읽기 가능이면 참 -s 파일명 # 파일 크기가 0이 아니면 참 -u 파일명 # 파일이 set-user-id가 설정되면 참 -w 파일명 # 파일이 쓰기 가능 상태이면 참 -x 파일명 # 파일이 실행 가능 상태이면 참 문자 문자1 == 문자2 # 문자1 과 문자2가 일치 ..
쉘 스크립트 쉘을 사용해서 프로그래밍을 할 수 있으며, 서버 작업의 자동화를 위해 필요하다. 기본문법 파일의 위의 첫 라인은 "#!/bin/bash" 로 시작해야한다. 쉘 스크립트는 실행 권한(x)을 가져야 한다. 변수선언 = 를 이용해서 선언하고 $를 이용해서 사용 (공백은 허용되지 않는다.) {}는 parameter substitution으로 $와 함께 감싼 부분에 변수를 대입해준다. #!/bin/bash word="abc" num=10 echo "${word}" echo "${num}" 기본 출력 echo, printf $# : 스크립트에 전달되는 인자들의 수 $0 : 실행된 스크립트명 $1, $2 ... : 스크립트로 전달된 인자들 (sh test.sh param1 param2 일 경우 $1은 p..