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