시스템 관리 32

3-1. 리눅스 프로세스 대한 주요 개념

1. 프로세스 개념 프로세스는 실행 중인 프로그램을 의미합니다. 운영 체제는 각 프로세스에 고유한 주소 공간과 자원을 할당하여 독립적 으로 실행됩니다. 각 프로세스는 프로세스 ID (PID)를 가지며, PID를 사용하여 프로세스를 구분합니다. 프로세스는 여러 상태를 가질 수 있으며, 주요 상태로는 실행(Running), 대기(Waiting), 중지(Stopped), 종료 (Terminated) 등이 있습니다. 프로세스는 운영 체제로부터 시스템 리소스를 할당받고, CPU 실행 시간을 할당받아 실행됩니다. 2. 프로세스 관련 명령어 ps : 실행 중인 프로세스의 정보를 보여주는 명령어 top : 시스템에서 실행 중인 프로세스들을 실시간으로 모니터링하는 명령어 htop : top 명령어의 개선된 버전으로, 더..

2-3. 리눅스 기본(파일 관련 명령어) ln(link)

1. symbolic link(심볼릭 링크) 파일이나 디렉토리에 대한 가상의 링크를 생성하는 기능 원본 파일 또는 디렉토리를 가리키는 특별한 파일로서, 다른 파일이나 디렉토리에 대한 참조를 제공한다. (windows의 바로가기 아이콘과 비슷) 원본을 다른 곳으로 이동시키면 사용 못함 새로운 inode 생성 원본자체를 가리키는 포인터 역할 뿐이므로, 원본 수정시 당연히 수정된 파일이 보임 원본의 삭제시 링크가 끊김 파일시스템이 달라도 관계 없음 # ln -s 원본파일 심볼릭링크파일 ex) # ln -s myfile.txt /home/test/myfile.txt 2. hard link(하드 링크) 파일에 대한 다른 이름을 생성하는 기능 동일한 파일 시스템 내에서만 작동하며, 원본파일과 같은 i-node를 공..

2-3. 리눅스 기본(파일 관련 명령어) grep

1. grep 텍스트 파일에서 특정 패턴을 검색하고 매치되는 줄을 출력하는 명령어 "Global Regular Expression Print"의 약자로, 정규 표현식을 사용하여 특정 문자열을 찾는 검색 도구 # grep [-option] [pattern] myfile.txt [option] -i : 대소문자 구분없이 검색 -r : 하위 디렉토리까지 재귀적 검색 -n : 줄 번호를 함께 출력 -e : 여러 개의 검색 패턴을 지정 할때 사용 ex) # grep "apple" myfile.txt #grep -i -r -n "hello" test/ # grep -e "apple" -e "hello" -e "world" myfile.txt

2-3. 리눅스 기본(파일 관련 명령어) which, whereis

1. which 명령어가 위치한 절대 경로를 표시 주로 쉘 위치, 실행 프로그램 위치 확인 시 사용, PATH에 설정된 디렉토리만 검색함. # which ls [option] -a PATH내에서 매치되는 모든 것을 보여줌 --skip-dot .(dot)으로 시작하는 디렉토리는 건너뜀. ex) 2. whereis 소스 코드 파일 및 매뉴얼 페이지 파일을 찾는 데 사용된다. 실행 가능한 명령어를 검색하는 경우 which와 동일한 역할을 수행하지만, 추가적으로 명령어의 소스 코드와 매뉴얼 페이지 파일도 검색한다. whereis는 which보다 더 상세한 정보를 제공 [option] -b 바이너리만 검색 -m 매뉴얼만 검색 -s 소스만 검색 # whereis ls ex)

2-3. 리눅스 기본(파일 관련 명령어) find

1. find 특정 조건을 만족하는 파일을 탐색 단순한 파일을 찾는 것은 물론, 다양한 조건(파일 모드, 파일 타입, 크기, 시간 등)을 이용하여 원하는 파일들을 찾을 수 있다. [option] -type pattern : 형식이 pattern 인 것. - pattern b: block device file, c: character device file, d:directory, p: named pipe, f:regular file, l:symbolic link, s:socket -name filename: 파일명으로 검색 -size: 크기로 검색 -exec command {} \; : 검색된 결과에 대해서 지정한 명령을 적용 -user 사용자명 : 사용자명 소유의 파일을 검색 -amin [+/-]n : ..

2-3. 리눅스 기본(파일 관련 명령어) touch

1. touch 파일의 시간 정보를 변경할 때 사용한다. 파일의 엑세스 시간, 갱신시간을 변경 할 수있다. 만일 파일이 존재 하지 않으면 크기가 0byte인 이름뿐인 파일을 생성한다. # touch [-option] test.txt [option] -a : 파일의 엑세스 시간을 바꾼다. -m : 파일의 갱신 시간을 바꾼다. -c : 파일명이 존재하지 않는다면 새로운 파일을 만들지 않는다. ex) 1. -a 옵션을 줘서 엑세스 시간 을 변경해 보겠다. 먼저 ls -al 을 했을때 보이는 시간은 mtime(갱신 시간) 이다. 엑세스 시간을 보기 위해 아래 명령어를 실행 하였다. # ls -l --time=atime # touch -a 07222023 myfile.txt 엑세스 시간이 바뀐걸 확인 할 수 있다..

2-3. 리눅스 기본(파일 관련 명령어) more, head, tail

1. more 텍스트 파일의 내용을 페이지 단위로 출력하는 명령어. 파일의 내용을 한 번에 모두 출력하는 대신 한 페이지씩 보여준다. # more myfile.txt 기본적으로 Spacebar 키를 눌러 다음 페이지로 이동하고, Enter 키를 눌러 한 줄씩 스크롤할 수 있다. 종료는 'q' ex) # more myfile.txt 2. head 텍스트 파일의 앞 부분을 출력하는 명령어. 기본적으로 처음 10줄을 출력하며, -n 옵션을 사용하여 원하는 줄 수를 지정할 수 있다. ex) # head myfile.txt # head -n 5 myfile.txt 3. tail 텍스트 파일의 뒷 부분을 출력하는 명령어. 기본적으로 마지막 10줄을 출력하며, -n 옵션을 사용하여 원하는 줄 수를 지정할 수도 있다...

2-3. 리눅스 기본(파일 관련 명령어) cat

1. cat(catenate) 파일 내용을 보여주거나, 텍스트 파일을 생성하는 명령 # cat [-option] file1, file2 ... # cat file [> | >>] dest_file [option] -b: 빈 줄을 제외한 모든 라인 앞에 번호를 붙여 출력한다. -n: 빈 줄을 포함하여 모든 라인 앞에 번호를 붙여 출력한다. -E: 각 라인의 맨 끝에 $표시를 붙여 출력한다. 리다이렉션 기호 '>', '>>' 을 이용하여 표준 출력 내용을 기록하거나 추가한다. ex) # cat myfile.txt # cat > aa.txt aa.txt 라는 파일을 생성하고 내용 입력을 기다린다. 문서 작성 후 ctrl+d로 종료하면 작성이 완료 된다. # cat aa.txt >> abcd aa.txt 파일 ..

wsl 에서 Visual Studio Code 연동

wsl 확장 과 함께 vs code를 사용하면 wsl을 직접 정규 개발 환경으로 사용 할 수 있다. 리눅스 환경에서 바로 개발을 할 때 유용하니 설치해보도록 하자. wsl 확장 과 함께 vs code를 사용 하면 아래와 같은 이점이 있다고 한다. Linux 기반 환경에서 개발 Linux 관련 도구 체인 및 유틸리티 사용 Outlook 및 Office와 같은 생산성 도구에 대한 액세스를 유지하면서 Windows의 편안함에서 Linux 기반 애플리케이션을 실행 및 디버그합니다. VS Code 기본 제공 터미널을 사용하여 선택한 Linux 배포판 실행 Intellisense 코드 완료, linting, 디버그 지원, 코드 조각 및 단위 테스트와 같은 VS Code 기능 활용 VS Code의 기본 제공 Git ..

2-3. 리눅스 기본(파일 관련 명령어) rm

1. rm(remove) 파일이나 디렉토리를 삭제하는 데 사용 # rm [-option] filename [option] -f: 강제 삭제를 수행합니다. 파일이 존재하지 않아도 경고를 표시하지 않고 삭제합니다. -r: 서브 디렉토리의 파일도 모두 재귀적으로 지운다. (하위 디렉토리까지 삭제) -v: 파일을 지우기 전에 파일의 이름을 나타내준다. -i : 파일을 지울 것인가 다시 묻는다. ex) # rm -rf * 현재 디렉토리 기준으로 하위 디렉토리 및 파일 모두를 지운다. 주의: rm 명령어는 삭제한 파일을 되돌릴 수 없으므로 삭제할 파일이나 디렉토리를 신중하게 선택해야 합니다. 중요한 파일이나 디렉토리를 삭제하기 전에는 백업을 만들거나 명령어를 사용하기 전에 한 번 더 확인해야 합니다.