Skip to content

Linux 명령줄 치트 시트

Linux는 POSIX 및 Unix를 기반으로 하는 무료로 사용하고 자유롭게 배포할 수 있는 Unix 계열 운영 체제입니다. 멀티 사용자, 멀티 태스킹, 멀티 스레드 및 멀티 CPU를 지원하는 운영 체제입니다. 주요 Unix 도구, 애플리케이션 및 네트워크 프로토콜을 실행할 수 있으며 32비트 및 64비트 하드웨어를 모두 지원합니다. Unix의 네트워크 중심 설계 철학을 계승한 Linux는 안정적인 멀티 사용자 네트워크 운영 체제입니다.

시스템

uname Linux 시스템 정보 표시
uname -r 커널 버전 정보 표시
uptime 시스템 가동 시간 표시(평균 부하 포함)
hostname 시스템 호스트 이름 표시
hostname -i 시스템의 IP 주소 표시
last reboot 시스템 재부팅 기록 표시
date 현재 시스템 날짜 및 시간 표시
timedatectl 시스템 시계 조회 및 변경
cal 현재 달력의 월과 일 표시
w 시스템에 현재 로그인한 사용자 표시
whoami 로그인 ID 표시
finger username 사용자에 대한 정보 표시

하드웨어

dmesg 부팅 메시지 표시
cat /proc/cpuinfo CPU에 대한 세부 정보(모델, 코어, 공급업체 등) 표시
cat /proc/meminfo 하드웨어 메모리에 대한 세부 정보(총 메모리, 사용 가능한 메모리 등) 표시
lshw 시스템 하드웨어 구성에 대한 정보 표시
lsblk 블록 장치 관련 정보 표시
free -m 시스템의 빈 메모리와 사용 중인 메모리 표시(-m 플래그는 MB 단위)
lspci -tv PCI 장치를 트리 다이어그램으로 표시
lsusb -tv USB 장치를 트리 다이어그램으로 표시
dmidecode BIOS의 하드웨어 정보 표시
hdparm -i /dev/xda 디스크 데이터에 대한 정보 표시
hdparm -tT /dev/xda 장치 xda에서 읽기 속도 테스트 수행
badblocks -s /dev/xda 디스크에서 읽을 수 없는 블록 테스트

사용자

id 활성 사용자의 세부 정보(uid, gid, 그룹 등) 표시
last 시스템의 마지막 로그인 내역 표시
who 시스템에 로그인한 사용자 표시
groupadd “admin” “admin” 그룹 추가
adduser “Sam” Sam 사용자 추가
userdel “Sam” Sam 사용자 삭제
usermod 사용자 정보 변경/수정에 사용

파일

ls -al 파일 목록 표시 - 일반 파일, 숨김 파일 및 권한 포함
pwd 현재 디렉토리 경로 표시
mkdir ‘directory_name’ 새 디렉토리 생성
rm file_name 파일 삭제
rm -f filename 파일 강제 삭제
rm -r directory_name 디렉토리 재귀적 삭제
rm -rf directory_name 디렉토리 강제 및 재귀적 삭제
cp file1 file2 file1의 내용을 file2로 복사
cp -r dir1 dir2 dir1을 dir2로 재귀적으로 복사. dir2가 없으면 생성
mv file1 file2 file1의 이름을 file2로 변경
ln -s /path/to/file_name link_name file_name에 대한 심볼릭 링크 생성
touch file_name 새 파일 생성
cat > file_name 키보드 입력으로 파일 생성
more file_name 파일 내용 출력
head file_name 파일의 처음 10행 표시
tail file_name 파일의 마지막 10행 표시
gpg -c file_name 파일 암호화
gpg file_name.gpg 파일 복호화
wc 파일의 바이트, 단어 및 행 수 출력
xargs 표준 입력에서 명령 실행

프로세스

ps 현재 활성 프로세스 표시
ps aux | grep ’telnet' ’telnet’ 프로세스 ID 검색
pmap 프로세스의 메모리 맵 표시
top 실행 중인 모든 프로세스 표시
kill pid 지정된 pid로 프로세스 종료
killall proc proc이라는 이름의 모든 프로세스 종료/중지
pkill process-name 프로세스 이름으로 신호 보내기
bg 백그라운드에서 일시 중지된 명령 재개
fg 백그라운드 명령을 포그라운드로 가져와서 재개
fg n 작업 n을 포그라운드로 가져오기
lsof 프로세스가 연 파일 목록 표시
renice 19 PID 프로세스를 매우 낮은 우선순위로 실행
pgrep firefox Firefox 프로세스 ID 찾기
pstree 프로세스를 트리 모델로 시각화

파일 권한

chmod octal filename 파일 권한을 8진수로 변경
chmod 777 /data/test.c 소유자, 그룹 및 모든 사용자(서버에 접속 가능한 다른 사용자)에게 rwx 권한 설정
chmod 755 /data/test.c 소유자에게 rwx, 그룹 및 모든 사용자에게 r-x 설정
chmod 766 /data/test.c 소유자에게 rwx, 그룹 및 모든 사용자에게 rw- 설정
chown owner user-file 파일 소유권 변경
chown owner-user:owner-group file_name 파일 소유자와 그룹 소유자 변경
chown owner-user:owner-group directory 디렉토리 소유자와 그룹 소유자 변경

네트워크

ip addr show IP 주소 및 모든 네트워크 인터페이스 표시
ip address add 192.168.0.1/24 dev eth0 인터페이스 eth0에 IP 주소 192.168.0.1 할당
ifconfig 모든 네트워크 인터페이스의 IP 주소 표시
ping host 서버/PC와의 연결을 확인하기 위해 ICMP 에코 요청 전송
whois domain 도메인 이름에 대한 자세한 정보 검색
dig domain 도메인의 DNS 정보 검색
dig -x host 도메인 역방향 조회 수행
host google.com 도메인 이름의 IP 조회 수행
hostname -i 로컬 IP 주소 표시
wget file_name 온라인 리소스에서 파일 다운로드
netstat -pnltu 모든 활성 수신 대기 포트 표시

압축/아카이브

tar -cf home.tar home ‘home’ 디렉토리에 대해 home.tar라는 이름의 아카이브 파일 생성
tar -xf files.tar 아카이브 파일 “files.tar” 압축 해제
tar -zcvf home.tar.gz source-folder 소스 폴더에서 압축된 tar 아카이브 생성
gzip file .gz 확장자로 파일 압축

패키지 설치

rpm -i pkg_name.rpm rpm 패키지 설치
rpm -e pkg_name rpm 패키지 제거
dnf install pkg_name dnf 도구를 사용하여 패키지 설치

소스 설치(컴파일)

./configure 시스템을 확인하여 프로그램을 빌드하는 데 필요한 소프트웨어 확인. Makefile 생성
make 프로그램 컴파일
make install 컴파일 후 바이너리 파일을 기본/수정된 경로에 설치

검색

grep ‘pattern’ files 파일에서 지정된 패턴 검색
grep -r pattern dir 지정된 디렉토리 내에서 패턴을 재귀적으로 검색
locate file 파일의 모든 인스턴스 찾기
find /home/ -name “index” /home 폴더에서 ‘index’로 시작하는 파일 이름 찾기
find /home -size +10000k 홈 폴더에서 10000k보다 큰 파일 찾기

로그인

ssh user@host 지정된 사용자를 사용하여 호스트에 안전하게 연결
ssh -p port_number user@host 지정된 포트를 사용하여 호스트에 안전하게 연결
ssh host 기본 22번 포트를 통해 시스템에 안전하게 연결
telnet host 기본 23번 포트를 통해 호스트에 연결

파일 전송

scp file1.txt server2/tmp server2의 /tmp 디렉토리에 file1.txt를 안전하게 복사
rsync -a /home/apps /backup/ /home/apps 디렉토리의 내용을 /backup 디렉토리와 동기화

디스크 사용량

df -h 마운트된 시스템의 여유 공간 표시
df -i 파일 시스템의 빈 inode 표시
fdisk -l 디스크 파티션, 크기 및 유형 표시
du -sh 현재 디렉토리의 디스크 사용량을 사람이 읽을 수 있는 형식으로 표시
findmnt 모든 파일 시스템의 대상 마운트 포인트 표시
mount device-path mount-point 장치 마운트

디렉토리 이동

cd .. 디렉토리 트리 구조에서 한 단계 위로 이동
cd 디렉토리를 $HOME 디렉토리로 변경
cd /test 디렉토리를 /test 디렉토리로 변경