웹사이트 검색

RHCSA 시리즈: 파일 및 디렉터리 관리 수행 방법 - 2부


RHCSA 파트 2: 파일 및 디렉토리 관리 기사에서는 시스템 관리자의 일상적인 작업에 필요한 몇 가지 필수 기술을 검토합니다.

파일 및 디렉터리 생성, 삭제, 복사 및 이동

파일 및 디렉터리 관리는 모든 시스템 관리자가 보유해야 하는 중요한 역량입니다. 여기에는 텍스트 파일(각 프로그램 구성의 핵심)과 디렉터리(파일 및 기타 디렉터리를 구성할 위치)를 처음부터 생성/삭제하고 기존 파일의 유형을 알아내는 기능이 포함됩니다.

touch 명령은 빈 파일을 생성하는 것뿐만 아니라 기존 파일의 액세스 및 수정 시간을 업데이트하는 데에도 사용할 수 있습니다.

file [파일 이름]을 사용하여 파일 유형을 확인할 수 있습니다. 이는 편집하기 위해 선호하는 텍스트 편집기를 실행하기 전에 유용합니다.

rm [파일 이름]을 눌러 삭제하세요.

디렉터리의 경우 mkdir [디렉터리]를 사용하여 기존 경로 내에 디렉터리를 생성하거나 mkdir -p [/full/path/to/directory]를 사용하여 전체 경로를 생성할 수 있습니다.

디렉터리를 제거하려면 rmdir [directory] 명령을 실행하기 전에 해당 디렉터리가 비어 있는지 확인하거나 더 강력한(조심해서 처리하세요!) rm -rf 명령을 사용해야 합니다. [디렉토리]. 이 마지막 옵션은 [디렉터리]와 그 내용을 모두 강제로 제거하므로 이에 대한 책임은 사용자에게 있습니다.

입력 및 출력 리디렉션과 파이프라이닝

명령줄 환경은 명령의 입력출력을 파일에서 파일로 리디렉션하고 명령 출력을 다른 파일로 보낼 수 있는 두 가지 매우 유용한 기능을 제공합니다. 리디렉션과 파이프라이닝이 각각 가능합니다.

이 두 가지 중요한 개념을 이해하려면 먼저 *nix라는 단어 의미에서 실제로 특수 파일인 문자의 I/O(입력 및 출력) 스트림(또는 시퀀스)의 가장 중요한 세 가지 유형을 이해해야 합니다.

  1. 표준 입력(일명 stdin)은 기본적으로 키보드에 연결되어 있습니다. 즉, 키보드는 명령줄에 명령을 입력하는 표준 입력 장치입니다.
  2. 표준 출력(또는 stdout)은 기본적으로 명령 출력을 "수신"하여 화면에 표시하는 장치인 화면에 연결됩니다.
  3. 표준 오류(일명 stderr)는 기본적으로 명령의 상태 메시지가 화면으로 전송되는 곳입니다.

다음 예에서는 ls /var의 출력이 stdout(화면)으로 전송되고 ls /tecmint의 결과도 전송됩니다. . 그러나 후자의 경우 stderr가 표시됩니다.

이러한 특수 파일을 보다 쉽게 식별하기 위해 해당 파일에 액세스하는 데 사용되는 추상 표현인 파일 설명자가 각각 할당됩니다. 이해해야 할 중요한 점은 다른 파일과 마찬가지로 이러한 파일도 리디렉션될 수 있다는 것입니다. 이것이 의미하는 바는 파일이나 스크립트의 출력을 캡처하여 다른 파일, 명령 또는 스크립트에 입력으로 보낼 수 있다는 것입니다. 이를 통해 나중에 처리하거나 분석하기 위한 명령 출력 등을 디스크에 저장할 수 있습니다.

stdin(fd 0), stdout(fd 1) 또는 stderr(fd 2)를 리디렉션하려면 다음 연산자를 사용할 수 있습니다.

Redirection Operator

효과

>

표준 출력을 포함하는 파일로 표준 출력을 리디렉션합니다. 대상 파일이 있으면 덮어쓰게 됩니다.

>>

표준 출력을 파일에 추가합니다.

2>

표준 오류를 표준 출력이 포함된 파일로 리디렉션합니다. 대상 파일이 있으면 덮어쓰게 됩니다.

2>>

기존 파일에 표준 오류를 추가합니다.

&>

표준 출력과 표준 오류를 모두 파일로 리디렉션합니다. 지정된 파일이 있으면 덮어쓰게 됩니다.

<

지정된 파일을 표준 입력으로 사용합니다.

<>

지정된 파일은 표준 입력과 표준 출력 모두에 사용됩니다.

리디렉션과 달리 파이프라인은 명령 뒤와 다른 명령 앞에 수직 막대 (|)를 추가하여 수행됩니다.

기억하다:

  1. 리디렉션은 명령의 출력을 파일로 보내거나 파일을 명령의 입력으로 보내는 데 사용됩니다.
  2. 파이프라이닝은 명령의 출력을 다른 명령에 입력으로 보내는 데 사용됩니다.

리디렉션 및 파이프라이닝의 예

예제 1: 명령 출력을 파일로 리디렉션

파일 목록을 반복해야 하는 경우가 있습니다. 그렇게 하려면 먼저 해당 목록을 파일에 저장한 다음 해당 파일을 한 줄씩 읽을 수 있습니다. ls의 출력을 직접 반복할 수 있다는 것은 사실이지만 이 예는 리디렉션을 설명하는 데 사용됩니다.

ls -1 /var/mail > mail.txt

예 2: stdout 및 stderr을 모두 /dev/null로 리디렉션

stdout과 stderr이 모두 화면에 표시되는 것을 방지하려면 두 파일 설명자를 /dev/null로 리디렉션할 수 있습니다. 동일한 명령에 대해 리디렉션이 구현되면 출력이 어떻게 변경되는지 확인하세요.

ls /var /tecmint
ls /var/ /tecmint &> /dev/null

예제 3: 파일을 명령에 대한 입력으로 사용

cat 명령의 고전적인 구문은 다음과 같습니다.

cat [file(s)]

올바른 리디렉션 연산자를 사용하여 파일을 입력으로 보낼 수도 있습니다.

cat < mail.txt

예 4: 명령의 출력을 다른 명령의 입력으로 보내기

큰 디렉터리나 프로세스 목록이 있고 특정 파일이나 프로세스를 한눈에 찾을 수 있도록 하려면 목록을 grep으로 파이프라인하는 것이 좋습니다.

다음 예에서는 파이프라인을 사용합니다. 첫 번째는 필수 키워드를 찾는 반면, 두 번째는 결과에서 실제 grep 명령을 제거합니다. 이 예에서는 Apache 사용자와 관련된 모든 프로세스를 나열합니다.

ps -ef | grep apache | grep -v grep