Programming/Linux

Programming/Linux

[Linux] 기본 명령어

리눅스에서 자주 사용하는 명령어를 정리해보았다. ls (List segments) 현재 위치의 파일 목록 조회하기 위해 사용 ls -l : 파일의 상세정보 ls -a : 숨김 파일 표시 ls -t : 파일들을 생성시간순(제일 최신 것부터)으로 표시 ls -rt : 파일들을 생성시간순(제일 오래된 것부터)으로 표시 ls -f : 파일 표시 시 마지막 유형에 나타내는 파일명을 끝에 표시 ('/' : 디렉터리, '*' : 실행파일, '@' : 링크 등등,,,) cd (Change directory) 디렉터리 이동할 때 주로 사용하는 명령어 cd 디렉터리 경로 : 이동하려는 디렉터리로 이동 cd ~ : 홈 디렉터리로 이동 cd / : 최상위 디렉터리로 이동 cd . : 현재 디렉터리 cd .. : 상위 디렉터리..

Programming/Linux

[Linux] 전체 프로세스 메모리 사용량 상위 10개 확인하기

아래 명령어는 현재 실행중인 모든 프로세스의 메모리 사용량으로 정렬 후 PID와 각종 메모리 사용률 및 프로세스를 상세하게 보여준다. $ ps -eo user,pid,ppid,rss,size,vsize,pmem,pcpu,time,cmd --sort -rss | head -n 11 참고자료 : https://www.runit.cloud/2020/11/linux-process-memory-usage.html 리눅스 메모리 사용 프로세스를 확인하는 2가지 방법 리눅스 서버에서 프로세스의 메모리 사용량을 확인하기 위한 방법을 알아보고, 아래 실습 내용을 통해 쉽게 사용할 수 있습니다. 커맨드 라인에서 ps와 top 명령어를 사용해서 메모리 사용량에 www.runit.cloud

Programming/Linux

[Linux] locate 명령어

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

Programming/Linux

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

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

Programming/Linux

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

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

Programming/Linux

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

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

Programming/Linux

[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..

Programming/Linux

[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..

Programming/Linux

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

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

Programming/Linux

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

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

Programming/Linux

[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. (복수 파일..

Programming/Linux

[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..

Programming/Linux

[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

Programming/Linux

[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..

Programming/Linux

[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이다. 결..

Programming/Linux

[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

Programming/Linux

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

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

Programming/Linux

[Linux] 터미널 창에서 ctrl + s

리눅스 터미널 창에서 버릇처럼 ctrl + s 를 누르게 되는데 이는 Data Sending 을 멈추는 것 이기 때문에 키가 안먹는 현상이 발생한다. 이 때 ctrl + q 를 누르면 일시정지된 창이 재개된다 ...

Programming/Linux

[Linux] 폴더 용량 크기 순서대로 확인하기

du -sh * | sort -h du -sh * | sort -h

Programming/Linux

[Linux] Ubuntu에 Nvidia Driver 설치하기

Ubuntu 가 설치되어있는 상태에서 NVIDIA DRIVER 설치하기 1. 그래픽 카드 종류 확인하기 $ sudo lspci -vnn |grep VGA 2. 필요한 컴파일러 및 32bit 라이브러리 설치하기 $ sudo dpkg --add-architecture i386 $ sudo apt update $ sudo apt install build-essential libc6:i386 3. nouveau 드라이버 비활성화 하기 (블랙리스트 추가) $ sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf" $ sudo bash -c "echo options nouveau modeset=0 >> /etc/mod..

꾸준희
'Programming/Linux' 카테고리의 글 목록