Linux 21

linux command line: branching - shell script로 flow control 하기

27. Flow control: branching with if 위에서 만든 스크립트에서 user의 권한에 따라 스크립트의 내용을 변경해야 한다고 생각해보자. programming 용어로 branch가 필요하다. If statement pseudo code로 아래와 같은 내용을 생각 X = 5 If X = 5 then: Say "X equals 5." Otherwise: Say "X is not equal to 5"shell에서는 이를 if/else문을 이용해 나타낼 수 있음. x=5 if [ "$x" -eq 5 ]; then echo "x equals 5." else echo "x does not equal 5." fi이는 command line에서도 동일하게 사용할 수 있다. $ x=5 $ if [ ..

카테고리 없음 2021.05.09

The linux command line 26장: Shell script (top-down design)

26. Top-down design 프로그램이 점점 커지고 복잡해지면, 디자인하고 유지보수하기가 점점더 어려워짐. top-down design: 상위의 단계부터 정의하고 디테일한 단계로 내려오는 방식을 얘기함 크고 복잡한 작업을 작고 간단한 작업으로 쪼갤 수 있음 쉘스크립트를 포함한 많은 프로그램을 디자인할 때 쓰이는 방법 Shell functions 이전 블로그 포스트에서 만들었던 report program은 다음 단계로 쪼갤 수 있따. Open page. Open page header. Set page title. Close page header. Open page body. Output page heading. Output timestamp. Close page body. Close page 다음 ..

카테고리 없음 2021.05.02

linux: shell script로 프로그램 만들어보기

25. Starting a project 해당 챕터에서는 실제 프로그램을 만들어봄. report generator: system과 status에 대한 다양한 통계를 HTML 포맷으로 생성해주는 프로그램 First stage: minimul document Page body. 간단한 html을 만들어보자. (foo.html) 이 파일의 경로를 입력하면 firefox나 chrome 등의 브라우저에서 열 수 있다. (file://hoem/username//foo.html) 프로그램의 첫번째 스테이지는 standard output으로 이 HTML 파일을 보내게 하는 것이다. ~/bin/sys_info_page라는 파일을 만들고 수정해보자. #!/bin/bash # Program to output a system..

tools/linux 2021.04.25

count files in linux: wc 명령어

count files in linux wc wc는 word count의 줄임말로 사용자가 지정한 행, 단어, 문자 수를 세는 프로그램. $ wc [-clmw] [file...]wc 옵션 파일명으로 사용되며 파일 이름을 적지 않으면 standard input으로 정보를 받아들여서 계산한다. 옵션은 다음과 같음 -l: line -w: word -c: character예시 주로 파일 안의 line을 읽을 때 사용한다. wc -l를 사용하여 디렉토리의 파일의 개수를 셀 수 있음. # 현재 디렉토리 내부의 파일 개수 ls | wc -k # find 한 파일의 개수 (서브 디렉토리안의 파일을 포함한 현재 디렉토리 안의 모든 파일 개수) find . -type f | wc -kex. /var/log 디렉토리에 확장자..

카테고리 없음 2021.04.11

리눅스 쉘 스크립트란? 첫 쉘 스크립트를 만들고 써보자

지금까지는 command line의 tools들을 사용하였다. 이는 많은 컴퓨팅 문제를 해결해주긴 하지만, 이들만으로 해결하기 힘든 문제들도 있다. 이 다양한 툴들을 사용하여 자신만의 프로그램을 작성한다면, shell에서 더 복잡한 태스크들도 실행시킬 수 있는데 이를 shell scripts라고 부른다. shell script란? 간단하게, 쉘 스크립트는 "여러 명령어들을 담은 파일"이다. 쉘은 이 파일을 읽고 명령어를 실행시켜 준다. 쉘 스크립트는 어떻게 동작할까 쉘 스크립트를 만들고 실행하기 위해서, 세가지 단계를 해야한다. Write a script: shell scipt는 text file이다. syntax highlighting이 지원되는 에디터에서 쓰면 더 좋다. Make the script ..

backend/ubuntu 2021.04.04

Linux에서의 maximum limit (ulimit)

Maximum limit in Operating System 계기 회사에서 개발을 하던 중 IOError: [Errno 24] Too many open files 에러를 만났다. 너무 많은 이미지를 한번에 오픈해서 생기는 에러였는데, 정확히 내용을 몰라 회사 내부에 물어보니 OS의 limit과 관련된 내용이였다. 전혀 알지 못하던 내용이기 때문에 이번 기회에 정리해본다. 한국어 linux, MacOS를 포함한 OS는 열 수 있는 파일과 프로세스의 수에 제한이 있다. 이런 제한은 시스템 과부하를 방지하기 위해 존재한다. 이를 깊이있게 들어가면 "자원을 효율적으로 관리하는 것"인 운영체제의 핵심까지 가게 되지만, 이는 너무 방대하기 때문에 자원을 효율적으로 관리하는 방법 중의 하나로 한 번에 열 수 있는 파..

tools/linux 2021.03.28

The Linux command line - 23. Compiling program

23. compiling program What is Compiling? Compiling is the process of translating source code into the native language of the computer’s processor. compiler linker Compiling a C program 시작 전에 컴일러, 링커, make 명령어 등의 툴이 필요하다. $ which gcc /usr/bin/gcc소스 코드는 diction이라 불리는 GNU Project의 프로그램을 컴파일 해보자. $ mkdir src $ cd src $ ftp ftp.gnu.org Connected to ftp.gnu.org. 220 GNU FTP server ready. Name (ftp.gnu..

tools/linux 2021.03.21

리눅스 서버 스왑 메모리 끄기 (turn off swap memory)

turn off swap memory 스왑 메모리를 확인하는 명령어 $ free -m root@5f88a2f3456c:/# free -m total used free shared buff/cache available Mem: 1990 842 103 6 1044 1050 Swap: 1023 26 997Disable swap 아래 명령어로 swap을 끌 수 있다. $ sudo swapoff -a부팅되었을 떄를 대비해서 fstab 파일도 수정한다. (vi /etc/fstab) # 이 줄을 주석처리 해준다. # /dev/mapper/centos-swap swap swap defaults 0 0

카테고리 없음 2021.01.11

도커 권한문제 해결하기: "Got permission denied while trying to connect to the Docker daemon socket"

Got permission denied issue in linux linux에서 root 권한이 아닌 상태로 docker를 실행하면 권한 문제가 발생할 수 있다. [linux@localhost ]$ docker ps Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json: dial unix /var/run/docker.sock: connect: permi ssion denied이런 경우 docker group에 해당 유저를 추가해주어야한다. 보통은 docker gro..

카테고리 없음 2020.12.28

[book] The linux command line: Rediretion - standard intput, output, error

6. Redirection Standard input, output, and error 대부분 프로그램은 어떤 형태로든 output을 제공함. 보통은 둘가지 타입 프로그램의 결과 에러 메세지 Unix의 "모든 것은 파일이다"라는 말처럼, 프로그램은 실제로 결과를 standard output (stdout)이라는 특별한 파일로 전송하고 상태 메세지를 standard error (stderr)로 보낸다. 기본적으로 이 아웃풋과 에러는 스크린에 연결되고 따로 디스크 파일에는 저장되지 않는다. 추가적으로, 많은 프로그램은 input을 받기 위해 standard input (stdin)을 받는다. (default로 키보드) I/O redirection은 output이 어디로 가고 input이 어디로 오는지를 변경..

backend 2020.12.13