본문 바로가기
  • 실행력이 모든걸 결정한다
Linux

[Linux] 파일 찾기 / $PATH / 멀티 태스킹

by 김코더 김주역 2021. 3. 22.
반응형

1. 파일 찾기

(1) find

파일을 찾는 명령어인 find의 사용법은 다음과 같다.

 

옵션이 너무 많아서 사용 예제를 일일이 설명하기는 힘들 것 같다.

대신 35가지의 주요 예제를 잘 정리한 사이트 링크를 첨부할 것이다.

find 명령어는 이름, 날짜, 크기, 종류 등을 기준으로 파일을 찾을 수 있다.

www.tecmint.com/35-practical-examples-of-linux-find-command/

 

35 Practical Examples of Linux Find Command

The Linux Find Command is one of the most important and frequently used command command-line utility in Unix-like operating systems. Find command is used to search and locate the list of files and directories based on conditions you specify for files that

www.tecmint.com

 

아래 명령어는 컴퓨터 내에서 "lamb"로 시작하는 모든 파일을 찾는 명령어이다.

*(와일드카드) 문자를 사용한 케이스를 소개하기 위해 작성한 예제이다.

 

(2) whereis

whereis 명령어는 명령어의 실행 파일, 소스 코드, 매뉴얼 페이지의 경로를 절대 경로로 출력하는 명령어이다. 

 

2. $PATH

실행 파일의 경로를 세팅해두는 변수이다.

현재 디렉토리 내에 없는 파일이라도 $PATH에 설정된 경로를 탐색해서 찾아낼 수 있다.$PATH 변수는 초기에 미리 세팅되어 있으며, 사용자가 변경할 수 있다.

 

$PATH 값을 출력해보면 다음과 같다.

 

전에 언급했듯이 명령어들은 /bin에 저장된다.

그래서 어느 디렉토리에서든 리눅스 명령어를 실행할 수 있는 것이다.

 

 

3. 멀티 태스킹

Multi-Tasking은 여러 작업을 같이 수행하는 것이다.

윈도우에서도 여러 창을 띄워놓고 컴퓨터를 쓰는 것처럼, CLI에서도 멀티 태스킹이 가능하다.

 

결론부터 말하자면, Ctrl+Z로 프로세스를 일시 정지 시키고 터미널로 빠져나오는 식으로 진행된다.

Ctrl+C는 프로세스를 종료시키는 것이니 혼동하지 말도록 하자.

 

먼저, htop을 실행시켰다. 그리고 이 상태에서 Ctrl+Z를 눌러보자. 

 

프로세스 번호, +-기호, 상태, 프로세스 명령어 순으로 정보를 출력하고 터미널로 돌아오게 된다.

+-기호의 의미는 잠시 후에 설명하기로 한다.

 

그리고 나노 파일 편집기를 켰다가 다시 Ctrl+Z로 빠져나왔더니 이번에는 프로세스 번호로 2가 찍혔다.

fg : foreground의 약자. 최근 작업으로 되돌아가는 명령어

 

한번 더 나노를 켰다가 Ctrl+Z로 빠져나와보았다.

동일 프로그램이어도 프로세스가 추가되었다. 윈도우도 같은 페이지를 2번 이상 띄울 수 있다는 면에서 비슷하다.

 

그렇다면, 작업 목록은 어떻게 확인할 수 있을까?

jobs : 작업 목록을 볼 수 있는 명령어

여기서 +기호로 표시된 프로세스는 "fg" 명령어로 되돌아갈 수 있는 프로세스이고,

-기호는 그 다음에 해당하는 프로세스임을 표시한다.

 

 

위에서 fg 명령어를 입력하면 프로세스 번호가 3인 작업으로 이동할 수 있는 것은 파악했다.

그렇다면 프로세스 번호가 1이나 2인 작업으로 바로 이동하는 방법은 무엇일까?

이를 위해 사용하는 기호가 '%' 이다.

fg %[프로세스 번호]

 

터미널에 fg %1를 입력했더니 htop이 다시 실행되었고(이미지 생략),

Ctrl+Z로 빠져나와서 jobs를 확인 했더니 다음과 같이 출력되었다.

+에 해당하는 프로세스가 1번, -에 해당하는 프로세스가 3번으로 바뀐 것을 확인할 수 있다.

프로세스 번호가 1인 작업을 실행했으므로 최근 작업은 1번이 된 것이고, 프로세스 번호가 3인 작업도 이에 따라 한칸 앞당겨져서 -기호가 표시된 것이다.

※ 프로세스 1번이 빠지고 4번으로 추가되는 환경도 있다.

 

 

그렇다면, 작업을 삭제할 수도 있을까?

kill : 프로세스를 삭제하는 명령어

 

정상종료

kill %[프로세스 번호]

강제종료

kill -9 %[프로세스 번호]

 

예시로, jobs에서 프로세스 1을 강제종료한 결과이다.

 

 

마지막으로, jobs에는 정지된 작업 뿐만 아니라 실행중인 작업도 볼 수 있다.

find / -name a & : 컴퓨터 내의 디렉토리에서 파일명이 "a"인 파일들을 찾는 작업을 백그라운드로 보내라.

위 명령어를 입력하고 결과가 뜨는데 필자의 컴퓨터에서는 약 1초가 걸렸기 때문에, 위 명령어를 입력하자마자 1초 내에 jobs를 확인한 결과이다. 실행중인 순간을 캐치했다!

그리고 완료된 작업은 jobs에서 제거된다.

반응형

댓글