리눅스와 유닉스

    Cgroup, 씨그룹, c그룹 이란 무엇인가?

    cgroup 이란? 제어 그룹 (control group) 의 줄임말이다. 프로세스의 리소스 사용량 (CPU, 메모리, 디스크 I/O, 네트워크) 등을 제한하고 격리하는 Linux 커널 기능이다. Docker 와 같이 컨테이너화된 환경에서 필요한 격리 및 리소스 제어를 제공하는데 필수적이다. 핵심 개념 리소스 제한 프로세스의 사용자 정의 그룹 간에 CPU 시간, 시스템 메모리, 네트워크 대역폭과 같은 리소스를 할당할 수 있다. 우선순위 지정 서로 다른 리소스 그룹의 우선순위를 정의할 수 있다. 부하가 높을 때 어떤 애플리케이션이 더 많이 리소스를 확보할지 설정이 가능하다. 감사 (Audit) 여러 작업 그룹에서 사용하는 리소스에 대한 자세한 계정을 제공한다. 모니터링 및 감사 목적에 중요하다. 제어 제어..

    .bashrc 파일이란?

    .bashrc 란? Bash 가 시작될 때마다 실행되는 스크립트다. Bash 는 대화형 셸 세션이다. bash, 그리고 Shell 이란 무엇인가 [[002.bash-란-무엇인가]] Bash 에 무언가 개인화된 기능을 넣을 때 필요하다. .bashrc 의 일반적인 용도 환경변수 설정 (environment variables) 명령의 별칭 만들기 (alias) 기본 편집기 설정 Bash 프롬프트 사용자 지정 PATH 변수에 디렉터리 추가 .bashrc 는 Bash 셸에서만 동작한다. Zsh 나 Fish 와 같은 다른 셸엔 자체 구성파일이 있다. .bashrc 파일의 작성 예제 alias: 편의를 위한 별칭 설정 PATH: 사용자의 /bin 디렉터리가 있는 경우 이를 포함하도록 PATH 업데이트 등등등... ..

    Bash, 그리고 Shell 이란 무엇일까?

    개요 Shell 의 일종이다. Shell 이란 운영체제에서 커널과 이용자 사이에 끼어 이용자의 명령어를 해석하고 처리 결과를 나타내주는 시스템 프로그램을 말한다. 운영체제만 딸랑 있으면 운영체제 내부에 있는 파일 접근, 명령 수행 등이 매우 어려운데 그 사이 브로커 역할을 해주는 것이 Shell 이다. Bash 는 Bourne Again SHell 을 줄여서 표현한 것이다. Bash 외에도 csh, ksh, zsh 등 많은 셸들이 존재한다. Bash 의 기능들 CLI (Command-line Interface) 파일 관리, 프로그램 실행, 디렉터리 탐색 등의 작업 수행이 가능한 텍스트 인터페이스를 제공한다. 스크립팅 언어 (Scripting Language) 셸 스크립트를 작성할 수 있게 해준다. 파일 ..

    apt-get remove 명령어와 apt-get purge 명령어의 차이

    리눅스에서 패키지 지우기 리눅스에서 패키지를 지우는데는 apt-get remove 명령어와 apt-get purge 명령어가 있다. apt-get remove 명령어는 설정파일을 제외한 패키지 파일을 지우는 명령어이다. apt-get purge 명령어는 설정파일을 포함한 패키지 파일을 모두 지우는 명령어이다. apt-get remove 시스템에서 패키지를 제거하는 데 사용되지만 해당 패키지와 관련된 구성 파일은 그대로 유지 패키지 자체는 제거되지만 패키지 설치 중에 생성된 모든 구성 파일은 시스템에 잔류 나중에 패키지를 다시 설치하면 기존 구성 파일을 사용 apt-get purge apt-get remove 와 유사하지만 패키지를 제거할 뿐만 아니라 패키지와 관련된 모든 구성 파일도 제거 패키지를 제거한..

    Windows WSL 에서 C 언어 코딩 환경 세팅하기

    WSL 을 세팅하는 이유 윈도우즈에서 mingw 를 이용해 C 언어 코딩을 하려고 했는데 리눅스 버전과 라이브러리 차이가 조금 심해서 어쩔 수 없이 WSL 을 세팅해야 했다 WSL Ubuntu Linux 에서 C 언어 사용법 WSL 설치 WSL 을 WSL2 로 업그레이드 공식 문서 보고 쉽게 가능 sudo apt-get install build-essential gdb 설치 안되면 sudo apt-get update 이용 C/C++ Extensions 설치 설치 이후 WSL 전용도 익스텐션도 설치 .vscode 아래 설정 파일들 c_cpp_properties.json 파일 { "configurations": [ { "name": "Linux", "includePath": ["${workspaceFolde..

    WSL 에서 apt-get install 을 이용한 패키지 설치가 동작하지 않을 때

    증상 sudo apt install tree sudo apt install xxx 명령어가 먹지 않는다 Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package tree 위와 같은 메세지를 내뱉으며 설치가 되지 않음 해결 $ sudo apt-get update apt-get update 명령어를 먼저 입력하여 패키지 리스트를 최신으로 만들면 이후부터는 apt get install 이 잘 동작한다

    WSL 루트 (ROOT) 계정 패스워드 분실 (까먹었을 때)

    WSL 루트 (root) 계정 패스워드 분실 (까먹었을 때) 명령 프롬프트를 실행한다 wsl -u root 명령어를 입력한다 passwd 명령어를 이용하여 root 계정의 새로운 암호를 설정한다. 특정 유저의 패스워드를 까먹었다면? passwd 유저이름 명령어를 이용하여 해당 유저의 패스워드를 초기화한다. 레퍼런스

    Glob 이란 무엇일까?

    개요 glob이란, 파일 이름의 집합을 wildcard characters 로 명시하는 패턴을 말한다. 예시로 Unix Bash shell 에서 mv *.txt textfiles/ 명령어를 입력하면, .txt 로 끝나는 모든 파일을 textfiles 디렉토리로 이동시킨다. * 은 / 를 제외한 모든 문자열을 뜻한다. ? 는 1 글자의 어떤 문자를 뜻한다. 기원 벨 연구소의 유닉스 최초버전에서 비롯되었다. global 을 줄여서 glob 이라고 표현한 것이다. 벨 연구소에서 개발한 B 언어 에서 비롯되었다. 이전 유닉스에서는 숨김 파일을 보고 싶을 때 숨김 파일 앞에 . 이 들어간다는 점을 이용해 .* 와 같은 형식으로 많이 이용했었다. 와일드카드별 기능 *: 길이에 상관없이 모든 문자열을 매칭한다. ex..

    tty 란 무엇인가?

    개요 tty 는 리눅스에서 제공하는 다양한 프로그램의 매뉴얼에서 자주 등장하는 단어이다. tty 란 유닉스나 유닉스와 같은 운영체제에서 standard input 에 연결된 터미널의 파일 이름을 출력하기 위한 명령어이다. tty 는 TeleTYpewriter 에서 온 약자이다. 역사적 배경 예전엔 전신이나 전화선을 사용하여 장거리에서 타이핑된 메세지를 주고 받았다. 컴퓨터가 개발되며, 사용자가 초기 컴퓨터와 상호작용할 수 있도록 개조됨. 사용자가 명령을 입력하면 컴퓨터가 응답하여 종이에 출력물을 다시 인쇄했음. 현재의 의미 터미널 혹은 콘솔에서 텍스트 입력/출력 환경을 가리키게 됨 용례 tty 는 보통 출력 수단이 터미널인지 확인하기 위해서 사용된다. tty 명령어는 standard input 에 연결된..

    리눅스의 파이프라인 명령(|)과 용례에 대해서 알아보자

    | 파이프라인 (pipeline command) 커멘드 두 개의 프로세스를 연결해주는 통로를 의미한다. A 라는 명령어의 실행 결과를 그대로 B 라는 명령어의 인수로 옮기고 싶을 때 유용하다. 자주 쓰이는 용례 1: 원하는 파일 혹은 디렉토리 찾기 리눅스에서 ls 명령어를 입력하면, 내가 위치한 디렉토리에 있는 모든 디렉토리와 파일의 목록이 나온다. 이 때, 내가 원하는 파일 혹은 디렉토리가 있는지 확인하려면 목록의 이름을 일일이 확인할 필요 없이 다음과 같은 명령어로 가능하다. ls | grep spring 위와 같이 입력하면, ls 의 결과 값 중 spring 이라는 글자가 포함된 라인만 출력된다. 자주 쓰이는 용례 2: 서버 로그 보기 리눅스 환경에서 서버의 로그를 볼 때, tail -f log.l..

반응형