◆◆◆ 기본 명령어 ◆◆◆
man, --help, info ☞명령어설명☜
cd, pwd ☞경로변경 및 확인☜
which, whereis ☞내부명령(builtin)인지 외부명령인지☜
shutdown, halt, init, telinit ☞재부팅 및 종료 ※uptime 부팅후 시간☜
date, cal, rdate ☞시간달력☜
cat, head, tail, more, ☞텍스트파일보기☜
vi, vim, sed ☞텍스트파일편집☜
mkdir, rmdir, cp, rm, mv, touch, ln ☞파일생성및삭제☜
chmod, chattr, chown ☞권한수정, 속성수정☜
find, ls, file ☞파일찾기,디렉토리내용보기,파일종류☜
tar, gzip, bzip2 ☞파일 묶기 및 압축관련☜
cpio, dump, rmt ☞백업☜
fdisk, mkfs, mount, umount, fsck, mkswap ☞파일시스템☜
du, df, free ☞용량확인☜
blkid숫자 ☞블럭 디바이스 속성 조회 도구☜
quota, equota ☞디스크할당량☜
top, ps, pstree1, isof ☞프로세스관련확인☜
kill, killall, nohup ☞프로세스종료, ※kill -l 번호별 시그날 확인☜
exec, fork, nice, renice ☞프로세스 ㅡㅡㅡ 및 우선순위변경☜
&, fg, bg, jobs ☞백그라운드관련☜
wget
서비스 접근 통제
xinetd
ntsysv
chkconfig
● 구룹 및 계정
who, who am i, whoami, su ☞계정확인 및 변경☜
○ 관련파일
/etc/login.defs
/etc/default/useradd
/etc/skel
● useradd, usermod, userdel ☞사용자추가, 수정, 삭제☜
○ 관련파일
/etc/passwd
/etc/shadow
/home
● groupadd, groupmod, groupdel ☞그룹추가, 수정, 삭제☜
○ 관련파일
/etc/group
/etc/gshadow
● history
○ /etc/profile ☞HISTSIZE 입력된명령어기억 크기☜
○ !히스토리번호 ☞history로 확인후 번호로 명령 실행☜
○ !! ☞최근명령☜
※ 기타
Ctrl+Alt+F1~F7 ☞가상콘솔 F1~F6=CLI, F7=GUI☜
● 비프음off
○ /etc/inputrc
○ xset b off
● 시스템로그
/var/log/messages
◆◆◆ 특수문자 ◆◆◆
○ ? ☞와일드마스크로 ? 1개 ?? 2개의 문자를 의미☜
○ * ☞문자수 상관없는 임의의 숫자, 0개이상☜
○ a; b ☞여러개의 명령을 한줄에 실행☜
○ >, >>, < ☞리디렉션☜
○ | ☞파이프☜
○ # ☞파운드, 뒤에오는 문자 주석처리☜
○ ||, && ☞or, and☜
○ &숫자 예: $0 $1 ☞명령의 인수번호☜
○ \< ☞\다음에 오는 문자인 <가 리다이렉션으로 인식되지 않고 비교연산자로 인식☜
○ \* ☞와일드로인식x 곱하기로 인식☜
※ 파이프와 리디렉션 같이 사용시
| >y | x ☞앞에 리디렉션으로 y쪽으로 출력되어 뒤쪽x로 인자값이 주어지지 않음☜
◆◆◆ 정규표현(그랩사용) ◆◆◆
● 메타문자
○ ? ☞앞에 문자가 있거나 없음☜
○ . ☞와일드마스크로 . 1개 .. 2개의 문자를 의미☜
○ * ☞문자수 상관없는 임의의 숫자, 반복을 의미☜
○ ^ ☞줄의시작, 문자집합을 반대로 해석☜
○ $ ☞줄의끝☜
○ ^$ ☞개행☜
○ [ ] ☞문자집합, 예: [a-z] a에서z까지☜
○ \ ☞다음에오는 문자를 의미그대로 해석, 최대9번☜
\< ☞단어의시작지시자☜
\> ☞단어의 끝 지시자☜
x\{n\} ☞문자x를 n번 반복☜
x\{n,\} ☞문자 x를 적어도 n번 반복(최소반복이상)☜
x\{m,n\} ☞문자 x를 m에서 n번 반복(반복범위)☜
● 쿼팅
○ ' ' ☞홀따옴표: 특수문자 해석X☜
○ " " ☞곁따옴표: 특수문자 해석O☜
○ ` ` ☞백쿼트: 안의 내용을 실행☜
● 표준입출력
○ 0표준입력, 1표준출력(모니터), 2표준에러
○ 예) 2>&1 표준에러를 표준출력방향으로 전송
○ 예) 2>>파일명 표준에러만 지정한 파일로 기록
● awk
◆◆◆ 쉘, 스크립트, 스케쥴링 ◆◆◆
cron
echo $SHELL ☞쉘종류확인☜
bash ☞배쉬쉘로변경☜
/etc/shells ☞사용가능한 쉘☜
echo $변수명 ☞= echo %errorlevel%☜
printenv ☞모든환경변수출력☜
export {환경변수명=변수값} ☞변수지정☜
declare
unset ☞변수해제☜
expr ☞숫자연산☜
● 관련파일
○ /etc/profile ☞모든사용자에 영향☜
○ /etc/bashrc ☞모든사용자에 영향☜
○ ~/.bash_profile ☞해당 사용자에만 영향☜
○ ~/.bashrc ☞해당 사용자에만 영향☜
● 로그인 쉘(Login shell)의 실행 절차(Bash)
○ 로그인 프로세스 : /etc/profile 호출
○ /etc/profile : /etc/profile.d내 스크립트 호출
○ 로그인 프로세스 : ~/.bash_profile 호출
○ ~/.bash_profile : ~/.bashrc 호출
○ ~/.bashrc : /etc/bashrc 호출
● 논 로그인 쉘(Non login shell) 실행 절차(Bash)
○ 논 로그인 프로세스 : ~/.bashrc 호출
○ ~/.bashrc : /etc/bashrc 호출
○ /etc/bashrc : /etc/profile.d내 스크립트 호출
※ 기타
● 쉘 timeout설정
○ /etc/profile 또는 ~/.bash_profile 에 TMOU=600 설정
● 쉘스크립트 디버깅모드
*.sh ☞스크립트파일☜
○ #!/bin/bash -x ☞스크립트 맨앞에 -x붙이면 디버깅 모드로 진행됨☜
● 현재시간
스크립트에서 `date +%T`
명령줄에서 date '+%T'
◆◆◆ 패키지 ◆◆◆
yum list installed
yum -y install
◆◆◆ 네트워크 ◆◆◆
ping, traceroute, arp, route, netstat ☞네트워크관련 점검☜
○ net.ipv4.ip_forward ☞라우팅 기능 활성☜
○ nmap ☞열려있는 포트 확인☜
○ service network restart ☞적용후 전체 네트워크 서비스 재시작☜
● 관련파일
○ /etc/sysconfig/network
○ /etc/resolve.conf ☞dns주소☜
○ /etc/hosts
○ /etc/services ☞기본포트☜
○ /etc/protocol
● iptables
○ /etc/sysconfig/iptables ☞방화벽 service iptables restart☜
● sshd
○ /etc/ssh ☞관련파일☜
○ chkconfig --list sshd 또는 serivce sshd status ☞확인☜
○ chkconfig sshd on ☞부팅시자동 활성화☜
○ sshd [-l 사용자계정] {ip주소|hostname}
○ sshd 사용자계정@{ip주소|hostname}