Linux 기본 명령어 요약
시스템 및 네트워크
hostname
ip a
ping
네트워크 연결 확인
ping google.com: google.com으로 네트워크 연결을 확인합니다.
whoami: 현재 로그인한 사용자 이름을 출력합니다.
uptime: 시스템이 얼마나 오랫동안 가동되었는지 보여줍니다.
top: 실시간으로 시스템 리소스 사용량 (CPU, 메모리 등)을 모니터링합니다.
free -h: 메모리 사용량을 사람이 읽기 쉬운 형태로 보여줍니다.
파일 및 디렉토리 관리
ls: 디렉토리의 내용을 나열합니다.
ls -l: 자세한 정보 (권한, 소유자, 크기 등)를 포함하여 나열합니다.
ls -a: 숨김 파일을 포함하여 나열합니다.
cd: 디렉토리를 이동합니다.
cd /path/to/dir: 지정된 경로로 이동합니다.
cd ~: 홈 디렉토리로 이동합니다.
cd ..: 상위 디렉토리로 이동합니다.
pwd: 현재 작업 디렉토리의 전체 경로를 출력합니다.
mkdir: 새 디렉토리를 생성합니다.
rm: 파일 또는 디렉토리를 삭제합니다.
rm file.txt: file.txt 파일을 삭제합니다.
rm -r directory/: directory/ 디렉토리와 그 안의 모든 내용을 재귀적으로 삭제합니다.
cp: 파일을 복사합니다.
cp source.txt dest.txt: source.txt를 dest.txt로 복사합니다.
mv: 파일을 이동하거나 이름을 변경합니다.
touch: 빈 파일을 생성하거나, 기존 파일의 수정 시간을 현재 시간으로 업데이트합니다.
파일 내용 확인 및 편집
cat: 파일의 전체 내용을 터미널에 출력합니다.
less, more: 페이지 단위로 파일 내용을 볼 수 있어 큰 파일에 유용합니다.
head, tail: 파일의 시작 또는 끝 부분을 출력합니다.
head -n 10 file.txt: file.txt 파일의 상위 10줄을 출력합니다.
tail -n 20 file.txt: file.txt 파일의 하위 20줄을 출력합니다.
nano, vi, vim: 터미널 기반의 텍스트 편집기를 실행합니다.
검색 및 필터링
grep: 파일 내에서 특정 텍스트 패턴을 검색합니다.
grep "pattern" filename: filename에서 “pattern”을 검색합니다.
find: 파일이나 디렉토리를 검색합니다.
find /path -name "*.txt": /path 디렉토리에서 확장자가 .txt인 모든 파일을 찾습니다.
locate: 인덱스를 사용하여 파일이나 디렉토리를 빠르게 검색합니다. (사전에 데이터베이스 업데이트 필요)
wc: 파일의 라인, 단어, 문자 수를 계산합니다.
cut: 텍스트를 특정 구분자를 기준으로 자릅니다.
cut -d ':' -f 1 /etc/passwd: /etc/passwd 파일에서 ‘:’을 구분자로 사용하여 첫 번째 필드만 출력합니다.
sort, uniq: 라인을 정렬하고, uniq는 중복된 라인을 제거합니다.
권한 및 사용자 관리
chmod: 파일 또는 디렉토리의 권한을 변경합니다.
chmod 755 file.sh: file.sh 파일에 읽기, 쓰기, 실행 권한을 부여합니다.
chown: 파일 또는 디렉토리의 소유자를 변경합니다.
chown user:group file.txt: file.txt의 소유자를 user, 그룹을 group으로 변경합니다.
adduser, useradd, deluser: 사용자를 추가하거나 삭제합니다.
passwd: 사용자의 비밀번호를 설정하거나 변경합니다.
su, sudo: 다른 사용자로 전환하거나, 관리자 권한으로 명령어를 실행합니다.
프로세스 및 작업 제어
ps: 현재 실행 중인 프로세스를 보여줍니다.
kill: 프로세스를 종료합니다.
kill PID: 지정된 프로세스 ID (PID)를 가진 프로세스를 종료합니다.
jobs, fg, bg: 백그라운드에서 실행되는 작업을 제어합니다.
압축 및 백업
tar: 여러 파일을 하나의 아카이브 파일로 묶거나 압축합니다.
tar -cvf archive.tar file1 file2: file1과 file2를 archive.tar로 묶습니다.
tar -xvf archive.tar: archive.tar의 압축을 해제합니다.
gzip, gunzip: 파일을 압축하고 해제합니다 (.gz 형식).
zip, unzip: zip 형식으로 파일을 압축하고 해제합니다.
시스템 정보 및 설정
df -h: 디스크의 사용량을 사람이 읽기 쉬운 형태로 보여줍니다.
du -sh: 디렉토리나 파일의 용량을 요약하여 보여줍니다.
uname -a: 시스템 정보 (커널 버전, 운영체제 등)를 출력합니다.
history: 이전에 실행했던 명령어 목록을 보여줍니다.
alias: 명령어에 별칭을 설정하여 더 짧거나 기억하기 쉬운 이름으로 사용할 수 있게 합니다.
alias ll='ls -alF': ll을 입력하면 ls -alF가 실행되도록 설정합니다.
네트워크 도구
curl, wget: 웹에서 파일 다운로드 및 HTTP 요청을 보냅니다.
netstat, ss: 네트워크 연결 상태 및 포트 정보를 보여줍니다.
scp: 원격 서버와 파일을 안전하게 복사합니다.
scp file.txt user@remote:/path: 로컬의 file.txt를 원격 서버의 /path로 복사합니다.
기타 유용한 명령어
man: 명령어의 매뉴얼 페이지를 보여줍니다 (도움말).
echo: 텍스트를 터미널에 출력합니다.
date: 현재 날짜와 시간을 표시합니다.
sleep: 지정한 시간 동안 대기합니다.
clear: 터미널 화면을 지웁니다.
파이프 및 리디렉션
| (파이프): 한 명령어의 출력을 다른 명령어의 입력으로 연결합니다.
ls -l | grep ".txt": ls -l의 결과 중 .txt를 포함하는 라인만 필터링하여 출력합니다.
>, >>: 명령어의 출력을 파일로 리디렉션합니다.
>: 파일의 내용을 덮어씁니다.
>>: 파일의 내용에 추가합니다.
<: 파일의 내용을 명령어의 입력으로 리디렉션합니다.
스크립트 및 자동화
.sh 파일 실행: 쉘 스크립트 파일을 실행합니다.
chmod +x script.sh: 스크립트 파일에 실행 권한을 부여합니다.
./script.sh: 스크립트 파일을 실행합니다.
cron: 정해진 시간에 작업을 자동적으로 실행하도록 예약합니다.
crontab -e: cron 작업을 편집합니다.
패키지 관리 (예: Ubuntu/Debian)
apt update: 패키지 목록을 최신 상태로 업데이트합니다.
apt upgrade: 설치된 패키지를 최신 버전으로 업그레이드합니다.
apt install <package_name>: 패키지를 설치합니다.
apt remove <package_name>: 패키지를 삭제합니다.
Tags:
rock