Linux
전세계 개발자들이 함께 발전시킨 Open Source 기반의 Unix 계열 OS 이다
다양한 배포판 (Distro) 이 존재하며 각 배포판은 특정 용도와 사용자층에 맞춰 설계되어 있다
Window 와 달리, GUI 뿐 아니라 CLI 을 통해서도 시스템을 제어할 수 있다
🐣 GUI, Graphical User Interface/ CLI, Command Line Interface
Linux 의 특징
높은 안정성과 보안성 - 서버와 같은 중요한 시스템에서 널리 사용된다
다양한 배포판 - 데스크탑, 서버, 임베디드 시스템 등 여러 환경에서 유연하게 사용 가능하다
큰 커뮤니티 지원 - 포럼, 문서, 튜토리얼 등을 통해 문제 해결과 새로운 기능 학습을 지원한다
비용 효율성 - 대부분의 배포판이 무료로 제공된다
개발자 친화적 환경 - 다양한 개발 도구와 라이브러리를 쉽게 설치하고 사용할 수 있다
CLI
사용자가 명령어를 입력하여 컴퓨터와 상호작용하는 텍스트 기반 인터페이스
GUI 환경보다 시스템 자원을 적게 사용하며 스크립트를 통해 반복 작업을 자동화할 수 있다
여러 작업을 빠르고 효율적으로 수행할 수 있으며, 명령어를 통해서 시스템을 세밀하게 제어할 수 있다
🐣 Linux Shell 환경에서는 TAB Key 로 자동 완성 기능을 사용할 수 있으니 잘 활용하면 좋다 🐣
알아두면 좋은 Linux 명령어
1. pwd
Print Working Directory, 현재 작업 중인 디렉토리의 전체 경로를 출력한다
2. cd
Change Directory, 디렉토리를 이동할 때 사용한다
ex. cd [디렉토리], cd Desktop, cd ..
3. ls
List Segments, 현재 디렉토리 또는 지정한 디렉토리의 내용을 나열한다
지정한 디렉토리의 파일과 디렉토리 목록을 표시할 수 있다
* ls -l : 파일의 권한, 소유자, 크기, 수정 날짜 등을 포함한 상세 정보 표시
* ls -a : 이름이 . 으로 시작하는 숨김 파일을 포함한 모든 파일과 디렉토리를 표시
* ls -lh : 파일 크기를 사람이 읽기 쉬운 형식 (ex. KB, MB, GB) 으로 표시
ex. ls [옵션] [디렉토리], ls, ls /var/log, ls -al
4. cat
Concatenate, 파일의 내용을 표시하거나, 여러 파일을 연결하거나, 새로운 파일을 생성할 때 사용된다
* cat file1.txt file2.txt > merged.txt : file1 과 file2 의 내용을 merged.txt 라는 새 파일에 병합
* cat -n : 문서의 줄에 번호를 붙임
ex. cat [옵션] [파일], cat config.log
5. sudo
Superuser Do, 루트 권한으로 명령어를 실행할 때 사용된다
sudo su 또는 sudo -i 명령어로 사용자 계정을 루트 사용자로 전환할 수 있다
* sudo su : 현재 사용자의 환경 변수를 그대로 사용하면서 루트 권한이 필요한 경우
* sudo -i : 루트 사용자의 전체 환경 설정을 로드하여 초기화된 루트 쉘 환경이 필요한 경우
6. more & less
more 는 파일을 한 페이지씩 화면이 출력하며, 사용자 입력을 통해 페이지를 넘길 수 있는 간단한 파일 뷰어
less 는 more 의 확장판으로, 더 많은 기능과 향상된 탐색 기능 제공
🐣 페이지 이동은 위 아래 방향키를 사용한다
🐣 / 로 단어 검색이 가능하다, n 은 다음 단어, N 은 이전 단어로 이동 가능
🐣 more 는 Ctrl + C 로, less 는 q 로 나가기 가능
ex. more [Filename], less [Filename]
7. vi
Visual Editor, Unix 및 Linux 계열 운영 체제에서 사용되는 대표적인 텍스트 편집기이다
* 명령 모드 (Command Mode) : 커서 이동, 삭제, 복사 등
* 입력 모드 (Insert Mode) : 실제 텍스트 입력
입력 모드에서 ESC Key 를 누르면 명령 모드로 돌아갈 수 있다
ex. vi [Filename]
8. grep
Global Regular Expression Print, 파일 내에서 특정 문자열을 검색할 때 사용한다
* grep [검색어] [파일명]
* grep -r [검색어] [디렉토리]: 하위 디렉토리까지 재귀적으로 검색
* grep -n: 줄 번호와 함께 출력
* grep -i: 대소문자 무시
ex. grep "error" /var/log/syslog, grep -rn "TODO" ./src
9. find
지정한 디렉토리 내에서 파일이나 디렉토리를 검색할 때 사용하는 명령어이다
* find [경로] -name [파일명]
* find [경로] -type f -name "*.log": 로그 파일 검색
* find . -mtime -1: 최근 1일 내 수정된 파일 찾기
ex. find / -name "nginx.conf", find . -type f -name "*.log"
10. chmod / chown
chmod는 파일이나 디렉토리의 권한을 변경할 때 사용하고,
chown은 파일이나 디렉토리의 소유자 또는 그룹을 변경할 때 사용한다
권한은 3자리 숫자로 표시되며 (r=4, w=2, x=1) 소유자 변경은 루트 권한이 필요하다
* chmod [권한] [파일명]
ex. chmod 755 script.sh
* chown [사용자]:[그룹] [파일명]
ex. chown ubuntu:ubuntu test.txt
11. ps, top, htop
ps 는 현재 실행 중인 프로세스를 출력하고, ps aux는 시스템의 모든 프로세스를 출력한다
top 은 CPU, 메모리 등의 자원 사용 현황을 실시간으로 모니터링할 수 있다
htop 은 top 보다 더 직관적인 UI 와 조작 기능을 제공하며 별도 설치가 필요하다
ex. ps aux, top, htop
12. df / du
df 는 전체 디스크 용량과 사용량을 확인할 수 있고,
du 는 특정 디렉토리나 파일의 용량을 확인할 수 있다
-h 옵션을 사용하면 사람이 읽기 쉬운 단위로 표시된다
ex. df -h, du -sh /var/log
13. tar / zip / unzip
tar 는 여러 파일이나 디렉토리를 하나로 묶거나 압축할 때 사용하고,
zip 은 .zip 형식으로 압축/ unzip 은 zip 파일을 해제할 때 사용한다
ex. tar -czvf archive.tar.gz folder, tar -xzvf archive.tar.gz, zip -r archive.zip folder, unzip archive.zip
14. wget / curl
wget 은 웹에서 파일을 내려받을 때 주로 쓰이고, curl 은 HTTP 요청을 보내거나 API 테스트 등 다양한 네트워크 작업에 활용된다
예를 들어 curl -I 는 응답 헤더만 확인할 때 적절하다 🐣 대문자 I 이다
ex. wget http://example.com/file.txt, curl -O http://example.com/file.txt, curl -I http://example.com
'TIL > 용어' 카테고리의 다른 글
| Robot Framework 개념과 사용 예시, 비교 (3) | 2025.08.04 |
|---|---|
| [TIL] Cloud 기초 개념 #3 - L4/ L7 Load Balancer, Auto Scaling (2) | 2025.07.07 |
| [TIL] Cloud 기초 개념 #2 - Instance, Hypervisor, Security Group (0) | 2025.07.03 |
| [TIL] Cloud 기초 개념 #1 - VPC, NAT, Routing Table, Server (1) | 2025.07.03 |
| [TIL] Auto Scaling 개념과 SLA 간단 정리 (4) | 2025.07.02 |