no image
[Linux] tar / tar.gz / zip 압축 및 압축 해제
보통 리눅스에서 파일을 압축 파일을 다룰 때, "tar로 압축(compress)한다"는 표현을 쓰는 경우가 많은데, 정확히 말하자면 tar 자체는 "데이터의 크기를 줄이기 위한 파일 압축"을 수행하지 않는다. 단지 여러 파일을 하나의 파일로 묶는 용도로 사용될 뿐이다. 대신, tar를 통해 하나로 합쳐진 파일을 gzip 또는 bzip2 방식을 사용하여 압축할 수 있다. (명령어로 수행 가능) tar가 널리 쓰이게 된 이유 중 한 가지는, 단순 아카이버 기능에 더해, tar로 묶여지기 전 파일들의 속성과 심볼릭 링크, 디렉토리 구조 등을 그대로 가져갈 수 있는 특징 때문이다. 그래서 최근에는 리눅스 용 프로그램, 데이터, 소스 및 라이브러리 등을 배포하는 용도로 많이 사용된다. 0. tar 명령어 옵션 (..
2021.05.10
[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. (복수 파일..
2021.04.15
[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..
2021.03.24
[GStreamer] 참고자료
GStreamer Tutorials gstreamer.freedesktop.org/documentation/tutorials/index.html?gi-language=c Tutorials Tutorials Welcome to the GStreamer Tutorials! The following sections introduce a series of tutorials designed to help you learn how to use GStreamer, the multi-platform, modular, open-source, media streaming framework. Prerequisites Before following these gstreamer.freedesktop.org GStreamer A..
2021.03.03
[Python] Ubuntu 18.04 에서 Python3.5 빌드하여 설치하기
1. 필수 패키지 설치 1 apt-get install libssl-dev apt-get install make build-essential libssl-dev zlib1g-dev libbz2-dev libsqlite3-dev 위와 같이 필요한 패키지를 설치하고 파이썬을 설치해야 정상 설치가 된다. 1-1. 필수 패키지 설치 2 sudo apt-get install libssl1.0 필자는 추가로 위 패키지도 설치해주었다. 위 패키지를 설치하지 않고 파이썬을 설치하고나서 pip 를 설치할 때 자꾸 아래와 같은 에러가 발생한다. 이것 때문에 2시간 삽질함, 아래는 삽질 기록이다. ~$ curl https://bootstrap.pypa.io/get-pip.py | python3.5 % Total % Rece..
2021.02.17
[Git] 한글 깨짐 문제
Git status 사용 시 한글 깨질 때 아래와 같은 옵션을 주면 해결된다. git config --global core.quotepath false 참고자료 : jyami.tistory.com/89 git status 한글 깨짐 git status를 할 때, 한글이름을 가지는 파일일 경우에 /200/300/385 이런식으로 파일명이 깨지는 경우가 있다. (mac 터미널) git config --global core.quotepath false 위 설정으로 바꾸면 올바르게 한글이름 파.. jyami.tistory.com
2021.02.09
[Python] argparse(Argument Parser) 에서 boolean 값 받기
아래와 같이 str2bool 함수를 구현하여 argparse 에서 boolean 값을 받아올 수 있다. def str2bool(v): if isinstance(v, bool): return v if v.lower() in ('yes', 'true', 't', 'y', '1'): return True elif v.lower() in ('no', 'false', 'f', 'n', '0'): return False else: raise argparse.ArgumentTypeError('Boolean value expected.') import argparse if __name__ == "__main__": parser = argparse.ArgumentParser(description='test') parse..
2021.01.14
[Python] pytube 이용하여 Youtube 영상 저장하기
1. pytube 설치하기 python3 -m pip install --upgrade "git+https://github.com/nficano/pytube.git" 2. 코드 실행하기 참고로 유튜브 링크는 원하는 유튜브 영상을 켠 뒤 주소 창에서 긁어오면 된다. import os import pytube # pip install pytube from pytube.cli import on_progress url = "유튜브 링크" yt = pytube.YouTube(url, on_progress_callback=on_progress) print(yt.streams) save_dir = "./" # 저장경로 yt.streams.filter(progressive=True, file_extension="mp4"..
2020.12.28
[Python] GPU 지정하여 Python 코드 실행하기
가끔 GPU를 나눠 할당하여 코드를 실행하고 싶을 때가 있는데 아래와 같이 간단히 설정 가능하다. 애용하는 방법이다. Terminal에서 python 코드를 실행하는 경우 ~$ CUDA_VISIBLE_DEVICES=0 python test.py ~$ CUDA_VISIBLE_DEVICES=1 python test.py ~$ CUDA_VISIBLE_DEVICES=2,3 python test.py python 코드에서 GPU 지정하는 방법 import os os.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID" os.environ["CUDA_VISIBLE_DEVICES"]="0" 참고자료 : dongjinlee.tistory.com/entry/%EC%84%A0%ED%83%9D%ED%9..
2020.11.20
[Python] 파일명 추출, 디렉토리 경로 추출
파일 목록 얻기 glob.glob(wildcard) - 유닉스 경로명 패턴 스타일로 파일 목록을 얻을 수 있다. os.listdir(path) - 지정된 디렉토리의 전체 파일 목록을 얻을 수 있다. dircache.listdir(path) - os.listdir(path)와 동일한 파일 목록을 전달한다. path가 변경되지 않았을 때, dircache.listdir()은 다시 디렉토리 구조를 읽지 않고 이미 읽은 정보를 활용 dircache.annotate(head, list) - 일반 파일명과 디렉토리명을 구분해주는 함수 디렉토리 다루기 os.chdir(path) - 작업하고 있는 디렉토리 변경 os.getcwd() - 현재 프로세스의 작업 디렉토리 얻기 os.remove( filename or pat..
2020.11.20
no image
[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
2020.11.10
[Python] Python Schedule 모듈 이용하여 원하는 시간대에 프로그램 실행 시키기
프로그램을 주기적으로 자동으로 돌려놔야 할 일이 생겨서 아래와 같이 Python Schedule 모듈을 이용하여 원하는 시간대에 프로그램을 실행시키도록 하였다. import schedule import time def job(): #TO DO ... # 10초에 한번씩 실행 schedule.every(10).second.do(job) # 10분에 한번씩 실행 schedule.every(10).minutes.do(job) # 매 시간 실행 schedule.every().hour.do(job) # 매일 10:30 에 실행 schedule.every().day.at("10:30").do(job) # 매주 월요일 실행 schedule.every().monday.do(job) # 매주 수요일 13:15 에 실행 ..
2020.11.02