Programming/Linux

    [Linux] locate 명령어

    필자는 locate 명령어를 리눅스 환경에서 굉장히 자주 쓰고 있다. locate 명령어에 대해 더 자세히 알아보고자 한다. locate 명령어는 아래와 같이 사용하며, test_file이 어디에있는지 알려준다. locate test_file locate 명령어가 파일을 빠르게 검색해주는 이유는 검색DB를 미리 생성하기 때문이다. 따라서 locate 명령어를 처음 사용한다면 아래와 같이 DB를 업데이트 시켜준다. (pdatedb 작업은 크론(cron)에 등록되어 있어서 매일 새벽에 자동으로 실행됨) sudo updatedb 그런데 이는 방금 자신이 삭제한 파일도 검색이 되기 때문에 문제가 발생한다. 이런 문제를 피하고 싶다면 검색 전에 DB를 업데이트 하는 것을 추천한다. 참고자료 : https://wi..

    [Linux] 파일 개수 및 디렉토리 개수 세기

    리눅스 환경에서 현재 폴더의 파일 개수를 세는 명령어는 아래와 같다. ls -l | grep ^- | wc -l 디렉토리의 개수를 세는 명령어는 아래와 같다. ls -l | grep ^d | wc -l 참고로 ls 는 현재 디렉토리의 내용을 확인 할 수 있으며, grep 명령어는 파일 내용에서 특정 문자열을 찾을 때 사용하는데, ^ 라는 것이 붙으면 문자열 라인의 처음을 보겠다는 뜻이다. 그리고 wc 명령어는 파일 또는 표준입력의 줄 수를 출력한다. 뜻을 알면 잘 외워진다.

    [Linux] 표준 스트림 개념 및 표준 출력 및 오류를 /dev/null 처리하기

    1. 표준 스트림 리눅스 환경에서 표준 스트림은 다음과 같이 구분된다. 표준 입력 스트림(standard input, stdin) 표준 출력 스트림(standard output, stdout) 표준 에러 스트림(standard error, stderr) 2. 리다이렉션(Redirection) 리다이렉션을 이용하면 각 스트림의 방향을 지정 할 수 있다. 종류 기호 사용법 설명 표준출력(덮어쓰기) > 명령어 > 파일 명령어의 표준출력 스트림의 도착 지점을 파일로 설정(덮어쓰기) 표준출력(추가) >> 명령어 >> 파일 명령어의 표준출력 스트림의 도착 지점 파일에 내용을 추가 표준입력 /dev/null 아래와 같이 사용하기도 한다. ~$ command 1> /dev/null 예를 들어 test.txt 라는 파일..

    [Linux] 사용했던 커맨드 확인하는 명령어 (명령어 히스토리)

    아래와 같이 .bash_history 파일에는 사용했던 명령어들의 리스트 정보들이 담겨있다. 이는 bash shell 에서 지원한다. ~$ cat .bash_history | grep test 참고자료 : https://jhnyang.tistory.com/306 [리눅스/LInux] history 명령어 및 옵션- 이전에 수행한 명령어 리스트 확인, 동작원리 [ LINUX / UNIX 완전정복 포스팅 링크 모음] 안녕하세요~! 방문자님들 오늘도 찾아주셔서 감사합니다. 오늘 알아볼 기초명령어는 history예요~!! history 명령어 - 커맨드 이력 관리 명령어 자주 사용하는 jhnyang.tistory.com

    [Linux] dmidecode 사용하여 메모리 정보 확인하기

    dmidecode 리눅스에서 dmidecode 를 사용하여 메모리 정보를 확인 할 수 있다. Usage: dmidecode [OPTIONS] Options are: -d, --dev-mem FILE Read memory from device FILE (default: /dev/mem) -h, --help Display this help text and exit -q, --quiet Less verbose output -s, --string KEYWORD Only display the value of the given DMI string -t, --type TYPE Only display the entries of given type -u, --dump Do not decode the entries --d..

    [Linux] Code Blocks 설치하기

    1. Code Blocks 리눅스 버전 설치하기 (~/Downloads) https://www.codeblocks.org/downloads/binaries/#imagesoslinux48pnglogo-linux-32-and-64-bit Binary releases www.codeblocks.org 2. 압축 풀기 cd ~/Downloads tar -xf codeblocks_20.03_amd64_oldstable.tar.xz 3. 설치 sudo dpkg -i *20.03*.deb sudo apt-get install -f 4. 실행 codeblocks 참고자료 : https://askubuntu.com/questions/1030720/how-to-install-latest-codeblocks-from-tar..

    [Linux] 심볼릭 링크(symbolic link) 설정하기

    필자는 CUDA 버전을 2개를 사용중이기 때문에 (CUDA 10.2 / CUDA 11.1) 심볼릭 링크를 설정하여 버전을 관리하고 있다. 심볼릭 링크란? 컴퓨팅에서 심볼릭 링크(symbolic link) 또는 기호화된 링크는 절대 경로 또는 상대 경로의 형태로 된 다른 파일이나 디렉터리에 대한 참조를 포함하고 있는 특별한 종류의 파일이다. 심볼릭 링크는 이미 1978년까지 DEC와 데이터 제너럴의 RDOS의 미니 컴퓨터 운영 체제에 존재했다. 오늘날 이들은 FreeBSD, GNU/리눅스, OS X과 같은 대부분의 유닉스 계열 운영 체제인 POSIX 운영 체제 표준과 윈도우 비스타, 윈도우 7, 또 바로 가기 파일의 형태로서 윈도우 2000, 윈도우 XP에 이르는 윈도 운영 체제를 통해 지원되고 있다. 심..

    [Linux] tar / tar.gz / zip 압축 및 압축 해제

    보통 리눅스에서 파일을 압축 파일을 다룰 때, "tar로 압축(compress)한다"는 표현을 쓰는 경우가 많은데, 정확히 말하자면 tar 자체는 "데이터의 크기를 줄이기 위한 파일 압축"을 수행하지 않는다. 단지 여러 파일을 하나의 파일로 묶는 용도로 사용될 뿐이다. 대신, tar를 통해 하나로 합쳐진 파일을 gzip 또는 bzip2 방식을 사용하여 압축할 수 있다. (명령어로 수행 가능) tar가 널리 쓰이게 된 이유 중 한 가지는, 단순 아카이버 기능에 더해, tar로 묶여지기 전 파일들의 속성과 심볼릭 링크, 디렉토리 구조 등을 그대로 가져갈 수 있는 특징 때문이다. 그래서 최근에는 리눅스 용 프로그램, 데이터, 소스 및 라이브러리 등을 배포하는 용도로 많이 사용된다. 0. tar 명령어 옵션 (..

    [Linux] Shell Script 활용하여 HEIC 파일 jpg 파일로 변환 시키기

    리눅스 환경에서 쉘 스크립트로 heif-convert 패키지를 사용하여 HEIC 파일을 jpg 파일로 변환 시킬 수 있다. 참고로 HEIC 파일은 아이폰에서 주로 볼 수 있는 확장자이다. 가령 찍은 사진을 컴퓨터로 옮기면(e.g. 구글 드라이브) 이 확장자로 나타나기 때문에 변환이 필요하다. 1. heif-convert 패키지 다운로드 $ sudo add-apt-repository ppa:strukturag/libde265 $ sudo apt update $ sudo apt upgrade $ sudo apt-get install libheif-examples 2. (단일 파일) HEIC 파일 jpg 파일로 변환 시키기 $ heif-convert infile.heif outfile.jpg 3. (복수 파일..

    [Linux] 리눅스 scp 명령어 사용법

    scp secure copy의 줄임말로 ssh를 이용하여 네트워크로 연결된 호스트간에 파일을 주고받는 명령어 원격지에 있는 파일과 디렉터리를 보내거나 가져올 때 사용하는 파일 전송 프로토콜 ssh와 동일한 22번 포트와 identity file을 사용해서 파일을 송수신하기 때문에 안정된 프로토콜 1. 로컬에서 원격지로 파일 전송 단일 파일을 원격지로 전송할 때 scp [옵션] [파일명] [원격지_id]@[원격지_ip]:[받는 위치] $ scp test1.txt root@192.168.000.000:/test 복수 파일을 원격지로 전송할 때 scp [옵션] [파일명 1] [파일명 2] [원격지_id]@[원격지_ip]:[받는 위치] $ scp test1.txt test2.txt root@192.168.000..

    [Linux] 리눅스에서 IP 주소 확인

    공용 IP 주소 찾기 ~$ curl ifconfig.me 사설 IP 주소 찾기 ~$ ifconfig 참고자료 : ko.wikihow.com/%EB%A6%AC%EB%88%85%EC%8A%A4%EC%97%90%EC%84%9C-IP-%EC%A3%BC%EC%86%8C-%ED%99%95%EC%9D%B8%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95 리눅스에서 IP 주소 확인하는 방법 이 위키하우 글을 읽고 리눅스 컴퓨터에서 사설 그리고 공용 IP 주소를 볼 수 있는 방법을 익혀보자. 이 방법을 언제 사용할 수 있는지 알아보기. 공용 IP 주소는 컴퓨터에서 웹사이트 및 서비스 ko.wikihow.com

    [Linux] NVIDIA Driver 440.95 + CUDA 10.2 + cuDNN 8.0.1 설치

    기존 환경 - CUDA 10.0 - cuDNN 7.5.0 - NVIDIA Driver 418.x 설치 환경 - Ubuntu 16.04 - RTX 2080 - CUDA 10.2 - cuDNN 8.0.1 - NVIDIA Driver 440.95 * CUDA 10.2 를 설치하려면 NVIDAR Driver >= 440.33 이 필요 * CUDA Driver 버전 확인 https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html Release Notes :: CUDA Toolkit Documentation This release of the toolkit includes the following updates: CUDA Math libraries too..

    [Linux] apt 와 apt-get 의 차이

    apt는 apt-get과 apt-cache의 기능 중에서 잘 사용되지 않는 기능을 제외하고 만든 새로운 tool이다. 여기서 apt-get은 패키지 설치를 담당하고, apt-cache는 패키지 검색을 담당하는 tool이다. 결론적으로 apt-get이 아닌 apt를 사용하는 것이 사용성 측면에서는 유리하다. 참고자료 : https://developern.tistory.com/entry/apt-apt-get-%EC%B0%A8%EC%9D%B4 [Linux] apt와 apt-get의 차이 apt는 apt-get과 apt-cache의 기능 중에서 잘 사용되지 않는 기능을 제외하고 만든 새로운 tool이다. 여기서 apt-get은 패키지 설치를 담당하고, apt-cache는 패키지 검색을 담당하는 tool이다. 결..

    [Linux] sudo apt-get -f install

    sudo apt-get -f install 깨진 패키지 매니저 (apt-get) fix 하는 명령어임 참고자료 : https://koodev.tistory.com/61?category=730188 Ubuntu 16.04 apt 'E: Unmet dependencies' 에러 다른 사람이 사용하던 Ubuntu PC를 사용하게 되었는데, 패키지 매니저(apt)가 심하게 꼬여 있었다. 패키지 설치가 되지 않으며, `sudo apt-get -f install` 로 fix를 시도해 보아도 아래와 같은 메시지가 나�� koodev.tistory.com

    [Linux] 리눅스 파티션 나누기

    리눅스 디스크 파티션에 대해서 간단히 알아보았다. 리눅스 파티션은 루트 파티션이라고 부르는 '/' 파티션과 'swap' 파티션 2개만 있어도 운영이 가능하다. 왜냐하면 루트 파티션만 생성하면 나머지 파티션 들인 /bin /etc /boot /usr /tmp /var /home 들은 모두 루트 파티션 아래 종속되기 때문이다. 물론 실무에서 리눅스를 운영할 때는 지금과 같이 파티션을 두 개로 나누지 않고, 필요한 용도에 따라서 다양하게 분할한다. 하드디스크 80GB 기준으로 다음과 같이 나눌 수 있다. 마운트 포인트 권장 크기 비고 / 10GB 루트 파티션 /bin 기본 명령어가 들어가 있음 /sbin 시스템 관리용 명령어가 들어가 있음 /etc 시스템의 환경 설정과 관련된 파일이 들어가 있음 /boot 4..