HOME > linux

Ubuntu - kernel 업데이트하는 방법 (manually)

Ubuntu에서 apt를 이용하여 커널을 설치하는 방법을 소개합니다. 보통 Software & updates 프로그램으로 최신 커널로 업데이트할 수 있습니다. 하지만 직접 터미널로 커널을 설치할 수도 있습니다. 또한 grub을 통해 부팅할 때 커널 버전을 선택할 수 있도록 만들수도 있습니다.

23 Jan 2020

Linux - Hardware 정보를 보여주는 명령어

Linux에서 PC의 하드웨어 정보를 확인하는 명령어를 정리하였습니다. lscpu, lshw, hwinfo 명령어는 하드웨어 정보를 출력해 줍니다. 또한 lsblk, df, free 등의 명령어는 파일시스템의 disk 사용량이나 현재 메모리의 사용량을 보여줍니다.

19 Jan 2020

Linux - df, du 명령어 정리

리눅스 터미널에서 디스크의 용량을 확인하거나 파일의 용량을 확인할 때 df, du 명령어를 사용합니다. df는 전체 파일시스템의 크기를 확인할 때 사용하고, du는 현재 디렉토리에 대한 크기를 알아볼 때 사용합니다. 자주 사용하는 df와 du 명령어에 대해서 정리하였습니다.

15 Jan 2020

Ubuntu에 OpenJdk 9 설치하는 방법

Ubuntu에 OpenJdk 9을 설치하는 방법을 소개합니다. apt 명령어로 쉽게 설치할 수 있습니다. 만약 apt로 설치할 수 없다면 설치 파일을 다운로드하여 직접 설치하는 방법이 있습니다. 두가지 방법에 대해서 모두 소개합니다. 또한 Alternatives로 Java를 등록하여 사용하는 방법을 소개합니다.

06 Jan 2020

fork(), waitpid() 및 timeout 적용하기

Linux C++ 프로그래밍에서 fork(), waitpid() 예제를 소개합니다. waitpid()를 호출하면 child process가 종료될 때까지 block되는데, Timeout을 적용하여 Child의 응답이 없을 때 기다리지 않는 예제도 소개하려고 합니다.

05 Jan 2020

Linux - wget으로 파일 다운로드 (zip, tar.gz 압축 해제)

wget으로 파일을 다운로드 받을 수 있습니다. zip, tar.gz, tar, tar.bz2 등의 파일들은 압축을 해제하여 저장할 수 있습니다. 파일 이름을 변경하거나, 특정 위치에 파일을 저장하도록 만들 수도 있습니다.

12 Dec 2019

AutoKey 설치 및 macro 만들기

AutoKey는 파이썬 스크립트를 실행해주는 프로그램입니다. 스크립트마다 Hot key를 지정할 수 있어서 특정 키를 눌렀을 때 특정 스크립트가 동작하도록 만들 수 있습니다. 간단한 key를 출력하거나, clipboard에 대한 처리도 할 수 있습니다. 또한 프로그램을 실행하거나, window 위치를 이동하는 등의 작업을 수행할 수 있습니다.

09 Dec 2019

Linux - tar, tar.gz, tar.bz2 압축/해제 명령어 정리

tar, tar.gz, tar.bz2로 파일을 압축하고 압축 푸는 명령어를 정리하였습니다. 특정 폴더에 압축을 풀려면 -C 옵션으로 폴더를 설정해줄 수 있습니다.

29 Nov 2019

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 - cat 명령어 사용 방법

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

10 Mar 2019

Linux - chmod 명령어 사용 방법

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

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