유닉스와 리눅스는 대문자와 소문자를 구분합니다.
관리자(root)은 "su -" 명령어를 사용하고 접속이 성공하면 프롬프트에 '#'이 표시됩니다.
사용자 계정은 접속이 성공하면 프롬프트에 '$'이 표시됩니다.
명령어 도움말
man 명령어 도움말
man ls ls 명령어에 대한 도함물 출력
가용성 점검
TOP CPU, 메모리, 프로세스 등 시스템 모니터링 유틸리티
top -p 22978 특정 PID 시스템 모니터링 출력
free 메모리 점검
free -m show output in MB
df 디스크 점검
df -h 디스크 용량 포맷 변경 (e.g: 1K 234M 2G)
ps 프로세스 점검 (process status)
ps -ef 모든 프로세스의 모든 정보를 출력
ps -e 모든 프로세스 리스트 출력 (ps -A)
ps -f 프로세스 시작 시간, 프로세스의 부모 ID 등 모든 정보를 출력
ps -ef 모든 프로세스를 유닉스 형식으로 출력
ps -u 특정 사용자가 실행시킨 프로세스 목록
ps -a 터미널에서 다른 사용자가 실행한 프로세스 출력
ps -x 접속 터미널뿐만 아니라 지금 사용되는 모든 프로세스 출력
ps -p 지정된 프로세스에 대한 정보 출력
| 명령의 결과를 다음 명령의 입력으로 넘긴다. (Pipe)
ls -al | wc -l ls 명령어의 라인수를 Count
grep 파일에 포함된 특정 단어를 검색
grep -i 대소문자 구분 안함
grep -n line 번호 출력
grep -v 검색어가 없는 Line 출력
grep -c line 수를 Count
grep -w 단어(word) 단위로 매칭
grep -x line 단위로 매칭
wc 단어 수, 줄 수 등을 세어줌
wc -l line 수를 Count
wc -l test.txt 해당 파일의 line 수를 Count
ps -ef | grep http | wc -l
ps -ef | grep guard.py | wc -l
ps -ef | grep pguard.py | wc -l
ps -ef | grep ssh-proxy.py | wc -l
ps -ef | grep ftpd-proxy.py | wc -l
ps -ef | grep sftp-proxy.py | wc -l
ps -ef | grep gated-xrdp | wc -l
ps -ef | grep mysqld | wc -l
netstat 세션점검
netstat -a all 모든 소켓 정보
netstat -n 호스트명 대신 ip주소로 출력
netstat -t TCP 프로토콜 출력
netstat -i 모든 네트워크 인터페이스 정보 출력
netstat -u UDP 프로토콜 출력
netstat -p 프로세스id(PID)와 프로세스 이름 표시
netstat -r 라우팅 정보
netstat -an | grep ESTABLISHED | wc -l
netstat -an | grep LISTEN | wc -l
netstat -an | grep SYN_REC | wc -l
netstat -an | grep 5000 5000 Port LISTEN 점검
uptime 서버 재부팅 일수 확인
시작과 종료
shutdown -h now 지금 종료
shutdown -h +10 10분 후에 종료(h: halt)
shutdown -r 22:00 오후 10시에 재부팅(r: reboot)
shutdown -k now 현재 접속자에게 종료 메시지만 보내고 종료는 안함
halt 지금 종료
init 0 지금 종료
init 1 단일 사용자 모드(시스템 복구 시)
init 2 NFS 없는 다중 사용자 모드(잘 사용하지 않음)
init 3 텍스트 모드의 다중 사용자 모드
init 4 사용하지 않음
init 5 X 윈도우 몯의 다중 사용자 모드
init 6 재부팅 모드
지금 재부팅
shutdown -r now 지금 재부팅
reboot 지금 재부팅
init 6 지금 재부팅
로그아웃
logout
exit
에디터/열람
gedit X 윈도우 재공 환경
vi 텍스트 모드에서 모든 유닉스/리눅스 시스템 기본 포함
파일명 생성/열람 vi test.txt (해당 파일이 있으면 열람)
입력 모드 i(insert), a(Append)
명령 모드 Esc
종료 모드 :(콜론)
저장 후 종료 :wq(Write, Quit) → Enter
파일명 생성/종료 :w test2.txt → q
파일명 생성/종료 :wq! test3.txt (생성하면서 바로 종료, :wq도 가능)
변경없이 종료 :q!
비 정상적으로 종료 .test2.txt.swp(swp 파일이 생성됨)
위/아래 이동 K/J 또는 방향키 위/아래
페이지 업/다운 Page UP/Page Down 또는 Space/b
특정 단어 검색 "/단어" + N(다음 단어), 종료(Q)
cat install.log 짧은 텍스트 파일 내용을 볼때 사용(내용이 많으면 more 사용)
head install.log 처음 10줄을 출력한다.
tail install.log 마지막 10줄을 출력한다.
tail -50 install.log 마지막 50줄을 출력한다.
tail -c 마지막 바이트(N)만큼 내용을 출력한다.
tail -f tail을 종료하지 않고 파일의 업데이트 내용을 실시간으로 출력한다.(follow)
tail -q 파일명을 출력하지 않는다.(quiet)
tail -v 출력 전에 파일 이름을 출력한다.(verbose)
tail --help 사용법을 출력한다.
tail --version 버전 정보를 출력한다.
more 위에서 아래로 이동하면서 출력
more install.log 페이지 단위로 출력한다.
more +100 install.log 100행부터 출력한다.
less 위에서 아래, 아래에서 위로 둘다 이동 가능(화살표, Page Up, Page Down), 종료(q)
file install.log file이 어떤 종류의 파일인지 표시해 준다.
file /bin/gzip 특정 경로의 file이 어떤 종류의 파일인지 표시해 준다.
clear 명령창을 깨끗하게 지워준다.
조회
리눅스는 숨김파일 속성은 없고, 파일명/디렉토리 제일 앞 글자를 "."으로 하면 자동 숨김 파일이 됩니다.
cd 현재 사용자의 홈 디렉토리로 이동함
cd ~root root 사용자의 홈 디렉토리로 이동함
cd .. 바로 상위 디렉토리로 이동
cd /usr/bin user/bin 디렉토리 이동(절대 경로)
cd ../usr/bin 상대 경로로 이동
pwd 현재 디렉토리 보여줌
ls 현재 디렉토리 파일 목록을 보여줌
ls /user/bin /user/bin/ 디렉토리의 목록을 보여줌
ls -a 현재 디렉토리의 목록(숨김 파일 포함)
ls -l 현재 디렉토리의 목록을 자세히 보여줌
ls *.txt 확장자가 txt인 목록을 보여줌
ls -l /user/bin/a* /usr/bin/ 디렉토리에 있는 목록 중 앞 글자가 'a'의 목록을 자세히 보여줌
find 파일을 검색함
find -name 파일 이름으로 검색
find -user 소유자 이름으로 검색
find -size 파일 크기로 검색
복사/변경/삭제
cp /boot/test4.txt 해당 파일을 현재 디렉토리에 복사함
cp test.txt test2.txt test.txt 파일을 test2.txt 파일에 복사
cp -r test test2 디렉토리 복사
touch test.txt 파일이 없을 경우 test.txt 파일 생성/ 파일이 있으면 수정시간을 현재로 변경
mv test1 test2 test3 test4 test1~3 파일을 test4 디렉토리에 이동
mv test1.txt test2.txt 파일 이름 변경
rm .test3.txt.swp 파일 삭제
rm -i text3.txt.swp 파일 삭제 시 확인을 물어봄
rm -r text3 디렉토리 삭제
rm -rf text3 text3 디렉토리와 그 하부를 강제로 전부 삭제
디렉토리 생성/삭제
mkdir test → 현재 디렉토리 아래에 test 디렉토리 생상
mkdir /media/iso → 경로 이동 후 iso 디렉토리 생성
mkdir -p test/test2 → 현재 디렉토리 아래에 test 디렉토리 생성후 그 안에 test2 디렉토리 생성
rmdir test → 빈 디렉토리를 삭제한다.
rmdir -r test → 파일이 들어 있는 디렉토리를 삭제한다.
마운트
mount 현재 마운트되어 있는 장치들 확인
umount /dev/cdrom CD/DVD 마운트 해제 (/dev/sr0 또는 /dev/dvd )
패키지
rpm -qa 패키지 이름 → 패키지가 설치되어 있는지 확인하는 명령어이다.
rpm -qa genisoimage → genisoimage 프로그램이 포함된 패키지
rpm -qa wodim → cdrecord 프로그램이 포함된 패키지
rpm -qa dvd+rw-tools → growisofs 프로그램이 포함된 패키지
yum -y install 패키지 이름 → 패키지를 설치하는 명령어이다.
yum -y install wodim → wodim 프로그램이 포함된 패키지 설치
압축
tar 압축
tar c 파일을 입축함
tar v 작업 과정 확인
tar f 저장될 파일명 지정
tar x 압축 파일을 풀어줌
tar z tar + gzip
tar j tar + bzip2
tar cvf test.tar ./test test 디렉토리를 test.tar로 압축
tar xvf test.tar test.tar 파일을 풀어줌
쉘
Sh
exit 또는 ctri+d sh에서 복귀