다음 명령을 순서대로 실행하기 위한 지침

다음 명령을 순서대로 실행하기 위한 지침

이 두 명령을 차례로 실행했습니다.

cat a.log >> b.log
rm -r a.log

여기서 무슨 일이 일어나고 있는 걸까요? 왜?고양이여기에 사용됩니까? ~에 대한>> 로고? 무엇인가요 -r(재귀) 플래그사용하고 있나요?

답변1

수정된 코드를 고려하면,

cat a.log >> b.log
rm -r a.log
  1. cat파일 목록을 복사 하거나표준 입력-아무것도 제공되지 않거나 목록에 대시( )가 포함된 경우표준 출력. 바라보다man cat

  2. 이는 >>명령의 출력을 지정된 파일에 추가하는 표준 셸 리디렉션 연산자입니다. 예제에서 이 명명된 파일은 입니다 b.log. 그렇지 않은 경우 man bash선호하는 셸에 대한 설명서를 참조하거나 검토하세요 bash.쉘의 제어 및 리디렉션 연산자는 무엇입니까?

  3. rm명령은 (거의) 무조건적으로 파일을 삭제합니다 a.log. 파일 삭제를 시도하기 때문에 이 -r플래그는 관련이 없으며 무시됩니다. 대화형 세션에서 실행되는 경우 명령은 사용자에게 파일에 쓰기 권한이 없는지 확인하도록 요청합니다. 바라보다man rm

이 코드를 작성하면 다음과 같이 구성할 수 있습니다.

cat a.log >> b.log && rm -f a.log

a.log여기에서는 cat해당 내용이 대상 파일에 성공적으로 추가된 경우에만 파일이 삭제됩니다 b.log.

관련 정보