Linux/centOS

[CENTOS] Command, Pipes

오늘도개발 2024. 12. 19. 10:03

 

1. 명령어(Command)란?

 

  - 명령어(Command)는 Linux에서 사용자가 시스템과 상호작용하기 위해 터미널에서 입력하는 명령

 

  - Linux는 명령어 기반의 운영체제로, 다양한 명령어를 통해 파일 관리, 프로세스 제어, 시스템 정보 조회 등 작업을 수행할 수 있음

 

 

 

2. Linux 명령어의 기본 구조

 

  - Linux 명령어는 기본적으로 명령어, 옵션, 인수로 구성

 

  - 각각의 요소가 역할을 가지며, 적절히 사용하면 다양한 작업을 수행할 수 있음

 

  - command [options] [arguments]

 
  • command: 실행하려는 명령어 (예: ls, cd, grep)
  • options: 명령어의 동작 방식을 조정하는 선택적 설정 (예: -l, -a, --help)
  • arguments: 명령어가 동작할 대상 (파일, 디렉토리 등)

 

예시 : ls -l /home/user

  • ls: 명령어 (파일 목록 출력)
  • -l: 옵션 (긴 형식으로 출력)
  • /home/user: 인수 (작업할 디렉토리 경로)

 

 

 

3. 명령어 구조의 각 구성 요소 상세

 

1) Command : Linux에서 기본적으로 제공하는 프로그램 또는 실행 가능한 바이너리

  • 명령어 실행 방식
    • 명령어는 보통 /bin, /usr/bin 등의 경로에 위치한 파일을 실행
    • which <command>로 명령어의 경로를 확인할 수 있음 

which ls 실행 결과

 

2) Options (옵션) : 명령어의 동작 방식을 변경하거나 추가적인 정보 출력

 

  • 짧은 옵션 (Short Option): 대시(-) 뒤에 한 글자 옵션
    • -l: 파일 정보를 상세히 출력
    • -a: 숨김 파일 포함 출력
       
       

ls  -l -a 실행 결과

 

  • 긴 옵션 (Long Option): 대시 두 개(--) 뒤에 전체 옵션 이름
     

ls --all 실행 결과

 
  • 옵션 조합
    • 짧은 옵션은 결합할 수 있음 ( ls -l -a   →  ls -la )
    • 긴 옵션은 결합할 수 없음

 

ls -la 실행 결과

 

 

3) Arguments (인수) : 명령어의 입력으로 사용되는 대상 (파일, 디렉토리, 텍스트 데이터 등)

  • 단일 인수
    • cat [ 단일 인수 ]

 

  • 다중 인수
    • cp file1.txt file2.txt /backup  
    • file1.txt, file2.txt: 복사할 파일
    • /backup: 복사될 대상 디렉토리
 

 

 

4. 명령어 구조의 심화 활용

 

1) 옵션과 인수의 조합 : 옵션과 인수를 결합하여 명령어의 동작을 세부적으로 조정할 수 있음

  • 예시: ls -l /home/user
    • -l: 상세 정보 출력 옵션
    • /home/user: 작업 디렉토리

 

ls -l /home/user 실행 결과

 

 

2) 명령어 체인 : 명령어를 연결하여 복잡한 작업을 수행할 수 있음

  • 파이프(|)를 사용한 체인
    • /home/user 디렉토리에서 .txt 파일만 필터링
    • ls -l /home/user | grep ".txt"

 

  • 명령어 병렬 실행 (&& 또는 ||)
    • mkdir test가 성공하면 cd test 실행
    • mkdir test && cd test

 

3) 옵션과 인수의 위치 : 옵션은 보통 명령어 뒤에 위치하지만, 일부 명령어는 옵션과 인수의 순서가 중요

  • 예시: tar 명령어
    • tar -cvf archive.tar file1 file2
    • -cvf: 옵션
    • archive.tar: 인수 (생성할 아카이브 파일)
    • file1 file2: 아카이브에 포함할 파일

 

 

5. 명령어 도움말 사용

 

1) --help 옵션 : 많은 명령어는 --help 옵션으로 사용법을 제공

 
ls --help 실행 결과

 

2) 매뉴얼 페이지 (man 명령어) : man 명령어를 통해 명령어의 자세한 설명 확인

 

man ls 실행 결과

 

 

 

 

6. 파이프(Pipe)란?

 

  - 파이프(|)는 Linux에서 한 명령어의 출력 결과를 다른 명령어의 입력으로 전달하는 데 사용

 

  - 여러 명령어를 결합하여 복잡한 작업을 간단하게 수행할 수 있게 해줌

 

파이프의 특징

  • 명령어 간 데이터 전달에 사용
  • 임시 파일 없이 메모리에서 직접 데이터 처리
  • 효율적이고 깔끔한 데이터 처리 방식

 

 

 

7. 파이프 사용법

 

  - 파이프는 명령어 사이에 |를 삽입하여 사용

 

  - command1 | command2

  • command1: 데이터를 생성하는 명령어 (출력 제공)
  • command2: 데이터를 처리하는 명령어 (입력 소비)

 

 

 

8. 파이프와 조합 가능한 명령어

 

  - 파이프는 다양한 명령어와 함께 사용하여 데이터를 필터링, 정렬, 변환할 수 있음

 

  1. grep: 특정 패턴 검색
  2. sort: 데이터 정렬
  3. wc: 단어, 줄, 문자 수 카운트
  4. awk: 텍스트 데이터 처리 및 변환
  5. tee: 출력 내용을 파일로 저장하면서 화면에 표시

 

  - 복잡한 명령어 조합 여러 명령어를 조합하여 원하는 데이터를 빠르게 얻을 수 있음

  • 로그 파일에서 "error" 검색 후 정렬하고 중복 제거
  • cat /var/log/messages | grep error | sort | uniq
  •  
     

cat  /var/log/messages ❘ grep error ❘  sort  ❘  uniq 실행 결과

 

 

'Linux > centOS' 카테고리의 다른 글

[CENTOS] Task  (0) 2024.12.23
[CENTOS] Vim  (0) 2024.12.21
[CENTOS] File Soft Link / Hard Link  (0) 2024.12.18
[CENTOS] Linux File Type  (0) 2024.12.17
[CENTOS] CentOS 접속 방법 및 중요 파일 시스템  (0) 2024.12.15