우리는 작업을 전통적으로 계속 수행하다가 다른 방법으로 훨씬 더 잘 할 수 있다는 것을 알게 될 때까지 계속합니다. 저희의 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줄 명령을 실행함으로써 간단히 달성할 수 있습니다.
$ 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)에 파일 (예: test)을 생성하고 아래 내용으로 채웁니다.
ABC DEF GHI JKL MNO PQR STU VWX Y Z
이 상황에서 일반 사용자는 무엇을 할까요?
a. He will create the file first, preferably using touch command, as:
$ touch /home/$USER/Desktop/test
b. He will use a text editor to open the file, which may be nano, vim, or any other editor.
$ nano /home/$USER/Desktop/test
c. He will then place the above text into this file, save and exit.
그래서 그가 소요하는 시간과 관계없이, 위 상황을 실행하기 위해 최소한 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. Copy/Move the tar ball and extract it at destination, as:
$ cp firefox-37.0.2.tar.bz2 /opt/ or $ mv firefox-37.0.2.tar.bz2 /opt/
b. cd to /opt/ directory.
$ cd /opt/
c. Extract the 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을 사용하여 tar가 지정된 폴더(여기서 /opt/)에 아카이브를 추출하도록 만듭니다.
아니, 이것은 옵션(-C)에 대한 것이 아니라 습관에 관한 것입니다. tar와 함께 옵션 -C을 사용하는 습관을 만드세요. 이렇게 하면 삶이 편해집니다. 이제부터 아카이브를 이동하거나 추출된 파일을 복사/이동하지 마세요. 그냥 TAR-ball을 Downloads 폴더에 두고 원하는 곳에서 추출하십시오.
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
위의 출력은 현재 실행 중인 모든 apache2 프로세스와 해당 PID를 보여줍니다. 그런 다음 이러한 PID를 사용하여 다음 명령어를 사용하여 apache2를 종료할 수 있습니다.
# kill 1006 2702 2703 2704 2705 2706 2707
그런 다음 ‘apache2’라는 이름의 프로세스/서비스가 실행 중인지 확인하십시오. 다음과 같이:
$ ps -A | grep -i apache2
그러나 pgrep 및 pkill와 같은 유틸리티를 사용하여 더 이해하기 쉬운 형식으로 수행할 수 있습니다. 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://www.tecmint.com/how-to-kill-a-process-in-linux/.
프로세스 (예: apache2)를 pkill을 사용하여 종료하려면 다음을 수행하면 됩니다:
# pkill apache2
apache2가 종료되었는지 확인하려면 아래 명령을 실행하면 됩니다.
$ pgrep -l apache2
프롬프트를 반환하고 아무것도 출력하지 않으면 apache2라는 이름의 프로세스가 실행 중이 아님을 의미합니다.
지금까지입니다. 상기 논의된 내용은 충분하지만 확실히 도움이 될 것입니다. 우리는 매번 새로운 것을 배우도록 자습서를 제작하는 것뿐만 아니라 ‘동일한 프레임에서 어떻게 더 생산적일지’를 보여주고 싶습니다. 아래 댓글에서 소중한 피드백을 제공해 주세요. 연결 유지. 댓글 달기를 계속하세요.
Source:
https://www.tecmint.com/mkdir-tar-and-kill-commands-in-linux/