본문 바로가기

computer science

cs - 유닉스에서 기본 명령어 및 -r 옵션

1. 각종 유닉스 기본 명령어

 

유닉스(Unix) 및 유닉스 계열 시스템에서 기본적인 커맨드 라인 유틸리티입니다.

  1. cat (concatenate):
    • cat 명령어는 하나 이상의 텍스트 파일의 내용을 표준 출력(보통은 화면)으로 출력합니다.
    • 주로 파일의 전체 내용을 빠르게 보거나, 여러 파일을 연결하여 하나의 파일로 만들 때 사용됩니다.
    • 예시: cat file1.txt (파일의 내용을 출력), cat file1.txt file2.txt > combined.txt (두 파일의 내용을 결합하여 새 파일에 저장).
  2. more:
    • more 명령어는 텍스트 파일의 내용을 페이지 단위로 나누어서 보여줍니다.
    • 이를 통해 사용자는 한 번에 한 화면씩 내용을 볼 수 있으며, 스크롤하여 전체 내용을 차례대로 볼 수 있습니다.
    • 예시: more longfile.txt (파일의 내용을 페이지 단위로 출력).
  3. tail:
    • tail 명령어는 파일의 끝부분(보통 마지막 몇 줄)의 내용을 표준 출력으로 보여줍니다.
    • 로그 파일과 같이 지속적으로 업데이트되는 파일의 최근 변경 사항을 볼 때 유용합니다.
    • 예시: tail -n 5 file.txt (파일의 마지막 5줄을 출력).
    • tail은 실시간으로 파일의 변화를 추적하는 -f 옵션도 제공합니다, 예를 들어 tail -f log.txt는 log.txt 파일에 새로운 내용이 추가될 때마다 이를 실시간으로 출력합니다.
  4. echo:
    • echo는 주어진 문자열이나 변수의 값을 표준 출력(보통 콘솔이나 터미널)으로 출력하는 유닉스 커맨드 라인 유틸리티입니다.
    • 문자열 출력: 사용자가 입력한 문자열을 그대로 화면에 출력합니다. 예를 들어, echo "Hello, World!"는 "Hello, World!"를 터미널에 표시합니다.
    • 환경 변수 출력: 쉘 환경 변수의 값을 출력할 때 사용됩니다. 예를 들어, echo $HOME은 사용자의 홈 디렉토리 경로를 출력합니다.
    • 옵션: -n 옵션을 사용하면 출력 후 줄바꿈을 하지 않습니다. -e 옵션을 사용하면 특수 문자(예: \n으로 줄바꿈)를 해석하여 출력합니다.
    • 파일 작성 및 수정: 리디렉션(> 또는 >>)과 함께 사용하여 파일에 내용을 쓰거나 추가할 수 있습니다. 예를 들어, echo "Some text" > file.txt는 "Some text"를 file.txt에 쓰고, echo "More text" >> file.txt는 file.txt의 끝에 "More text"를 추가합니다.
    • 스크립팅에서의 사용: 쉘 스크립트에서 메시지를 출력하거나 디버깅을 위해 변수의 값을 확인하는 데 자주 사용됩니다.

2. -r 옵션

 

-r 옵션은 유닉스나 리눅스의 몇몇 커맨드에서 사용되는 옵션으로, 주로 "재귀적(recursive)"을 의미합니다. 이 옵션의 사용 목적과 의미는 사용되는 커맨드에 따라 달라질 수 있습니다. 몇 가지 일반적인 예시를 들어보겠습니다:

  1. cp (파일 복사):
    • cp -r source_directory destination_directory 명령은 소스 디렉토리와 그 안에 있는 모든 파일 및 하위 디렉토리를 대상 디렉토리로 복사합니다.
  2. rm (파일 삭제):
    • rm -r directory 명령은 지정된 디렉토리와 그 안의 모든 내용(파일 및 하위 디렉토리)을 삭제합니다.
  3. chmod (파일 권한 변경):
    • chmod -r permissions directory 명령은 지정된 디렉토리 및 그 안의 모든 파일과 하위 디렉토리에 대한 권한을 변경합니다.

-r 옵션을 사용하는 이유는 단일 파일이나 디렉토리에 대해 작업하는 대신, 디렉토리와 그 안의 모든 내용에 대해 작업하고자 할 때입니다. 이는 특히 디렉토리 구조가 복잡하거나 여러 파일을 한 번에 처리해야 할 때 매우 유용합니다.