웹사이트 검색

Linux의 mkdir, tar 및 kill 명령에 대한 4가지 유용한 팁


우리는 다른 방법이 훨씬 더 나은 방법으로 수행될 수 있다는 것을 알게 될 때까지 기존 방식으로 작업을 계속 수행합니다. 계속되는 Linux 팁 및 요령 시리즈에서 저는 다양한 방법으로 여러분에게 도움이 될 아래 네 가지 팁을 가지고 왔습니다. 간다!

1. 아래와 유사한 길고 복잡한 디렉토리 트리를 생성해야 합니다. 이를 달성하는 가장 효과적인 방법은 무엇입니까?

아래 제안된 대로 달성할 디렉터리 트리 구조입니다.

cd /home/$USER/Desktop
mkdir tecmint
mkdir tecmint/etc
mkdir tecmint/lib
mkdir tecmint/usr
mkdir tecmint/bin
mkdir tecmint/tmp
mkdir tecmint/opt
mkdir tecmint/var
mkdir tecmint/etc/x1
mkdir tecmint/usr/x2
mkdir tecmint/usr/x3
mkdir tecmint/tmp/Y1
mkdir tecmint/tmp/Y2
mkdir tecmint/tmp/Y3
mkdir tecmint/tmp/Y3/z

위의 시나리오는 아래 1-liner 명령을 실행하여 간단히 달성할 수 있습니다.

mkdir -p /home/$USER/Desktop/tecmint/{etc/x1,lib,usr/{x2,x3},bin,tmp/{Y1,Y2,Y3/z},opt,var}

확인하려면 tree 명령을 사용할 수 있습니다. 설치되지 않은 경우 'tree' 패키지를 apt 또는 yum할 수 있습니다.

tree tecmint

위의 방법을 사용하면 복잡한 디렉터리 트리 구조를 만들 수 있습니다. 이는 일반적인 명령일 뿐이며 {}를 사용하여 디렉터리 계층 구조를 생성한다는 점에 유의하세요. 이는 필요할 때 일반적으로 쉘 스크립트 내부에서 사용하면 매우 유용할 수 있습니다.

2. 데스크탑(/home/$USER/Desktop)에 파일(예: 테스트)을 생성하고 아래 내용으로 채웁니다.
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z

이 시나리오에서 일반 사용자는 무엇을 하게 될까요?

a. 먼저 다음과 같이 touch 명령을 사용하여 파일을 생성합니다.

touch /home/$USER/Desktop/test

b. nano, vim 또는 기타 편집기 등의 텍스트 편집기를 사용하여 파일을 엽니다.

nano /home/$USER/Desktop/test

c. 그런 다음 위의 텍스트를 이 파일에 넣고 저장하고 종료합니다.

따라서 소요 시간에 관계없이 위 시나리오를 실행하려면 최소한 3단계가 필요합니다.

똑똑하고 경험이 풍부한 Linux 사용자는 무엇을 할 것입니까? 그는 터미널에서 한 번에 아래 텍스트를 입력하면 모든 작업이 완료됩니다. 그는 각 행동을 개별적으로 할 필요가 없습니다.

cat << EOF > /home/$USER/Desktop/test
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z
EOF

파일과 해당 내용이 성공적으로 생성되었는지 확인하려면 'cat' 명령을 사용할 수 있습니다.

cat /home/avi/Desktop/test

3. 우리는 Linux에서 아카이브(특히 TAR 볼)를 매우 자주 다룹니다. 대부분의 경우 다운로드 폴더가 아닌 다른 위치에서 해당 TAR 볼을 사용해야 합니다. 이 시나리오에서 우리는 무엇을 합니까?

이 시나리오에서는 일반적으로 두 가지 작업을 수행합니다.

a. 다음과 같이 타르 볼을 복사/이동하고 대상에서 추출합니다.

cp firefox-37.0.2.tar.bz2 /opt/
or
mv firefox-37.0.2.tar.bz2 /opt/

b. /opt/ 디렉토리로 이동합니다.

cd /opt/

c. Tarball을 추출합니다.

tar -jxvf firefox-37.0.2.tar.bz2 

우리는 이것을 반대 방향으로 할 수 있습니다.

Tarball을 추출하고 추출된 아카이브를 다음과 같이 필요한 대상으로 복사/이동합니다.

tar -jxvf firefox-37.0.2.tar.bz2 
cp -R firefox/  /opt/
or
mv firefox/ /opt/

두 경우 모두 작업을 완료하는 데 두 단계 또는 단계가 소요됩니다. 전문가는 다음과 같이 한 단계로 이 작업을 완료할 수 있습니다.

tar -jxvf firefox-37.0.2.tar.bz2 -C /opt/

-C 옵션을 사용하면 지정된 폴더(여기서는 /opt/)에서 아카이브를 tar 추출할 수 있습니다.

아니요, 옵션(-C)에 관한 것이 아니라 습관에 관한 것입니다. tar와 함께 -C 옵션을 사용하는 습관을 들이세요. 그것은 당신의 삶을 편하게 할 것입니다. 이제 아카이브를 이동하거나 추출된 파일을 복사/이동하지 말고 다운로드 폴더에 TAR-ball을 그대로 두고 원하는 위치에 추출하면 됩니다.

4. 전통적인 방식으로 프로세스를 종료하는 방법은 무엇입니까?

가장 일반적인 방법으로 먼저 ps -A 명령을 사용하여 모든 프로세스를 나열하고 grep으로 파이프라인하여 프로세스/서비스(예: apache2 )를 찾습니다. ) 간단하게 다음과 같습니다.

ps -A | grep -i apache2
샘플 출력
1006 ?        00:00:00 apache2
 2702 ?        00:00:00 apache2
 2703 ?        00:00:00 apache2
 2704 ?        00:00:00 apache2
 2705 ?        00:00:00 apache2
 2706 ?        00:00:00 apache2
 2707 ?        00:00:00 apache2

위 출력은 PID와 함께 현재 실행 중인 모든 apache2 프로세스를 보여줍니다. 그러면 다음 명령을 통해 이러한 PID를 사용하여 apache2를 종료할 수 있습니다.

kill 1006 2702 2703 2704 2705 2706 2707

그런 다음 이름이 'apache2'인 프로세스/서비스가 실행 중인지 여부를 다음과 같이 교차 확인합니다.

ps -A | grep -i apache2

그러나 pgreppkill과 같은 유틸리티를 사용하면 보다 이해하기 쉬운 형식으로 이를 수행할 수 있습니다. pgrep을 사용하면 프로세스에 대한 관련 정보를 찾을 수 있습니다. apache2에 대한 프로세스 정보를 찾아야 한다고 가정하면 다음과 같이 하면 됩니다.

pgrep apache2
샘플 출력
15396
15400
15401
15402
15403
15404
15405

다음을 실행하여 pid에 대한 프로세스 이름을 나열할 수도 있습니다.

pgrep -l apache2
샘플 출력
15396 apache2
15400 apache2
15401 apache2
15402 apache2
15403 apache2
15404 apache2
15405 apache2

pkill을 사용하여 프로세스를 종료하는 것은 매우 간단합니다. 삭제할 리소스의 이름을 입력하기만 하면 완료됩니다. 저는 pkill에 게시물을 작성했는데, 여기에서 참고하실 수 있습니다: https://linux-console.net/how-to-kill-a-process-in-linux/.

pkill을 사용하여 프로세스(예: apache2)를 종료하려면 다음을 수행하면 됩니다.

pkill apache2

아래 명령을 실행하여 apache2가 종료되었는지 여부를 확인할 수 있습니다.

pgrep -l apache2

프롬프트를 반환하고 아무것도 인쇄하지 않습니다. 이는 apache2 이름으로 실행 중인 프로세스가 없다는 의미입니다.

지금은 그게 전부입니다. 위에서 논의한 모든 사항은 충분하지 않지만 확실히 도움이 될 것입니다. 우리는 매번 새로운 것을 배울 수 있도록 튜토리얼을 제작할 뿐만 아니라 '동일한 프레임에서 생산성을 높이는 방법'을 보여주고 싶습니다. 아래 의견에 귀중한 피드백을 제공해주십시오. 연결을 유지하세요. 계속 댓글을 달아주세요.