본문 바로가기

OS/Linux

Linux - 텍스트 편집 명령어(sed) Sed(streamlined editor) : 정규식과 같은 패턴 식을 적용하여 파일을 원하는대로 편집할 수 있는 편집기이다. vi 편집기처럼 실시간 수정이 아닌 커맨드 창 또는 스크립트에서 원하는 부분만 수정해서 보여주는 특징이 있다. sed 명령어로 수정해도 원본에는 영향이 없습니다. (단, sed 옵션에서 -i 옵션을 사용하면 원본도 수정됨) sed 명령어 사용법 sed [옵션] [세부옵션] [파일명] // 옵션에 따라 사용법이 달라짐 ex) sed -n '1p' sed_test.txt // sed_test.txt 파일의 첫 번째 행만 출력해서 보여준다 ex) sed -n '/samso/p' sed_test.txt // sed_test.txt 에서 samso가 포함된 행을 찾아 출력해서 보여준다 s.. 더보기
Linux - mount(마운트) [mount 정의] 리눅스는 하드디스크의 파티션, CD/DVD, USB 등을 사용하려면 특정한 위치에 연결해 줘야 사용이 가능합니다. 운영체제가 디스크를 인식하도록 연결해 주는 행위를 mount(마운트)라고 합니다. 마운트 과정은 "선박(디스크)"과 "선착장(디렉토리)"의 관계라고 생각하시면 이해가 쉽게 됩니다. 배(디스크)가 있습니다. 그리고 그 배를 관리하는 선장(파일시스템)이 있죠. 선박(디스크) 자체를 사용하는 것에는 문제가 없습니다. 하지만 다른 나라(시스템)와 교류하려면 나라에서 마련해 준 선착장(디렉토리)에 배(디스크)를 선착(마운트)하면 사용할 수 있게 됩니다. ※ USB장치는 보통 fat32나 ntfs 포맷이라 꽂으면 윈도우는 바로 인식되지만 리눅스는 인식하려면 마운트 필요 mount [.. 더보기
Linux - kernel(커널) 이란 무엇일까? [Kernel 정의] 운영체제(OS)의 핵심적인 부분으로 컴퓨터 하드웨어와 응용프로그램 사이를 연결해 주는 인터페이스 시스템에 존재하는 자원을 효율적으로 관리하기 때문에 사용자와 상호작용은 하지 않고 이를 지원하는 프로그램이 대표적으로 Shell이 있다. Shell 이 궁금하다면? [OS/Linux] - Linux - shell(쉘,셸) 이란 무엇일까? [Kernel의 기능] 프로세서 관리 - 운영체제의 처리속도를 향상시키기 위해 여러 프로세서를 병렬로 연결하여 사용한다. 시스템에서 동작하는 프로세스도 커널에서는 관리해야 할 자원이고, 운영체제의 처리 요구에 맞춰 동작하도록 각 프로세스에 필요한 프로세서를 효율적으로 할당하고 수행하도록 관리한다. 프로세스(Task) 관리 - 커널은 스케줄러를 이용하여 여.. 더보기
Linux - shell(쉘,셸) 이란 무엇일까? [Shell 정의] 사용자의 명령어를 운영체제가 이해하도록 도와주는 것으로 사용자와 커널을 연결해 주는 인터페이스 ls 명령어를 입력하면 파일 리스트가 화면에 보이게 되는데, ls가 "명령어"가 되고 shell에 의해서 커널이 인식할 수 있는 형태로 변환되어 커널이 "파일 리스트가 필요하구나" 라고 인지해서 화면에 파일리스트를 표시해 줍니다. Kernel(커널) 이 궁금하다면? [OS/Linux] - Linux - kernel(커널) 이란 무엇일까? [Shell 종류] 1. Bourne Again Shell (bash) - 리눅스에서 가장 많이 사용되며 IEEE POSIX Shell과 도구 명세에 호환되도록 하는 게 목적 - 프롬프트는 $(일반유저) / #(root유저) - Bourne Shell과 C .. 더보기
Linux - 사용자 계정 관리 명령어 [사용자 계정 관리 명령어] 사용자 정보 조회 : id id [옵션] 사용자계정 -g : 기본 그룹의 GID 출력 -G : 모든 그룹의 GID 출력 -u : 사용자의 uid 출력 -n : 위 옵션과 함께 사용, 숫자대신 이름 출력() ex) # id -Gn samso 현재 로그인되어 있는 사용자 목록 조회 : users ex) # users 사용자 계정 추가 : useradd useradd [옵션] 로그인 계정 -c comment : 사용자 이름 또는 정보 -d home_directory : 사용자 계정 홈 디렉토리 -e expire_date : 사용자 계정 유효 기간 -f inactive_time : 비활성 기간 -g initial_group : 기본 그룹 -G groups : 기본그룹 외에 추가로 소.. 더보기
Linux - 서비스관리 명령어 (systemctl / service / chkconfig) CentOS6 이전 버전의 리눅스는 /etc/rc.d/init.d/ 디렉토리에 서비스 관리 스크립트가 있었습니다. CentOS7 부터는 서비스 관리를 systemd에서 하게 되며 systemctl 명령어를 통해 각 서비스들을 제어하게 됩니다. 명령 service systemctl 비고 시작 service 서비스명 start systemctl start 서비스명.service systemctl의 경우 .service 생략 가능 종료 service 서비스명 stop systemctl stop 서비스명.service 재시작 service 서비스명 restart systemctl restart 서비스명.service 설정 값 다시 읽기 service 서비스명 reload systemctl reload 서비스명... 더보기
Linux - 메모리 정보 확인 명령어(free) Linux free 명령어란? 리눅스 (CentOS, RHEL, Ubunto 등)에서 어떤 프로그램을 사용하냐에 따라 항상 메모리를 고려해야 합니다. 메모리를 많이 사용하는 프로그램도 많고, 캐시나 데이터베이스를 사용하는 경우 메모리 확인은 중요합니다. 이때 free 명령어를 사용하면 쉽게 메모리 사용량과 여유량 캐싱으로 사용되는 메모리를 확인할 수 있습니다. 1. 리눅스 가용 메모리 확인하기 total : 전체 물리적인 메모리의 크기 / 설정된 스왑 전체 크기 used : 사용 중인 메모리 크기 / (total - free - buff/cache) free : 사용 중이 아닌 메모리 크기 / 사용 가능한 메모리 크기 (total - used - buff/cache) shared : 공유 메모리 크기 /.. 더보기
Linux - RPM RPM (RedHat Package Manager) 초기 리눅스에선 모든 패키지를 tar와 gzip등 압축되어 있는 소스 파일을 직접 컴파일한 후 수동 설치해 사용했다. A 패키지를 설치해서 사용하기 위해 B 패키지가 필요한 경우 B 패키지를 우선 설치해야 하는 번거로움이 있어 이를 개선하기 위해 패키지 관리 프로그램인 RPM이 등장하게 되었다. RPM을 이용하면 패키지 자동 설치(컴파일해줌)까지는 도와주나 설치에 필요한 패키지까지는 설치되지 않는다. 의존 패키지까지 설치해주는 명령어 : 2023.02.01 - [OS/Linux] - Linux - yum RPM 명령어 사용법 rpm [옵션] [rpm 패키지 파일 / 패키지 이름] 1. 설치 관련 옵션 : -i (--install) : 패키지 설치 시엔 .. 더보기