본문 바로가기

IT

(236)
[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
[Linux] 파일, 폴더 개수 확인하기 현재 위치에서의 폴더 개수 ls -l | grep ^d | wc -l 현재 위치에서의 파일 개수 ls -l | grep ^- | wc -l 현재 폴더의 하위 파일 개수 find . -type f | wc -l [Linux/Ubuntu] 파일, 폴더 개수 확인하기 [Linux/Ubuntu] 파일, 폴더 개수 확인하기현재 위치에서의 폴더 개수ls -l | grep ^d | wc -l현재 위치에서의 파일 개수ls -l | grep ^- | wc -l현재 폴더의 하위 파일 개수find . -type f | wc -l minimin2.tistory.com
[Linux] ls 명령어 Linux : Ls 명령어 사용 방법, 예제, 명령어 (파일, 디렉토리 나열) ls는 Linux 사용자가 알아야 하는 기본 명령 중 하나입니다. ls 명령은 파일 시스템 내의 파일 및 디렉터리를 나열하고 이에 대한 자세한 정보를 표시합니다. GNU 핵심 유틸리티 패키지의 일부이며 jjeongil.tistory.com 파일 형식 파일 사용 권한 파일에 대한 하드 링크 수 파일 소유자 파일 그룹 파일 크기 날짜 및 시간 파일 이름 ls -l /etc/hosts # -rw-r--r-- 1 root root 337 Oct 4 11:31 /etc/hosts 첫 번째 문자는 파일 형식을 나타냅니다. 이 예제에서 첫 번째 문자는 -이며, 일반 파일을 나타냅니다. 다른 파일 형식에 대한 값은 다음과 같습니다. - - ..
[Linux] chown 파일, 폴더 소유자 변경 소유자(사용자, 그룹) 변경 명령어 , chown chown [옵션] [소유자:소유그룹] [파일 또는 폴더] 옵션 -R : 하위 경로의 소유자를 모두 변경합니다. -f : 소유자 변경이 안 될때 오류 메시지 표출합니다. -c : 변경된 파일을 자세히 표출합니다. -v : 작업상태를 출력합니다. --help : 도움말을 보여줍니다. --version : 버전 정보를 보여줍니다. 하위 디렉토리의 소유자 모두 변경, -R
[Linux] 파일 시스템 계층 구조 [Linux/리눅스] 03. 파일 명령어 , 디렉토리 명령어 , 링크 명령어 , 하드 링크 , 소프트 링크 Linux 파일 시스템 계층 구조 파일 시스템 계층 구조 Linux 시스템의 모든 파일:: 파일 시스템 계층 구조 , 반전된 단일 디렉토리 트리로 구성된 파일 시스템에 저장된다. 루트가 최상단에 위치하고 seokho-j0308.tistory.com 리눅스 디렉토리 구조와 의미 안녕하세요. 이번에는 리눅스 디렉토리 구조와 의미에 대해서 알아보겠습니다. 리눅스 디렉토리 구조의 가... blog.naver.com /usr 설치된 소프트웨어, 공유 라이브러리, 포함된 파일 및 정적 읽기 전용 프로그램 데이터 중요한 하위 디렉토리에는 다음이 포함된다. - /usr/bin : 사용자 명령 - /usr/sbin..
[Linux] 하위 폴더 용량 확인 du(disk usage) [Linux]리눅스 하위 폴더 용량 확인 du 리눅스에서 하위 폴더 용량을 확인하는 방법 현재 폴더 또는 하위 폴더의 용량을 확인할 때, du 라는 명령어를 사용합니다.du는 disk usage 의 약자 입니다. 폴더, 파일 용량 확인 du du [option] [폴더] itworld.gmax8.com 폴더, 파일 용량 확인 du du [option] [폴더] 옵션 -a : 하위 폴더의 모든 파일, 폴더 기본 정보를 출력 -b : 표시단위를 Byte로 출력 -c : 모든 파일의 사용정보와 합계 출력 -k : 표시단위를 KB로 출력 -h : KB, MB, G 등 보기 쉽게 출력 -s : 총 사용량만 출력 -S : 하위 폴더를 제외한 총 사용량 출력 -x : 현재 파일 시스템의 파일 사용량을 출력 -X [파..
[Linux] cp 진행률 보여주는 rsync cp 대신 rsync : 파일 복사 진행 상황을 보고 싶을 때. – 바깥 세상으로.. (As a kite by then) www.nemonein.xyzrsync -ah --info=progress2 -av 를 사용하기도 한다. 그러나, v 를 쓰면, progress2 가 의미를 잃고, 모든 파일을 하나씩 보여준다. 파일이 많을 경우 화면 스크롤이 주르륵~만약 v 를 꼭 쓰고 싶다면, 파일명을 인위로 표시하지 않게끔 설정해줘야 한다. rsync -avh --info=progress2,name0  복사할 파일 전체가 아닌, 파일 하나당 정보를 원할 수도 있다.이걸 원했다면, 즉 파일당 진행 상황을 원한다면 progress1 을 주면 된다.여기선 v 를 써도 되겠다. rsync -ah --info=prog..
[Git] 모든 Git 브랜치를 가져오기 로컬에서 작업하다가 remote에 있는 브랜치는 제거되었는데 내 로컬에서는 그게 반영되지 않는다. 그래서 pull을 했더니 코드는 받아들여지지만 브랜치 정보가 받아들여지지는 않고 그대로 남아있다. 인터넷으로 찾아보니 간혹 깃헙 페이지에서 GUI로 삭제 처리를 한경우 해당 로컬 저장소 커멘드라인에서 원격브랜치 목록 조회를 했을 때, 삭제했음에도 불구하고 여전히 브랜치가 보이는 경우가 있다고 한다. 이런 경우 아래 명령어로 로컬과 원격 브랜치를 동기화 할 수 있다. git fetch --all --prune 모든 Git 브랜치를 가져오는 방법 질문자 :David542 약 5개의 분기가 포함된 Git 리포지토리를 복제했습니다. git branch 수행하면 그 중 하나만 볼 수 있습니다. $ git branch..
[Git] tracked untracked unmodified modified staged [Git] #5 깃 버전 관리 VOL3 - 파일의 상태 (tracked untracked unmodified modified staged) * 다음 포스팅은 깃(Git)의 사용방법에 대하여 정리한 것으로, 개인적인 공부 기록용으로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. * Window 운영체제를 기준으로 작성했습니다. novlog.tistory.com - add 한번하면 staged되고 track상태임 - add -> staging area로 이동 - stage상태의 add된 파일들을 commit하면 이제 더 이상 수정된 파일은 없고 최신 상태로 상태가 저장됨
[Git] 병합 취소하기 [Git 정리] 병합 취소하기 "브랜치 병합" 글에서 merge 도중 --abort를 통해 병합을 취소할 수 있다는 것을 알게되었습니다. 이번 글에선 병합이 완료된 경우 병합을 취소하는 방법을 정리합니다. reset을 이용한 병합 취소 병 velog.io reset을 이용한 병합 취소 병합이 일어난 직후엔 git엔 ORIG_HEAD라는 새로운 참조 commit을 가집니다. 혹여나 실수로 병합을 한 경우에 즉시 병합을 취소할 수 있도록 하기 위함입니다. [reset을 통한 병합 취소] $ git reset --merge ORIG_HEAD # 위와 같은 효과를 냅니다. $ git reset --hard ORIG_HEAD 위 명령은 바로 직전 병합을 취소하는 명령입니다. fast-forward 병합이나 완전병..
[Git] git stash 커밋하지 않고 변경사항 저장하는 방법 git stash pop: apply와 drop 명령어의 조합 이번에는 git stash pop에 대해서 좀 더 알아보겠습니다. git stash pop을 인자 없이 실행하면 인덱스가 stash@{0}인 변경사항(가장 최근에 stash된 내용)에 대해 다음 두 가지 작업을 수행합니다. stash@{0}을 꺼내온다. (apply) stash@{0}을 삭제한다. (drop) git stash 사용법: 커밋하지 않고 변경사항 저장하는 방법 git stash 명령어으로 Git 저장소의 변경사항을 임시로 스택에 쌓아둘 수 있습니다. 이 글에서는 stash를 사용해 변경사항을 저장하고 다시 꺼내오는 방법에 대해서 소개합니다. www.lainyzine.com
[Git] push/pull 자동 로그인 [Git] push/pull 자동 로그인 - 계정 설정 name 설정 git config --global user.name "{name}" 프로젝트 마다 다른 name 사용하려면 --global 옵션 제거 email 설정 git config --global user.email {email} 프로젝트 마다 다른 email 사용하려면 --global 옵션 beeodoc.tistory.com
[Linux] 프로세스 확인 & 죽이기 ps . kill 명령어 ps -e | grep abc 이런식으로 파이프를 이용하며 abc를 포함하고 있는 작동하는 프로세스를 검색하기도 합니다. 기본적인 ps 명령어만 확인했을 경우 입니다. 어떤 프로세스가 실행중인지 보여주며 PID , TTY, TIME, CMD 4가지 항목을 보여줍니다. ps -l 의 경우 상세내역을 보여 준다고 했습니다. 그냥 ps 를 했을경우와 똑같은 내용이지만 더 많은 정보가 담겨 있습니다. ps -e 의 경우 입니다. 모든 프로세스를 보여 줍니다. 아래 엄청 많이 있소 ㅋㅋㅋ ps -ef 입니다. 리눅스는 옵션이 조합 가능하기 때문에 두가지를 같이 쓸경우에는 모든 프로세스의 모든 정보를 출력하게 됩니다. ps -efc 똑같이 c 를 추가하여 명령이름 까지 보여 주게 됩니다. 그럼 프로세스를 죽이는 방..
[Linux] command terminal 단축키 1. ctrl + D command 창 exit. 2. ctrl + _ (ctrl + shift + -) Undo 3. ctrl + U 커서 좌로 전부 지우기. 4. ctrl + left arrow / right arrow 단어단위 커서 좌/우 5. alt + backspace 좌측으로 word 지우기 5. Alt + D 우측으로 word 지우기 6. alt + B, alt + F 단어단위 커서 좌/우 7. ctrl + XX 현재 위치 기억하고 맨 앞으로 가기. 다시 누르면 이전 위치로 돌아감. 8. ctrl + K 커서 우로 전부 지우기. 9. !! 마지막 명령어 실행 10. cd - 이전 디렉토리로. Shift + PageUp : 상위 페이지 이동 Shift + PageDown : 아래 페이지 이동 ..
[Git] git 명령 취소 방법 git 명령 취소 (pull, merge, commit, add 되돌리기) 🧑‍💻 git 명령 취소 방법 git을 사용하다 보면 잘못된 커밋 메세지나 추가, 브랜치 혼동 등 많은 이슈가 있을 수 있습니다. 간단한 커맨드로 git pull, git commit, git add 등의 명령들을 취소하고 되 2vup.com 🚀 git pull 취소하고 되돌리기 (ex.git pull origin main) git reset --hard ORIG_HEAD 🔻 git merge 취소하고 되돌리기 git reset --merge ORIG_HEAD 📮 git commit 취소하고 되돌리기 git reset --hard HEAD 한 단계 앞 commit이나 commit을 실행하기 전 상태로 되돌리는 것이 가능합니다. ➕..
[Linux] cat << EOF > a.txt here document, here-document, heredoc, hereis, here-string, here-script히어 문서, 히어 도큐먼트, 히어 다큐먼트, 히어 문자열, 히어닥 문자열을 쉘스크립트나 프로그래밍 언어 중에 그대로 포함시키기 위한 방법 world > EOF [root@zetawiki ~]# cat a.txt hello world EOF는 End of File, EOT는 End of Text이라는 의미이다. cat world > EOF user01@localhost:~$ cat file1.txt hello world 리눅스 cat
[CUDA] version 설치해야할 것 1. pytorch 2. cuda 3. cudnn 4. nvidia driver 5. anaconda 파이토치 설치를 위한 CUDA + cuDNN 설치(cuda toolkit 11.3.0, cudnn v8.2.0) 내 소감 : 지난 몇달간 텐서플로우로 논문구현을 하려고 얼마나 애를 썼는지 모른다. 텐서플로우로 논문을 구현하려면, cuda 와 cudnn 모두 설치해줘야 했다. 한동안 열심히 여러차례 시도해봤지만 leonam.tistory.com 현재 상태 1. pytorch 1.12.0 2. cuda 11.7.0 anaconda => cuda toolkit 11.3 3. cudnn
[Linux] ssh로 파일전송 - scp ssh로 파일전송 - scp ssh로 간단하게 파일을 전송할 수 있습니다. scp라는 명령어를 사용하면 되는데 사용법은 아래와 같이 매우 단순합니다 1. 일반적인 파일 전송 ~ scp (전송할 파일) (아이디@전송할 서버주소):(저장 tourspace.tistory.com 1. 일반적인 파일 전송 ~ scp (전송할 파일) (아이디@전송할 서버주소):(저장될 서버의 디렉토리) ex) ~ scp /home/local/a.txt remote@myserver.com:/home/remote 2. ssh 포트 번호가 22번(기본)이 아닌경우 ~ scp -P 포트번호 (전송할 파일) (전송할 서버주소@아이디):(저장될 서버의 디렉토리) ex) ~ scp -P 9999 /home/local/a.txt remote@m..
[Colab] 구글 드라이브 파일 다운로드 [CoLab] 파일 zip하는 법 [CoLab] 파일 zip하는 법 1. 자신의 위치를 파악합니다.(아마 '/content'에 있으실 것입니다.) !pwd 2. zip하고자 하는 파일 경로를 알아냅니다. 이 때 왼쪽에 있는 폴더 모양을 클릭하여 위치를 찾으면 aigong.tistory.com
[Colab] 무료 버전, pro 버전 차이점
[CUDA] NVIDIA-SMI 확인방법 및 활용하기 nvidia-smi 옵션 사용법 nvidia gpu를 사용하기 위해서는 nvidia에서 제공하는 GPU Driver를 각각의 os에 맞게 설치해야 한다. 드라이버 설치에 성공하고 가장 먼저 사용하는 명령어는 nvidia-smi이다. 하지만 보통 사람들은 nvidia-smi를 GPU가 제대로 올라오는지 확인 차원에서만 사용하지만, 다른 차원에서는 nvidia smi 명령어는 현재 GPU의 모든 상태를 monitoring 해주고 있다. 그렇다면 nvidia-smi의 화면을 보면서 하나씩 간단하게 설명하도록 하겠다. # nvidia-smi 위 그림처럼 nvidia-smi 명령어는 많은 내용을 담고 있다. 아래에서 자세히 한번 확인 해보도록 하겠다. 1. Driver Version 현재 설치되어 있는 nvidi..
[Basic] 런타임과 컴파일타임 차이 원문보기 런타임(Runtime)과 컴파일타임(Compiletime)은 소프트웨어 프로그램개발의 서로 다른 두 계층의 차이를 설명하기 위한 용어이다. 프로그램을 생성하기 위해 개발자는 첫째로 소스코드를 작성하고 컴파일이라는 과정을 통해 기계어코드로 변환 되어 실행 가능한 프로그램이 되며, 이러한 편집 과정을 컴파일타임(Compiletime) 이라고 부른다. 컴파일과정을 마친 프로그램은 사용자에 의해 실행되어 지며, 이러한 응용프로그램이 동작되어지는 때를 런타임(Runtime)이라고 부른다. "런타임"과 "컴파일 타임"이라는 용어는 종종 서로다른 두 가지 타입의 에러를 나타내기 위해 사용되어지곤 하는데, 컴파일 타임 에러는 프로그램이 성공적으로 컴파일링되는 것을 방해하는 신택스에러(Syntax error)나..
[Docker] Docker run 옵션 추가하기 Docker을 run 해서 사용하는 중간에 추가적으로 옵션이 더 필요할 수도 있다. 예를 들어 volume share (local pc와 container 사이의 공유 폴더 생성) 이나 port 지정 같은 설정은 처음에 docker run을 할 때 -v 또는 -p로 주지 않으면 중간에 추가할 수가 없다. 이럴 때에는, container를 commit하여 현재 상태를 이미지로 저장해 두고, 이를 다시 run 하면서 추가 옵션을 주는 형태로 실행시키면 할 수 있다. 예를 들어, testtest 라는 이름의 container가 run 중일 때, port 지정 옵션을 추가하고 싶다면, sudo docker commit testtest NEW_NAME 위와 같이 먼저 한다. 여기서 NEW_NAME은 새로운 이름으..
[Linux] opencv 설치 및 오류 pip3 install opencv-python 혹시 ImportError: libGL.so.1: cannot open shared object file: No such file or directory 에러가 뜬다면 위의 링크에서 처럼 $ sudo apt-get install libgl1-mesa-glx 를 실행하세요
[Docker] link 후 jupyter notebook, -p(port) 옵션 처음에는 cuda가 8888:8888이었다. 그리고 pytorch가 8080:8888로 설정한 후 jupyternotebook을 연결했더니 전혀 연결이 안됐다. 그래서 cuda를 8080:8888로 바꾸고 pytorch를 8888:8888로 변경하였더니 된다. jupyter notebook --ip 0.0.0.0 --port 8888 --allow-root 8080:8888 pytorch docker컨테이너의 웹서버 port인 8888에서 host 웹서버 port 8888로 연결하기 위해서인가 보다. 하나는 그냥 웹서버 포트 8888이고 다른 하나는 ssh 접속을 위한 포트 입니다. 앞에 -p 옵션을 붙여주면 여러개 등록이 가능합니다. docker run -it -p [ 외부포트1 ]:[ 내부포트1 ] ..
[Linux] PATH값 초기화 하기 .bashrc를 검색하여 열어줍니다. 맨 아래로 내려가서 export PATH=$(getconf PATH) 입력해주고 SAVE 해줍니다. 터미널을 다시 켜주면 정상적으로 돌아와 있는 것을 볼 수 있을 겁니다. source ~/.bashrc [Ubuntu] PATH값 초기화 하기 각종 프로그램 및 언어를 설치하면서 PATH가 잘 못 설정되어 일부 기능을 제대로 사용하지 못 할 경우 PATH값을 초기화하는 방법입니다. 먼저 맨 왼쪽 아래 정사각형 버튼을 눌러 메뉴로 이동하고 somjang.tistory.com
[Docker] nvidia-docker 내가 어떤 컨테이너안에서 GPU를 사용하려고 하면 문제가 발생해요. 왜냐하면 컨테이너는 OS와 격리된 상태이기 때문이죠. 그렇기 때문에 이를 해결해줄 방법이 필요한데 그것이 바로 nvidia-docker에요! 간단하게 nvidia-docker에 대해서 말씀드릴게요. Docker 컨테이너에서 실행되는 응용프로그램은 OS와 분리 되어 있기 때문에 docker 컨테이너내에서 gpu를 실행할 수가 없어요. 그래서 docker 내부에서 gpu (driver) 이용하기 위해서는 host gpu driver와 docker를 연동시켜주는 driver가 있어야 하는데, 그것이 바로 nividia-docker에요! 아래그림을 보시면 'nvidia driver'가 이미 설치되어 있어야 한다는점 명심해주세요! (nividia..
[Docker] link 옵션 docker compose로 해보려했으나 yml 파일 다음이 무엇인지 알 수가 없었다... 그래서 --link옵션으로 설정했다. docker run -itd --name pytorch2 --link a282cf764a14 -v /mnt/d/train_dataset:/workspace -p 8889:8888 --gpus all --restart=always pytorch/pytorch:1.9.1-cuda11.1-cudnn8-devel nvcc -V 의 영광을 이곳에 남긴다. pytorch버전과 cuda버전이 맞아야 실행이 된다. 버전 문제가 참 많다.. pytorch 이미지 버전 pytorch/pytorch:1.9.1-cuda11.1-cudnn8-devel cuda 이미지 버전 11.1 버전이 맞는 것을 ..