반응형
1. 터미널과 쉘의 이해
터미널(Terminal)이란?
터미널은 사용자와 운영체제 사이에서 명령어를 입력받고 결과를 출력해주는 응용 프로그램입니다.
과거에는 하드웨어 형태로 존재했지만, 오늘날에는 주로 응용 프로그램 형태로 동작합니다.
쉘(Shell)이란?
쉘은 사용자가 입력한 명령어를 해석해 운영체제에 전달하는 프로그램입니다. 터미널은 이러한 쉘을 실행하는 환경 역할을 합니다.
주요 역할은 다음과 같습니다.
- 명령어 해석: 입력된 명령어를 해석하여 하드웨어나 운영체제에 전달
- 스크립트 작성 및 자동화: 프로그래밍 언어처럼 활용하여 다양한 작업을 자동화
2. 기본 명령어 구조
리눅스 명령어는 기본적으로 명령어(Command), 옵션(Option), 인자(Argument) 로 구성됩니다.
예를 들어,
ls -l /home 명령어는
- 명령어: ls (목록을 출력)
- 옵션: -l (상세 정보 출력)
- 인자: /home (대상 디렉터리)
를 의미합니다.
이러한 기본 구조를 이해하면 다양한 명령어를 효율적으로 활용할 수 있습니다.
3. 주요 리눅스 명령어
아래는 리눅스 환경에서 자주 사용하는 명령어들을 카테고리별로 정리한 표입니다.
파일 및 디렉터리 탐색
명령어설명예시
pwd | 현재 작업 디렉터리의 전체 경로 출력 | pwd |
ls | 현재 디렉터리 내 파일 및 디렉터리 목록 출력 | ls, ls -l, ls -a, ls -lh, ls -R |
cd | 디렉터리 이동 | cd /, cd ~, cd .. |
파일 작업
명령어설명예시
touch | 새 파일 생성 또는 파일 수정 시간 업데이트 | touch new_file.txt |
cp | 파일 또는 디렉터리 복사 | cp source.txt destination/ cp -r source_directory/ destination_directory/ |
mv | 파일 이동 또는 이름 변경 | mv old_file.txt new_location/ mv old_name.txt new_name.txt |
rm | 파일 또는 디렉터리 삭제 (주의 필요) | rm file.txt rm -r directory/ |
파일 내용 확인 및 출력
명령어설명예시
cat | 파일 전체 내용 출력 | cat file.txt |
head | 파일의 처음 몇 줄 출력 (기본 10줄) | head -n 5 file.txt |
tail | 파일의 마지막 몇 줄 출력 (기본 10줄) | tail -n 3 file.txt |
less | 파일 내용을 페이지 단위로 출력하여 확인 | less /etc/passwd |
grep | 파일 내 특정 문자열이나 패턴 검색 | grep "root" /etc/passwd |
wc | 파일의 행 수, 단어 수, 바이트 수 계산 | wc file.txt wc -l file.txt |
프로세스 관리
명령어설명예시
ps | 현재 실행 중인 프로세스 목록 출력 | ps aux ps -ef |
top | 시스템의 리소스 사용 현황과 프로세스 목록을 실시간 모니터링 | top (종료 시 q 키) |
kill | 특정 프로세스에 시그널 전달하여 종료 | kill 1234 kill -9 1234 |
4. Vim 편집기 간단 소개
Vim은 Unix 계열 시스템에서 널리 사용되는 텍스트 편집기로, 다양한 기능을 갖추고 있어 코드 작성이나 파일 편집 시 유용합니다.
- 입력 모드: i 키를 눌러 텍스트 입력
- 명령 모드: Esc 키를 눌러 명령 입력
- 저장 및 종료: 명령 모드에서 :wq 입력
유용한 편집 커맨드
커맨드설명예시
dd | 현재 행 삭제 | 삭제할 행에서 dd 입력 |
yy | 현재 행 복사 | 복사할 행에서 yy 입력 |
p | 복사한 내용 현재 커서 아래에 붙여넣기 | 복사 후 p 입력 |
u | 마지막 작업 취소 | 작업 후 u 입력 |
Ctrl + r | 취소했던 작업 다시 실행 | 작업 후 Ctrl + r 입력 |
:set number | 행 번호 표시 활성화 | 명령 모드에서 입력 |
/{검색어} | 파일 내에서 특정 단어나 구문 검색 (정규식 사용 가능) | 예: /main 입력 |
리눅스의 터미널과 쉘, 그리고 여러 명령어들은 서버 관리와 개발 작업에서 핵심 도구로 활용됩니다. 기본 개념을 확실히 이해하고, 각 명령어의 사용법과 옵션을 숙지하면 효율적으로 시스템을 제어할 수 있습니다.
이 글이 리눅스 명령어에 대해 이해하는 데 도움이 되길 바랍니다.
반응형
'DevOps > LINUX' 카테고리의 다른 글
[Linux] Linux 명령어와 쉘 스크립트 완벽 정리 (0) | 2025.03.12 |
---|---|
[LINUX] 리눅스 OS 버젼 및 정보 확인 명령어 (0) | 2023.06.19 |
[LINUX] 리눅스 폴더 & 파일 생성 / 삭제 (0) | 2023.04.22 |
댓글