인파

You Can Become A

늦게 시작해도 누구든지 노력하면 개발자가 될수 있어요 !

공부한 내용을 정리합니다
OS/Linux

🐧 IFS(Internal Field Separator) 알기 쉽게 정리

BASH IFS IFS는 Internal Field Separator의 약자로 외부프로그램을 실행할 때 입력되는 문자열을 나눌 때 기준이 되는 문자를 정의하는 환경 변수이다. 터미널에서 환경변수를 출력해보면 공백문자가 출력 됨을 볼 수 있다. IFS는 디폴트 값은 공백/탭/개행 문자다. (space, tab, new line) 쉘 스크립트에서 for in 문법을 보면, 공백문자로 띄워진 하나의 문자열이 마치 배열처럼 하나씩 순회하는 것을 볼 수 있을 것이다. #!/usr/bin/bash mystring="foo bar baz rab" for word in $mystring; do echo "Word: $word" done $ bash script.sh Word: foo Word: bar Word: baz..

category_image
인파_
2022.03.21
(0)
OS/Linux

🐧 리눅스 Date 명령어 사용법 (날짜 포맷)

Date 명령어 리눅스 터미널에서 시스템 날짜를 알고 싶을때 사용하는 명령어가 대표적으로 date가 있다. 이외에도 다양한 옵션을 주면 다양한 날짜 포맷으로 변환해 사용할 수 있으며 과거 날짜 구하는 등 단순해 보이지만 정말 다양한 역할을 하는 명령어다. date 명령어 사용 대표적인 예) 시스템 서버 시간 설정 설정되어 있는 날짜 값을 원하는 형태로 얻기 과거 미래 덧셈 뺄셈 등 원하는 날짜 출력하거나 차이 구하기 # format : 형식을 지정하기 위한 문자열 '+ %m/%d/%y %H:%M' 과 같이 사용할 경우 '11/11/20 17:11'과 같이 출력 됨. $ date [option] [+FORMAT] # mmddhhmm : 월, 일, 시간, 분을 나타내는 8자리 숫자로 super user가 시..

category_image
인파_
2022.03.20
(0)
OS/Linux

🐧 expr & bc 명령어 정리 (정수 / 실수 연산)

expr & bc 명령어 쉘에서는 숫자와 문자를 구분하지 않기 때문에 여타 프로그래밍 언어 처럼 숫자 연산이 간단하지 않다. 쉘에서 숫자를 연산하는 방법은 대표적으로 expr 와 bc 명령어가 있다. expr은 bash 내장 명령어로 정수만 연산 가능하다. bc는 복잡한 공학용 산술과 실수 계산이 가능하다. 여기까지 보면, 차라리 bc만 쓰면 될것을 굳이 expr을 알아야 하는지 의문이겠지만, 정수 연산이 많은 프로그래밍을 할 경우 내장 명령어인 expr을 사용하는것이 속도면에서 효율적이기 때문이다. expr 명령어 expr 명령은 정수 계산을 하기 위해 사용되는 명령이다. 계산식을 쓸 때 연산기호와 정수 사이 반드시 공백으로 띄어쓰기를 해야 한다는 주의 점이 있다. $ expr 4 \* 3 12 $ e..

category_image
인파_
2022.03.19
(0)
OS/Linux

🐧 리눅스 Alias 설정 & 사용법 정리 (+ 단축 예제 TIP)

리눅스 Alias 설정 Alias는 명령어를 간소화하여 다른 이름으로 사용할 수 있도록 해주는 쉘내부 명령어이다. 즉 복잡한 명령어나 여러 옵션을 사용하는 명령어를 간단한 이름으로 사용할 수 있도록 하는 명령어이다. alias는 간단히 alias명령으로 설정이 가능하다. # 현재 등록되어있는 모든 alias 출력 $ alias # ls -asl을 lss만 쳐도 실행될수 있게 별칭 설정 $ alias lss='ls -asl' # 별칭 삭제 $ unalias lss 그러나 이 방법은 시스템을 재부팅하고나면 다시 초기화되므로 매번 적용해야 하는 불편함이 따르게 된다. 그래서 이러한 alias를 특정 파일에 설정해두면 매번 부팅시마다 자동으로 적용되게 할 수 있는데, 가장 대표적인 것은 ~/.bashrc 파일로..

category_image
인파_
2022.03.18
(0)
OS/Linux

🐧 BASH 쉘 프로그래밍 문법 마스터 💯 총정리

Shell Script 란 Shell Script는 Shell이나 command line 인터프리터에서 구동되도록 작성된 스크립트다. 윈도우에서는 batch(배치파일, .bat) 을 한번쯤은 본적이 있을 것이다. bat 파일을 실행하면 프로그램이 자동으로 혼자 쭉쭉 실행되는데, 이러한 bat파일의 리눅스 버젼이 바로 shell script라고 봐도 된다. 물론 윈도우와 리눅스의 스크립트는 서로 다른 문법으로 작동된다. 정리를 하자면, 우리가 터미널에서 한땀한땀 입력했던 여러 명령어들을 하나의 스크립트 파일에 나열하여, 스크립트 파일이 자동으로 실행 함으로 효율적이면서 간편하게 작업 처리를 할 수 있는 것이다. 다만 Shell Script는 Interpreter 방식이므로, 한줄 한줄 읽어 실행함으로 다소..

category_image
인파_
2022.03.14
(0)
OS/Linux

🐧 Vi / Vim 에디터 다루기 명령어 💯 총정리

VI / VIM 에디터 파일을 작성하거나 수정하기 위해서는 편집기가 필요하기 마련이다. 윈도우에서는 메모장을 편집기의 기본으로 지원하는 반면, 리눅스에서는 기본 편집기로 vi 편집기를 지원한다. 처음에는 단축키를 익혀야 하기 때문에 진입장벽이 높은 편이지만, 익숙해지기만 한다면 마우스로 하나하나 클릭하는것이 아닌 단축키만으로 모든 작업이 가능하기 때문에 더욱 더 빠르게 작업이 가능하다는 장점을 가진다. VIM은 Vi IMproved의 약자 이다. 즉, vi에디터를 업그레이드 시킨 것이 vim에디터라고 생각하면 된다. vi는 텍스트 편집에 필요한 최소한의 기능만을 가지고 있어서 사용하기 불편하다. 흔한 문법 강조 기능도 없다. 반면에 vim은 강력한 기능들이 많이 추가되어 있다. vim은 리눅스에서도 많이..

category_image
인파_
2022.03.13
(0)
OS/Linux

🐧 쉘 특수문자 기호 사용 정리 (와일드카드 / 인용부호 / 다중명령어)

리눅스 터미널 커맨드 특수문자 정리 리눅스 터미널 쉘에선 일부 특수문자는 사전 정의되어 있다. 이를 쉘 메타 문자라고 하는데, 쉘 명령에서 사용하는 문자들 중 사전에 정의된 특별한 기능대로 동작하는 약속된 기호라고 이해하면 된다. 리눅스 디렉토리 기호 문자 설명 ~ 홈 디렉토리 - 이전 작업 디렉토리 롤백 . 현재 디렉토리 .. 상위 디렉토리 cd ~ # 홈 디렉토리 이동 cd - # 이전 작업 디렉토리로 롤백 리눅스 히스토리 기호 문자 설명 ! history 명령어에는 고유의 식별번호가 존재하는데, 느낌표+식별번호를 입력하면 해당 번호의 명령어가 실행 !! 바로 직전에 사용한 명령어를 실행 !-번호 마지막 명령어로부터 뒤로 번호만큼 째 명령어를 재호출 한다는 의미 !-2 는 마지막에서 두번째 명령어 호..

category_image
인파_
2022.03.12
(0)
OS/Linux

[LINUX] 📚 find 명령 mtime/mmin 옵션 +n, -n 개념 정리

리눅스 타임스탬프 리눅스에서 파일의 시간 정보(Timestamps)를 기록하는데 inode 라는 곳에 저장이 된다. inode에 저장되는 시간정보는 ctime, mtime, atime이 존재한다. $ stat [파일명] atime (access time, 접근 시간) atime은 파일에 접근한 시간을 나타낸다. 파일을 open 할 때마다 갱신이 되며 vi, cat 명령으로 파일 확인시 atime의 값이 변한다. $ ls -lu mtime (modification time, 수정 시간) 파일의 내용이 수정될 때 mtime 시간이 변한다. $ ls -l ctime (change time, 변경 시간) inode의 값 (파일 속성, 권한, 크기 등)이 변경되면 ctime이 갱신된다. $ ls -lc find ..

category_image
인파_
2022.03.10
(0)
OS/Linux

[LINUX] 📚 서버 상태 확인 명령어 (vmstat) 💯 정리

리눅스 서버 상태 정보 체크하기 vmstat (virtual memory stat) vmstat 는 리눅스의 프로세스, 메모리, 페이징, I/O 블럭, CPU 활동 사항들의 정보를 출력하는 기능을 한다. 보통 엔지니어링을 하면서 시스템이 느려지거나 하는 요청들이 왔을 때 서버에 문제가 없는지 점검할 때 사용하는 편이다. $ vmstat [옵션] [delay] [count] # delay : 결과가 출력되는 주기를 의미한다. 이 값을 지정하지 않으면 한 번만 수행하고 종료된다. # count : 데이터를 몇 번이나 출력할지를 의미한다. 이 옵션을 지정하지 않고 백그라운드 작업으로 수행할 경우, 작업자가 명시적으로 이 명령어를 죽이지 않는 한 계속 수행한다. 옵션 설명 -n 주기적으로 헤더를 출력하지 말고,..

category_image
인파_
2022.03.09
(0)
OS/Linux

🐧 리눅스 CPU / 메모리 / 디스크 / 네트워크 정보 명령어

CPU 정보 확인 현재 시스템의 cpu정보는 /proc/cpuinfo 파일 안에 상세히 적혀져 있다. 다만 core 당 정보를 한페이지씩 출력하기 때문에, 코어가 많아질수록 페이지가 길어죠 more 옵션을 통해 확인하는 것이 좋다. cat /proc/cpuinfo 명령어 $ cat /proc/cpuinfo 위의 결과에서 중요한 것들 일부 processor, model name, siblings, cpu cores 정도만 알아 두면 좋다. # CPU 코어 전체 개수 $ grep -c processor /proc/cpuinfo > 4 # 현재 PC의 가상 CPU 코어 수는 4개 # 물리 CPU 개수 $ grep ^processor /proc/cpuinfo | wc -l > 4 # 현재 PC의 물리 CPU 수..

category_image
인파_
2022.03.08
(0)
OS/Linux

[LINUX] 📚 xargs 와 pipe 차이점 완벽 정복 (표준입력 / 인자 차이)

xargs 명령어 기본적인 명령어 뒤에 파이프로 추가하여 사용 파이프 이전에 명령을 인자로 받아 명령어를 실행하는 구조 xargs 유틸리티를 사용하여 표준 입력에서 명령을 작성하고 실행할 수 있다. xargs를 사용하는 가장 기본적인 예는 pipe to xargs를 사용하여 공백으로 구분된 여러 문자열을 전달하고 해당 문자열을 인수로 사용할 명령을 실행하는 것이다. # file1 file2 file3 이라는 문자열을 touch 의 인수로 넘겨주어, # touch file1 file2 file3 명령을 수행한것과 같은 결과를 준다. (빈파일 3개 생성) echo "file1 file2 file3" | xargs touch xargs 옵션 -a : 표준 입력 대신 파일에서 항목을 읽음, 이 옵션을 사용하여 ..

category_image
인파_
2022.03.04
(0)
OS/Linux

[LINUX] 📚 정규표현식 과 grep 명령어 정복하기 [패턴 검색] [확장브래킷]

파일/디렉토리 패턴 검색 리눅스를 사용하다 보면 로그파일이나, 텍스트 파일에서 특정 문자열을 찾을 때, 혹은 디렉터리 내에서 특정 문자를 포함하는 파일을 찾을 때와 같은 경우가 생긴다. 바로 이떄 사용하는 명령어인 $ grep 은 입력으로 전달된 파일의 내용 혹은 디렉토리에서, 파일내용이나 파일이름의 특정 문자열 패턴을 찾고자할 때 사용하는 명령어 이다. $ grep [옵션] [패턴] [파일명] $ 다른 명령어 | grep [패턴/파일명] # 파이프와 연결해서 자주 사용된다. grep 은 global / regular expression / printprint에서 각각의 머릿글자를 따 온 것이며, find와 함께 리눅스에서 가장 많이 사용되는 명령어 중 하나이다. 특히 tail이나 ls 등 다양한 명령어..

category_image
인파_
2022.02.16
(0)