Infra/Linux
make utility - 빌드를 편리하게!
make utility - 빌드를 편리하게!
2021.02.11make utility 프로젝트 빌드에 필요한 명령들을 Makefile 이라는 파일 내에 기술하여, 파일의 내용에 따라서 편리하게 프로젝트를 빌드할 수 있는 utility Makefile 생성 및 작성 프로그램 빌드 - make main 빌드 리셋 - make clean(현재까지 만들어진 모든 컴파일 결과물을 제거) make 프로그램 컴파일 / 빌드 작업을 실행할 때 사용하는 파일(Makefile)을 다루고 사용하는 유틸리티 Makefile make 실행 시 읽어들여 이 파일의 내용에 따라서 작업이 수행됨 make 사용 시 장점 프로젝트 빌드와 관련된 반복적인 명령들을 일괄적으로 실행함으로써 시간을 절약할 수 있다. 프로젝트 내의 파일 간 종속구조를 빠르게 파악할 수 있어 프로그램 소스 관리에 도움이 된..
Linux Command : more
Linux Command : more
2021.02.11more [option] file 파일의 내용을 읽어서 Shell에 단위로 끊어서 출력하도록 하는 명령어 이전에 언급했듯이 명령어와 반대되는 느낌의 명령어이다 - 뒤에서 그 이유를 살펴보도록 하겠다. 이 명령어는 위에서 아래 방향으로만 출력하기 때문에 한번 지나간 내용은 다시 볼 수 없다는 단점이 있다. 예시로 history 명령의 출력내용을 파이프라인 ' | ' 연산자를 이용해서 more.txt 라는 파일에 저장했다. 이 파일은 1000라인이 넘는 상당히 많은 내용을 저장하고 있는 파일이다. 이를 통해서 more명령어를 사용해보고 less 명령어와의 차이점을 살펴보자. 그렇다면 이에 반해 명령어 less를 사용하면 어떻게 될까? more의 경우 한번 스페이스바를 눌러서 다음 내용으로 넘어가면 이전의..
Linux Command : tee
Linux Command : tee
2021.02.10tee [option] file 어떠한 출력문을 Shell에서 출력함과 동시에 파일에도 동시에 저장하는 명령을 수행하는 명령어 리다이렉션을 이용하면 출력문을 파일에 저장을 할 수는 있지만 Shell 상에서는 볼 수 없게되는 데 이러한 문제를 tee 명령어가 아주 훌륭하게 해결해준다. 다음과 같이 tee 명령어는 shell 상에서 출력되는 메시지들을 별도로 파일로 저정해두고 싶을 때 다음과 같이 유용하게 사용할 수 있다. 그리고 tee 명령어는 몇가지 옵션을 지원하는 데 그 옵션들과 해당하는 기능들은 다음과 같다. -a : 출력되는 내용을 해당파일에 덮어쓰지 말고 추가하는 방식으로 입력 (이 외의 옵션들은 아직 이해가 어려우므로 차후에 다루도록 하겠다.)
Linux Command : tail
Linux Command : tail
2021.02.10tail [option] file head와는 반대로 파일의 뒷부분의 내용을 출력하는 명령어 사용법은 head와 거의 동일하다. 이전에 head 명령어를 공부하면서 사용했던 sample3.txt를 동일하게 사용해보도록 하겠다. head와 동일하게 옵션을 사용하지 않을경우 기본값은 10 라인으로 되어 있으며 head에서 출력하는 라인수를 조절하기 위해 사용해서 옵션 - 숫자 를 사용하면 동일하게 처리되는 결과를 확인할 수 있다. tail도 head처럼 이 이외의 여러가지 옵션들을 지원한다. 이 추가적인 옵션들에 대한 내용은 차후에 더 자세히 다루는 것으로 하겠다.
Linux Command : head
Linux Command : head
2021.02.10head [option] file 파일의 앞부분 내용을 보여주는 명령어 주로 대용량이 로그파일이나 문서파일을 다룰 때 행 수를 지정할 수 있어서 보고자 하는 분량을 조절하는 것이 가능하다. 뒤에서 다루게 될 tail 명령어와 함께 사용되는 경우가 많다. 본 사진은 작성자가 만든 sample3.txt의 일부 내용을 보인 것이다. 출력 내용을 보면 알겠지만 history 명령어의 출력결과를 저장한 것이다. sample3.txt 파일은 900라인이 넘는 많은 내용이 저장된 파일이지만 head 명령어를 사용하니 처음 10 라인만을 출력해준다. 여기서 옵션을 사용하면 출력할 라인 수를 사용자가 조절할 수 있는데 사용법은 다음과 같다. head [-count] file head는 이외에도 많은 옵션을 가지고..
Linux Command : wc
Linux Command : wc
2021.02.10wc [oprion] file 해당 파일의 라인 수, 단어 수, 문자 수 정보를 출력하는 명령어 wc도 다양한 옵션을 지원하는 데 각 옵션들에 대한 기능은 다음과 같다. -c : 문자 개수만 보여줌 -m : 캐릭터 수만 보여줌 -l : 라인수만 보여줌 -w : 단어 수만 보여줌 -L : 가장 긴 문장의 길이를 보여줌 여기서 보면 -c 와 -m은 같은 출력 결과를 보이는 데 왜 이러한 결과가 나오는 지는 차후에 이어서 설명하는 것으로 하겠다.
Linux Command : grep
Linux Command : grep
2021.02.10grep [option] [pattern] file 파일에서 특정한 패턴(문자열)을 탐색하는 명령어 grep 명령어는 탐색을 진행해서 해당 문자가 들어있는 파일을 찾아서 해당문자가 있는 행을 출력해준다. 다음과 같이 검색한 문자열을 바탕으로 해당 파일내에서 검색을 진행하여 이를 포함하고 있는 문자열들을 따로 보여준다. 만약 해당 파일내에 없는 문자열을 입력한다면 따로 없다는 메시지는 뜨지 않고 그냥 출력내용이 없이 명령어가 마무리 된다. grep도 다양한 옵션을 지원한다. grep의 다양한 옵션에 대한 내용들은 차후에 뒤에서 다시 다루는 것으로 하겠다.
Linux Command : uniq
Linux Command : uniq
2021.02.10uniq [option] command 파일(txt)의 내용을 출력할 때 중복되는 내용을 삭제하고 출력하도록 하는 명령어 uniq 명령어는 중복된 내용의 행이 연속으로 나타날 경우 하나만 남기고 나머지 내용을 삭제하고 출력한다. 단, 이는 연속으로 나타나는 경우에만 가능하며, 전체적으로 분산된 중복은 찾아내지 못한다. 그래서 보통 sort를 이용해서 정렬을 먼저하고 그 다음에 중복을 삭제하는 등의 방식으로 활용되는 것이 일반적이다. 다음과 같이 연속된 행으로 중복된 내용들이 입력되어 있는 파일을 대상으로 uniq 명령어를 사용하면, 다음과 같이 각각 한 개씩만 남기고 중복되는 내용들이 삭제 후 출력되는 것을 확인할 수 있다. uniq는 또한 다양한 옵션을 지원하는 데 그 옵션의 종류와 그 기능들은..
Linux Command : sort
Linux Command : sort
2021.02.10sort [option] filename txt 파일의 행단위 정렬을 수행하는 명령어 다음과 같이 정렬 예시를 살펴보기 위해 홈 디렉터리에 sort_test.txt 파일을 생성하여 내용을 입력해 두었다. 그런데 여기서 sort 명령어를 사용하면, 다음과 같이 알파벳 순서로 정렬이 이루어진 모습을 볼 수 있다. 단, 이는 해당 파일의 내용을 가져와서 정렬을 한 것이지 해당 정렬 내용이 파일에 반영되는 것은 아니다. sort 명령어를 사용한 후 해당 파일을 열어보면, 다음과 같이 이전의 내용들을 그대로 유지하고 있음을 확인할 수 있다. 그리고 sort 명령어는 옵션을 사용해서 정렬의 기준을 변경하여 사용할 수도 있다. 우선 평소 기본값은 위에서 본 것처럼 알파벳 오름차 순으로 되어 있다. 각 옵션들이 가..
Linux Command : history
Linux Command : history
2021.02.10history 최근에 사용했던 명령어를 출력하는 명령어 그리고 부가적으로 history 명령어 뒤에 숫자를 추가하게 되면 - history (숫자) 사용자가 입력한 숫자 만큼의 갯수에 해당하는 가장 최근에 사용한 명령어들의 목록을 보여준다. 지금까지 서버상에서 사용했던 모든 명령어를 보여주던 history와는 다르다.
Linux Command : cat
Linux Command : cat
2021.02.10cat 명령어를 공부함과 동시에 redirection이라는 개념도 함께 공부하도록 하겠다. cat (Concatenate) 하나 또는 그 이상의 파일로부터 데이터를 읽고 표준출력(standard output)으로 이를 복사하는 명령어 cat 명령어는 굉장히 다양한 형태로 사용된다. cat file1 file1에 저장된 내용을 출력 cat 명령어는 다음과 같이 주로 짧은 txt 파일의 내용을 출력하는데 사용한다. 또한 cat 명령어는 2개이상의 파일을 인자로 받는 것도 가능하여 다음과 같은 처리도 가능하다. cat file1 file2 file3 1개 이상의 파일 각각의 내용들을 연속하여 출력 그리고 추가적으로 여기에 -n 옵션을 사용하면 행번호가 추가되어서 출력이 이루어지게 된다. 또한 ca..
Linux Command : info
Linux Command : info
2021.02.10info command 해당 명령어에 대한 도움말을 보다 상세하게 출력하는 명령어 man 명령어 보다 더 자세하게 해당 명령어의 도움말을 보여준다.