HOME > linux

Linux - fts_open(), fts_read()로 디렉토리 파일들을 찾는 예제

리눅스/유닉스 계열에서 디렉토리의 모든 파일 리스트를 얻는 기능을 구현하려고 할 때 fts 라이브러리를 이용하면 됩니다. fts_open과 fts_read 등의 라이브러리를 사용하여 특정 폴더의 파일들을 모두 찾아 출력하는 예제를 만들어보았습니다.

15 Oct 2019

Bash 쉘스크립트 파일의 절대경로 얻기

쉘 스크립트의 절대 경로를 찾는 방법을 소개합니다. 인자로 받은 파일의 경로와 'pwd -P', 'dirname' 명령어를 이용하여 파일의 절대경로를 계산하였습니다. source와 sh 명령어 및 쉘의 실행 위치와 관계없이 절대경로를 얻는 방법에 대해서 알아보겠습니다.

29 Jun 2019

Ubuntu18.04의 네트워크 이더넷 이름 변경하는 방법(enp??를 eth0으로 변경)

우분투 16.04부터 이더넷 이름이 eth0에서 enp..으로 변경되었습니다. 이 때문에 eth0으로 하드코딩된 프로그램이 동작하지 않는 경우가 있습니다. 그래서 enp..을 etho0으로 변경하였습니다. 우분투18.04 기준으로 이더넷 이름을 변경하는 방법에 대해서 알아보겠습니다.

16 Apr 2019

Linux - chmod 명령어 사용 방법

chmod는 파일이나 디렉터리의 권한 등의 모드를 변경합니다. 파일에 모든 권한을 줄 수도 있고, 특정 권한만 추가하거나 제거할 수도 있습니다. 재귀적으로(Recursive) 하위 폴더의 파일들의 권한을 함께 변경하려면 chmod 명령어에 -R 옵션을 주면 됩니다.

10 Mar 2019

Linux - cat 명령어 사용 방법

cat 명령어는 터미널을 사용할 때 매우 자주 사용되는 명령어입니다. 이 명령어는 어떤 파일의 내용을 읽어 화면에 출력해줍니다. cat을 사용하면 기존 파일을 다른 파일에 저장할 때 사용할 수 있고, 두개의 파일을 합치는데 사용할 수 있습니다. Line number를 붙일 수도 있습니다.

10 Mar 2019

Linux - chown 명령어로 소유자 변경하는 방법

chown 명령어는 파일의 Owner 또는 Group을 변경하는 명령어입니다. 재귀적으로(Resursive) 하위 폴더 소유자 모두 변경하려면 chown 명령어에 -R 옵션을 주면 됩니다. 예제를 통해 사용방법을 자세히 알아보겠습니다.

10 Mar 2019

Linux - history 명령어 사용 방법

history명령어는 터미널에서 사용된 명령어 히스토리를 보여줍니다. 어제 입력한 명령어가 무엇인지, 방금 전에 입력한 명령어가 무엇인지 확인할 수 있습니다. 쉘에서 history를 입력하면 이전에 입력한 명령어가 모두 출력됩니다. 사용한 명령어를 저장하고 싶지 않다면 아래처럼 HISTSIZE=0를 설정하면 됩니다.

10 Mar 2019

Linux - tee 명령어로 터미널 출력을 파일로 저장하기

명령어 tee는 화면에 출력된 내용을 파일로 저장하는데 사용됩니다. 예를들어, find -name "boot*" | tee output.txt 는 화면에 출력된 내용이 `output.txt`라는 파일로 저장이 됩니다. tee의 사용 방법에 대해서 자세히 알아보겠습니다.

10 Mar 2019

리눅스 - 쉬뱅(Shebang)은 무엇인가?

Shebang은 (사전에 검색해보면) 쉬뱅이라고 읽습니다. 쉬뱅은 '#!'로 시작하는 문자열이며 스크립트의 맨 첫번째 라인에 있습니다. 쉬뱅은 유닉스 계열 운영체제에서 스크립트가 실행될 때, 파이썬, 배쉬쉘 등 어떤 인터프리터에 의해서 동작이 되는지 알려줍니다.

27 Feb 2019

BeagleBoneBlack의 리눅스 빌드 방법(툴체인, 부트로더, 리눅스 설치 및 빌드)

비글본 블랙 보드는 Arm 칩을 사용합니다. Arm에서 동작하는 Linux를 빌드하기 위해서는 먼저 Cross compile을 위한 Toolchain을 설치해야 합니다. 그리고 부트로더인 U-boot와 커널인 Linux를 다운받아 빌드를 하면 됩니다. 빌드 과정에 대해서 간단히 정리하였습니다.

10 Feb 2019

우분투에서 Python3.7을 설치하는 방법

Ubuntu 18.04에 파이썬3.7 버전을 설치하는 방법을 정리하였습니다. 아직 APT에서 파이썬3.7을 제공하지 않아 직접 설치파일을 다운받았습니다. 그리고 Alternatives를 이용하여 파이썬을 설치하였습니다. Alternatives를 이용하면 버전을 쉽게 변경할 수 있습니다.

03 Nov 2018

Linux 파일 압축 명령어 정리

리눅스에서 쉘 명령어로 압축을 하거나 풀 때가 있는데요. 간단히 명령어들을 정리하였습니다. zip, tar, tar.gz으로 파일을 압축하거나 푸는 명령어를 소개합니다.

11 Oct 2018

우분투 바탕화면에 Shortcut 아이콘 만드는 방법

Ubuntu에서 설치파일을 받아서 설치하면 바탕화면에 아이콘이 보이지 않습니다. 이런 경우 간단히 스크립트 파일만 작성하면 바탕화면에 아이콘을 생성할 수 있습니다. 먼저 실행하고자 하는 shell의 위치 및 아이콘 이미지 파일의 위치를 알아야 합니다. 두개의 위치로 바탕화면 아이콘을 만들어주는 desktop 스크립트를 작성하면 됩니다.

27 May 2018

AWS에서 80 포트 사용하기

EC2에서 80포트를 Inbound에 설정하여도 domain으로 접속할 때 접속이 되지 않았습니다. 80포트를 8000으로 연결하도록 iptable을 변경하면 domain으로 접속할 때 포트번호를 입력하지 않아도 되었습니다. 설정한 과정을 정리하였습니다.

05 May 2018

pip install locale 문제 및 해결방법

AWS EC2에서 pip install 사용 시, 'unsupported locale setting'와 같은 에러가 발생하였습니다. 원인은 시스템의 Locale을 변경하지 않아서 입니다. en_US로 Locale을 변경하여 문제를 해결하였습니다.

22 Apr 2018

Virtualenv 설치 및 세팅하는 방법(Ubuntu)

virtualenv는 파이썬 가상 환경을 만드는 프로그램입니다. Virtualenv로 로컬 환경과 분리된 공간을 만들어, 독립된 공간에서 파이썬 프로그램을 개발할 수 있습니다. 다른 PC에 배포되는 소스의 경우 virtualenv를 이용하면 어떤 의존성이 설치되어야 하는지 확인하는데 좋습니다.

22 Apr 2018

Ubuntu에서 Python 버전을 변경하는 방법

우분투를 설치하면 파이선2.7이 설치되어있습니다. 리눅스의 Alternatives를 이용하면 python 버전을 쉽게 변경하고 관리할 수 있습니다. 우분투에 파이썬2.7과 파이썬3.5 버전을 모두 설치하고, 특정 버전이 필요할 때 Alternative로 버전을 변경해줄 수 있습니다.

18 Mar 2018

sudo apt-get update 문제 해결 (Ubuntu17.04)

저장소를 변경하고 sudo apt-get update로 갱신을 하려고 했더니 갱신이 잘 안되는 문제가 있었습니다. 원인은 우분투17.04의 지원기간이 종료되어 저장소도 지원이 종료되었다는 것입니다. 저장소를 변경하여 문제를 해결하였습니다.

13 Feb 2018