본문 바로가기

IT

(228)
[Linux] Terminator 화면 분할 [개발환경/Ubuntu] Terminator - 터미널 화면 분할설치 sudo apt update sudo apt install terminator -y단축키 ctrl + shift + e 좌우 분할 ctrl + shift + o 상하 분할 ctrl + shift + w 창 닫기 alrt + 화살표 창 이동 기본 터미널 설정 sudo update-alternatives --config x-terminal-emulatroyleej9.tistory.com 설치sudo apt updatesudo apt install terminator -y단축키ctrl + shift + e 좌우 분할ctrl + shift + o 상하 분할ctrl + shift + w 창 닫기alrt + 화살표 창 이동기본 터미널 설정sudo..
[Linux] ubuntu에서 사라진 dock 살리기 우분투(ubuntu)에서 사라진 dock 살리기현상 우분투에서 화면 왼쪽이나 아래에 놓고 많이 쓰는 프로그램 아이콘들을 두고 사용하는 독(dock)이 얼마전부터 사라져서 프로그램을 선택하거나 세팅을 GUI로 바꾸고 싶을 때 불편함이 많았curioso365.tistory.com해결책: gnome shell 다시 켜기(restart)다음 링크에 해결책이 제시되어 있었다.leimao.github.io/blog/Ubuntu-Dock-Disappear/ Ubuntu Dock Disappearance FixHello Underworld.leimao.github.io결국 gui를 구성하는 shell이 문제이니 다시 켜야 하는 것이었다. 우분투 gui에서 간단하게 다시 켜는 방법이다.  ALT + F2 를 누르면 명령..
[Linux] vi replace all :%s#/home/avikus-cv/workspace/copilot/build_host/install/host/#/root/neuboat/#g Vi 편집기에서 :s 명령어를 사용하여 문자열을 바꿀 수 있습니다. 다음은 Vi 편집기에서 :s 명령어를 사용하는 방법입니다: 먼저 :을 눌러 명령 모드로 전환합니다. 그런 다음 s/old/new/g를 입력합니다. 여기서 old는 바꾸고자 하는 기존 문자열이고, new는 대체할 새 문자열입니다. /g는 문서 내에서 모든 발생을 대상으로 한다는 것을 나타냅니다. 마지막으로 Enter 키를 누르면 됩니다. 예를 들어, "hello"를 "world"로 바꾸고 싶다면 다음과 같이 입력합니다: :s/hello/world/g 위 명령은 문서에서 모든 "hello"를 "wor..
[Linux] GPU 이름 출력 nvidia-smi --query-gpu=gpu_name --format=csv --query-gpu=gpu_name: 이 옵션은 GPU에 대한 특정 정보를 쿼리하도록 지시합니다. 여기서는 gpu_name으로 GPU의 이름을 조회하도록 설정되어 있습니다. --format=csv: 이 옵션은 결과를 CSV (쉼표로 구분된 값) 형식으로 출력하도록 지정합니다. csv 형식을 선택하면 결과가 쉽게 파싱되고 다른 도구 또는 스크립트에서 사용하기 용이합니다. 따라서 위의 명령은 현재 시스템에서 사용 가능한 NVIDIA GPU의 이름을 쉼표로 구분된 값으로 출력합니다. 예를 들어, 결과가 "GPU-1, GPU-2"와 같이 나타날 것입니다. 이 명령을 실행하면 설치된 NVIDIA GPU의 이름이 쉼표로 구분된 형식으..
[Git] Authorizing an SSH key for use with SAML single sign-on Authorizing an SSH key for use with SAML single sign-on - GitHub Enterprise Cloud Docs To use an SSH key with an organization that uses SAML single sign-on (SSO), you must first authorize the key. docs.github.com To access this repository, you must use the HTTPS remote with a personal access token or SSH with an SSH key and passphrase that has been authorized for this organization.
[Linux] 폴더 용량 출력 #du -ch (경로) 해당 경로에 대한 모든 파일용량의 총합을 나타냄. ​ #du -ch (경로) |sort -h 해당 경로에 있는 모든 파일과 폴더의 용량을 용량 단위를 사용하여 표기한다. 이 때, 표기되는 순서는 폴더 이름 1순위, 파일이름 2순위로 나열되며, 경로 내의 폴더에 있는 폴더에 있는 파일조차 모두 표기된다. (전부 표기) ​ #du -ch (경로) |sort -h |tail -10 해당 경로에 있는 모든 파일과 폴더의 용량을 용량 단위를 사용하여 표기한다. 이 때, 용량이 큰 폴더가 아래로 가게 되며, 해당 경로에서 가장 큰 10개만 아래에서 위로 출력이 된다. ​ #du -ch (경로) --max-depth=1 |sort -h 해당 경로에 있는 폴더 및 파일을 디렉토리 1 기준(숫자가..
[Poetry] Poetry 사용법 Poetry는 Python 프로젝트의 종속성 관리 및 패키지 관리 도구로, Python 환경을 설정하고 프로젝트를 관리하는 데 사용됩니다. Poetry를 사용하여 Python 프로젝트를 시작하려면 다음 단계를 따를 수 있습니다: 1. Poetry 설치: Poetry를 설치하려면 다음 pip 명령을 실행합니다. pip install poetry 2. 새로운 Python 프로젝트 생성: 새로운 Python 프로젝트를 시작하려면 새로운 디렉토리를 만들고 해당 디렉토리로 이동한 다음 poetry new 명령을 사용합니다. 예를 들어: mkdir my-python-project cd my-python-project poetry new . 이렇게 하면 새로운 Poetry 프로젝트가 생성됩니다. "bash: poet..
[Linux] 하위 디렉토리의 파일 개수 출력하기 [Linux] 리눅스에서 하위 디렉토리 별 파일 개수 출력 리눅스 터미널에서 하위 디렉토별 파일 개수를 출력하는 방법입니다. 사실 GUI의 파일 탐색기를 보면 바로 확인이 가능합니다. 그러나 GUI를 볼 수 없는 환경에서는 다음과 같이 하면 됩니다. 각 jkim83.tistory.com 아래 명령어를 사용하면 각각의 하위 디렉토리별 파일 개수를 출력할 수 있습니다. $ for x in `ls` ; do echo $x: `find $x -type f | wc -l`; done for x in ls;는 현재 디렉토리에 있는 모든 파일과 디렉토리를 순회하는 루프를 만듭니다. ls 명령은 현재 디렉토리의 모든 파일과 디렉토리를 나열합니다. 루프 내에서 find $x -type f | wc -l는 $x라는 변수(..
[Basic] 0.0.0.0 / 127.0.0.1 차이 0.0.0.0 127.0.0.1 차이 매우 자세히! 라우터, 서버, DHCP 서버에서의 0.0.0.0 의미와 127.0.0.1과의 차이점을 자세히 설명한 포스트입니다. mamu2830.blogspot.com '0.0.0.0' 네트워크의 의미는 바로 IP주소를 적어야 하는데, 적을 게 없을 때 쓰는 '지정된 주소 없음' 용도 사실 이미 위에서 0.0.0.0의 용도를 보셔서 느낌이 오시겠지만, 그냥 딱 짚어서 말하자면 '127.0.0.1'은 자기 자신을 가리키는 용도, 그 딱 한개뿐입니다. 하지만 '0.0.0.0'은 위에서 알려드린 것처럼 '특정한 주소를 지정하지 않음, 모든 주소'라는 의미로 다양하게 쓰였죠. IP v4 주소 0.0.0.0의 의미 IP주소는 여러분들이 흔히 아시듯이 인터넷에 접속하기 위해 ..
[Docker] failed to Lchown failed to solve: failed to register layer: failed to Lchown "/opt/dev_ucx/MLNX_OFED_LINUX-5.7-1.0.2.0-ubuntu20.04-x86_64/DEBS/neohost-backend_1.5.0-102_amd64.deb" for UID 71873, GID 0 (try increasing the number of subordinate IDs in /etc/subuid and /etc/subgid): lchown /opt/dev_ucx/MLNX_OFED_LINUX-5.7-1.0.2.0-ubuntu20.04-x86_64/DEBS/neohost-backend_1.5.0-102_amd64.deb: invalid argument usermod -..
[Linux] ffmpeg 동영상 코덱 변경 https://storyjava.tistory.com/category/Media/FFmpeg FFmpeg와 친해지기 FFmpeg는 모든 음악, 사진, 동영상처리 관련에 있어서 가장 근본이라고 생각한다. 우리가 사용하는 대부분의 코덱은 대부분 FFmpeg의 libavcodec을 기반으로 하고 있으며, Python에서 자주 사용하는 비전 re-code-cord.tistory.com 기본 문법 file format pixel format image size input framerate 미디어 파일 정보 추출 ffmpeg -i 1080.mp4 avi 파일을 mp4 파일로 변경하기 ffmpeg -i '파일명.avi' -c:v libx264 -crf 19 -preset slow -c:a aac -b:a 192k -..
[Linux] vi 단축키 / 전체선택, 전체복사, 전체삭제 1. gg // 맨 윗 첫줄로 이동 2. Shift + v + g // 전체선택 3. y // 복사 ==> 전체 복사 4. d // 삭제 ==> 전체 삭제
[Git] git ssh로 clone [ GitHub ] Build Docker Image with Private Repo 이번 포스팅에서는 Github에 있는 Private Repo 를 가지고, 도커 이미지를 빌드하는 방법에 대해 다뤄보도록 하겠습니다. 자격증명이 따로 필요한 이유 private 가 아닌 public 이었을 때는, 레포지토리를 ffoorreeuunn.tistory.com 요약 ssh-keygen -t rsa -b 4096 -C "입력할 코멘트" cd .ssh/ cat id_rsa.pub ssh github에서 등록 touch /home/ubuntu/.ssh/known_hosts ssh-keyscan github.com >> /home/ubuntu/.ssh/known_hosts SSH-Key Gen RSA 키를 만들기 위해,..
[Linux] vi 단축키 / 주석 vi/vim 여러줄 주석 및 해제 방법 vi/vim 편집기에서 한번에 여러줄을 주석처리하거나 해제하는 방법에 대해서 간단히 알아보겠습니다. 1. 여러줄 주석 처리 1.1 vi/vim 명령어를 통해 수정할 파일을 연다. 1.2 v를 클릭하여 visual 모드 insight-bgh.tistory.com 1. 여러줄 주석 처리 1.1 vi/vim 명령어를 통해 수정할 파일을 연다. 1.2 v를 클릭하여 visual 모드로 진입 후 hjkl을 이용하여 주석 처리할 줄을 선택한다. 1.3 : 키를 누르고 norm i#을 입력 후 엔터를 클릭한다. 2. 주석 해제 2.1 vi/vim 명령어를 통해 수정할 파일을 연다. 2.2 v를 클릭하여 visual 모드로 진입 후 hjkl을 이용하여 주석 해제할 줄을 선택한다...
[Git] Detached Head git checkout origin/feat* 를 했더니 detached head라는 말이 떴다. sjkim@cv2080ti2way:~/workspace/eo-detector-lib$ git checkout origin/feat-fix-slice-bug Note: switching to 'origin/feat-fix-slice-bug'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a b..
[Basic] SIMD performance Does rewriting memcpy/memcmp/... with SIMD instructions make sense? Does rewriting memcpy/memcmp/... with SIMD instructions make sense in a large scale software? If so, why doesn't GCC generate SIMD instructions for these library functions by default? Also, are t... stackoverflow.com these functions are much faster with SSE instructions. It would be nice if your runtime library/compiler instrins..
[Linux] tree 출력결과 저장하기 (Redirect Output) cmd의 redirect output overwrite, append 문자 '>', '>>'를 사용해서 출력 결과를 저장합니다. 1. 파일 생성하기(동일한 이름의 파일이 있으면 Overwriting 됩니다) tree 폴더이름 > 파일이름 2. 내용 Appending(해당 파일에 내용을 이어서 저장합니다.) tree 폴더이름 >> 파일이름 리눅스 Tree 명령어로 폴더 구조 보기 리눅스 tree명령어를 통해서 폴더구조 보기 umanking.github.io 1. tree 명령어 설치 # 리눅스에서 설치 sudo yum install tree # 맥에서 설치 (homebrew로 이용) brew install tree 2. tree명령어 $ tree -L 2 ..
[Linux] apt-get 리눅스는 무료라서 사람들이 자유롭게 개발 할 수 있었고 그 중에는 팀을 만든 사람들도 있었다. 데비안과 레드헷은 그렇게 만들어졌다. 둘 다 리눅스라는 종이에 코딩 했으므로 작동 원리는 같지만 각기 다른 필기 도구를 사용 했기 때문에 사용되는 방식은 다르다. 데비안 계열(우분투)은 apt-get 명령으로, 레드헷 계열(Centos)은 rpm 명령으로 파일을 다운 받는다. apt-get update 명령어를 입력하면 etc/apt/sources.list 저장소에 등록되어 있는 자료 목록을 받는다. 자료를 받는게 아니라 '업그레이드 할 자료의 목록'을 받는 것이다.(다르게 말하면, 기존에 있던 목록을 새 것으로로 갱신-업데이트-한다고 생각 할 수 있다) 이때 받아지는 저장소의 목록은 OS 버전과 상관 없이 최..
[Linux] wget Linux에서 wget 비대화 형 네트워크 다운로더를 설치하는 방법을 배웁니다. Wget은 웹 또는 FTP 서버에서 파일을 검색하거나 다운로드하는 데 사용되는 GNU 프로젝트에서 개발 한 도구입니다. 이 명령은 FTP, HTTP 또는 HTTPS 프로토콜로 제공되는 파일을 다운로드합니다. 이것은 World Wide Web이라는 단어와 wget을 형성하는 단어의 결합입니다. Unix/Linux 시스템에서 터미널에 파일과 패키지를 다운로드하는 데 사용됩니다. apt-get install wget Linux에서 Wget을 설치하는 방법 Linux에서 Wget을 설치하는 방법 이 기사에서는 Linux에서 wget 비대화 형 네트워크 다운로더를 설치하는 방법을 배웁니다. Wget은 웹 또는 FTP 서버에서 파일을 ..
[Docker] nvidia-docker 설치 및 실행 Nvidia-docker 설치 및 설정 (Ubuntu20.04) 기준 사양RTX A6000 (Ampere Arch)Nvidia driver 470.xxCUDA 11.xUbuntu 20.04 LTShttps://docs.docker.com/engine/install/ubuntu/이전 버전 삭제https를 통해 reposito velog.io Setting up NVIDIA Container Toolkit (안정적인 레포지토리와 GPG Key 셋업) $ distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \ && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \ && cu..
[Docker] nvidia-docker의 Dockerfile [Docker] Dockerfile 개념 및 작성법 Dockerfile Dockerfile은 DockerImage를 생성하기 위한 스크립트(설정파일)이다. 여러가지 명령어를 토대로 Dockerfile을 작성한 후 빌드하면 Docker는 Dockerfile에 나열된 명령문을 차례대로 수행하며 DockerImage wooono.tistory.com Dockerfile Dockerfile은 DockerImage를 생성하기 위한 스크립트(설정파일)이다. 여러가지 명령어를 토대로 Dockerfile을 작성한 후 빌드하면 Docker는 Dockerfile에 나열된 명령문을 차례대로 수행하며 DockerImage를 생성해준다. Dockerfile을 읽을 줄 안다는 것은 해당 이미지가 어떻게 구성되어 있는지 알 수 있..
[Git] All conflicts fixed but you are still merging. pull 이후에 conflict merge하면 commit해야 함 (use "git commit" to conclude merge) 충돌 문제 해결 - CONFLICT : 협업하는 두 개발자 동일한 파일의 동일한 라인 수정하여 충돌 발생 시 충돌 문제 해결 - CONFLICT : 협업하는 두 개발자 동일한 파일의 동일한 라인 수정하여 충돌 발생 시키기 · 협업시 가장 빈번히 발생하고 가장 골치 아픈 충돌문제를 해결하는 방법을 확인하겠습니 codedragon.tistory.com [Git] git merge 한 번에 정리하기 : Fast Forward Merge, Commit Merge, Conflict Merge Git merge란? git branch를 다른 branch로 합치는 과정을 merge라 한..
[Git] restore --staged [Git] git restore 사용해 파일 단위 제어하기(git add 취소, 특정 커밋으로 되돌리기 등) git restore이란? git checkout은 하나의 키워드에 많은 기능이 들어있다. 때문에 checkout의 브랜치와 관련된 기능이 git switch 명령어로 새로 나오게 됐다. git restore 또한 새로 나온 키워드로 git의 파일 조 kotlinworld.com git의 파일 조작(특정 커밋으로 되돌리기, Unstaging 시키기 등) git restore --staged ... git restore [file name]을 사용해 특정 파일 HEAD Commit으로 복구하기 git restore --source [commit hash] [file name] 사용해 특정 파일 특정..
[Basic] Call by value, Call by reference 차이 함수 호출 방법은 크게 두가지가 있다. Call by value(값에 의한 호출) Call by reference(참조에 의한 호출) Call by value(값에 의한 호출)는 인자로 받은 값을 복사하여 처리를 한다. Call by reference(참조에 의한 호출)는 인자로 받은 값의 주소를 참조하여 직접 값에 영향을 준다. 간단히 말해 값을 복사를 하여 처리를 하느냐, 아니면 직접 참조를 하느냐 차이다. Call by value(값에 의한 호출) 장점 : 복사하여 처리하기 때문에 안전하다. 원래의 값이 보존이 된다. 단점 : 복사를 하기 때문에 메모리가 사용량이 늘어난다. Call by reference(참조에 의한 호출) 장점 : 복사하지 않고 직접 참조를 하기에 빠르다. 단점 : 직접 참조를 ..
[Git] 특정 브랜치 pull / push git pull을 하면 최신상태가 모두 pull 되지 않는 상황이 있다. Already up to date라고 뜬다. 특정 브랜치의 모든 상황을 pull하기 위해 아래 명령어를 사용한다. git pull origin 위의 명령을 사용하면 origin 에 연동된 원격저장소에서 특정 branch 만 pull 해오게 됩니다. Git 로컬 브랜치를 원격 저장소로 푸시(Push)하는 방법 git push는 로컬 브랜치(local branch)를 원격 저장소(remote repository)로 푸시할 때 사용하는 기본 명령어입니다. 이 git push 명령어는 다양한 옵션과 매개변수를 가지고 있습니다. 이 기사에서는 그 중 자 www.freecodecamp.org Git 로컬 브랜치를 다른 이름의 원격 브랜치로 푸..
[Git] Fetch와 Pull 차이점 git fetch는 로컬 Git에게 원격 저장소에서 최신 메타데이터 정보를 확인하라는 명령을 전달합니다. 단 fetch는 원격 저장소에 변경사항이 있는지 확인만 하고, 변경된 데이터를 로컬 Git에 실제로 가져오지는 않습니다. 반면 git pull은 원격 저장소에서 변경된 메타데이터 정보를 확인할 뿐만 아니라 최신 데이터를 복사하여 로컬 Git에 가져옵니다. git fetch를 사용하면 마지막 pull 이후 원격 저장소 또는 브랜치에 적용된 변경 사항을 확인할 수 있습니다. 만일 원격 저장소에 변경 사항이 존재하는 상황에서 pull을 바로 실행하면 현재 브랜치와 작업 복사본의 파일이 변경되는 동시에 새로 작업한 내용이 손실되는 일이 생길 수 있습니다. 따라서 fetch로 변경 사항을 먼저 확인한 후 pu..
[Git] push하지 않은 커밋 확인 git log --branches --not --remotes --branches는 ref/heads에 있는 모든 커밋을 보여주는 옵션이고(패턴을 주면 브랜치를 제한할 수 있습니다.) --remotes는 ref/remote에 있는 모든 커밋을 보여주는 옵션입니다.(패턴을 주면 마찬가지로 원격브랜치를 제한할 수 있습니다.) --not이 붙었으므로 원격에 없는 모든 커밋이 출력됩니다. git에서 push하지 않은 커밋 확인 :: Outsider's Dev Story git은 svn과는 달리 commit을 한 뒤에 나중에 모아서 push를 하기 때문에 작업을 하다보면 어디까지 푸시를 했는지 헷갈리는 경우가 있습니다. 브랜치를 왔다갔다 하면서 작업하면 더 헷갈리기 마련 blog.outsider.ne.kr
[Linux] grep LINUX - grep 명령어 기본 사용법 및 제외하고 출력하는 방법 안녕하세요. grep이라는 LINUX 에서 가장 많이 사용하는 명령어의 기본적인 사용법을 먼저 말씀드리겠습니다. 제가 test.txt 라는 파일을 만들고 그 안에 abfc def fghi jkl 라고 내용을 만들었습니다. 여 thabum.tistory.com test.txt 라는 파일을 만들고 그 안에 abfc def fghi jkl 라고 내용을 만들었습니다. 1. 여기서 f가 들어가는 줄만 부르고 싶을 때 grep f test.txt abfc def fghi 2. 앞에 f인 라인만 추출하고 싶기도 하고 뒤에 f인 라인만 추출하고 싶을 때가 있습니다. f로 시작하는 라인만 추출하기 grep ^f test.txt fghi 로 ^ 이라는 ..
[Linux] chmod 파일 & 디렉토리 권한 (소유권 / 허가권 / 특수권한) chown은 "change owner", 즉 파일, 또는 폴더의 소유권을 변경하는 명령어 chmod는 "change mode", 파일이나 폴더의 권한(읽기, 쓰기, 실행)를 변경 "change mode"인 이유는 UNIX 시스템에서 이러한 권한들을 mode라 부르기 때문 [Linux] chown(소유권 변경) vs chmod(파일권한 변경) 명령어 자바, 프로그래밍 이론, 알고리즘, 자료 구조, 웹, 네트워크, 자바스크립트 muckycode.blogspot.com [LINUX] 📚 파일 & 디렉토리 권한 (소유권 / 허가권 / 특수권한) 💯 정리 파일 및 디렉터리 권한 리눅스는 여러사용자가 들어와 사용하는 멀티유저 시스템이다. 따라서 여러 사용자가 들어와 사용하다보면, 서버에 올려진 비밀자료 열람과 그것..
[Git] 로컬 브랜치 모두 삭제하기 git branch | grep -v '^*' | xargs git branch -d Git local Branch 모두 삭제하기 // 모든 로컬 브런치 삭제 git branch | grep -v '^*' | xargs git branch -d // 모든 브런치 삭제 git branch | grep -v '^*' | xargs git branch -D 해당 작업을 할 때는 main(master) 브런치에서 작업하는 것을 추천합니다. kir93.tistory.com