728x90
반응형
참고자료 : 서진수_부록1_리눅스기초.pdf & 개인 자료 스크랩 카페(cafe.naver.com/beamrock)
제가 1년여간 학습하고, 실제 써보고, 테스트했던 리눅스 관련 내용들을 종합해서 정리해봤습니다.
전반적으로 위의 참고자료를 정리한 내용이고,
사용 예제는 부분적으로 제가 임의로 만들어봤습니다. (약간 어색한 부분도 있지만, 오라클과 관련되서 제가 직접 수행했던 기억들을 더듬어서 써봤습니다. ^^;)
총 2개의 파일로 구성했습니다.
1. 리눅스 기본 명령어 모음 for 오라클 엔지니어 (PnD_OS_Linux_Oper_140402.pdf)
2. 리눅스 Advanced 명령어 모음 for 리눅스 엔지니어(PnD_OS_Linux_Service_140402.pdf)
1번 내용은 자주 사용하는 명령어 위주로 편집했습니다. 오라클 엔지니어라면 많이 익숙한 명령어들일 겁니다.
2번 내용은 사실 저도 별로 활용도가 없습니다. ㅋ 그래도 알아두면 비상시에 유용하게 활용할 수 있을거라 생각됩니다.
YUM, RPM은 말할 것도 없고, FTP나 텔넷 사용법은 오라클 설치시에 OS엔지니어가 해결해주지 않으면 스스로 설정할 줄 알아야 합니다.
개인적으로도 계속 베이스로 활용 자료로 사용하기에 정리한 내용이니, 틀린 부분이나 추가할 부분 있으면 댓글 바랄께요. ^^
Last Updated : 2014-04-01 / 작성자 : beamrock@naver.com | |||||
<기반 지식> | |||||
EXT 파일 시스템(ext1, ext2, ext3, ext4) | http://cafe.naver.com/beamrock/39 | ||||
구분 | 리눅스 명령어 | 설명 | 리눅스 사용 예제 | 서진수_ 부록1_ 리눅스기초 |
웹 레퍼런스 |
공통 | 유닉스 계열의 이름 지정 규칙 : period(.)은 숨긴 파일 ; 확장자 개념 없음 ; 대/소문자 구분 ; 이름은 최대 255자 가능 | 1 | |||
PATH(절대경로 / 상대경로) : [oracle:/home/oracle]# cd / 와 [oracle:/home/oracle]# cd ../.. 의 결과는 같다 | 2 | ||||
Shell Meta Character : ~(홈디렉토리 의미) ; *(All 의미) ; ?(All, but 1글자만 해당) ; [ ](대괄호 사이의 모든 글자를 의미) ; \ (탈출 문자 - touch \*.sh) |
3 ~ 4 | ||||
파이프( | ) : 하나의 명령의 결과를 다음 명령의 입력으로 넘김. (예) ls $ORACLE_HOME/rdbms/admin/*.sql | wc -l | 18 ~ 19 | ||||
정규식(Regular Expression) : 검색 조건을 보다 다양하게 줄 수 있는 방법. 10g부터 SQL에서도 지원됨. | 25 ~ 27 | ||||
/dev/null 에 관하여 | http://cafe.naver.com/beamrock/42 | ||||
Re-direction( > ; >> ; < ; << ) 표준입력(키보드)과 표준출력(모니터)을 다른 곳으로 변경. (예) cat alert_snui.log | grep 'ORA-' >> a.txt |
18 | ||||
기본 명령어 |
alias <-> unalias | 파일 또는 디렉토리에 별칭 줄 때 사용 | alias ss='sqlplus / as sysdba' | 17 | |
cat (concatenate) | 텍스트 파일 내용 화면 출력 | 14 | |||
cd | 디렉토리 이동 | 8 | |||
compress | 파일 압축 (요즘 거의 사용않함. gzip으로 대신) |
compress 파일명 | |||
cp | 파일 복사 | cp -irv .bash_profile .bash_profile140401 | 10 | ||
dd | 파일을 블록단위로 복사 (주로 raw device용) |
dd if=/dev/raw/raw1 of=/data/backup/system_raw1 bs=8k | 17 | ||
find | 파일이름or소유자or크기or권한 등의 조건으로 검색 |
find /home/oracle -name '*.sh' find /home/oracle -user oracle find /home/oracle -size +5k -size -10k find /home/oracle -size 0k -exec rm -f {} \; |
21 ~ | ||
grep(또는 egrep) | 텍스트 파일에서 특정 단어나 구문 검색 | grep –ic ora- alertorcl.log grep '^ORA-' alertorcl.log grep 'ORA-$' alertorcl.log grep [^a-e] alertorcl.log egrep 'do(es|ing)+' alertorcl.log |
25 ~ 27 | http://cafe.naver.com/beamrock/43 | |
gzip(gunzip) | 파일 압축(해제) 디렉토리는 압축할 수 없어, tar 명령어의 압축 옵션으로 주로 사용 |
gzip -9 -v OPatch.tar gunzip OPatch.tar |
|||
head | 문서의 처음 ?줄 화면출력(기본10줄) | head .bash_profile 또는 head +5 .bash_profile | 14 | ||
id | 현재 계정의 id & 그룹 등 정보 출력 | ||||
ln (link) | 하드링크(복사) 소프트링크(윈도 바로가기) |
ln -s /dev/rhdisk01 /asm/raw01 | 16 | ||
ls (list) | 파일 및 디렉토리 목록 출력 | ls -alrhS | 5 ~ 7 | ||
man (manual) | 명령어 옵션 및 의미 출력 | Enter(1line), Spacebar(1page), b(-1page), q(quit) | 5 | ||
mkdir | 디렉토리 생성 | mkdir -p /data/oracle/product/11g | 8 | ||
more | 문서 내용 페이지 단위 화면 출력 | Enter(1line), Spacebar(1page), b(-1page), q(ctrl+c) | 14 | ||
mv (move) | 파일 이동 또는 이름 변경 | mv -i initorcl.ora initorcl.ora.140401 | 12 | ||
passwd | 패스워드 변경 | passwd oracle | 31 | ||
pwd | 현재 디렉토리 경로 출력 | 9 | |||
rm | 파일 또는 디렉토리 삭제 | rm -rf /data/oracle/product/11g | 13 | ||
rmdir | 디렉토리 삭제 | rmdir -rf /data/oracle/product/11g | 8 | ||
tar | 파일 묶음(리눅스는 옵션으로 압축 지원) | tar cvf OPatch.tar.140331 ./OPatch | 19 ~ 20 | ||
tail | 문서의 마지막 ?줄 화면출력(기본10줄) | tail -f alertorcl.log tail –n 10000 alert_SID.log > pnd_SID_alert_0807_0904.pnd |
15 | ||
touch | 용량이 0인 파일 생성 | touch -t 05011230 a.txt | 9 | ||
uname | 시스템 정보 확인 | uname -a # 시스템 정보 전체 확인 시스템 정보 부분 확인 : uname -a ; uname -s ; uname -n ; uname -o ; uname -i ; uname -anr ; uname -opr [다른 방법] # cat /proc/version # cat /etc/redhat-release # cat /etc/issue.net [Bit 확인] getconf LONG_BIT ; file /sbin/init |
http://cafe.naver.com/beamrock/70 | ||
wc (word count) | 특정 문서or결과물에서 단어or줄수 계산 | wc -l .bash_profile | 15 | ||
사용자 관리 |
groupadd | 새로운 그룹 생성 | groupadd -g 501 dba [확인] cat/etc/group | grep dba |
28 | |
groupmod | 그룹 정보 변경 | groupmod -g 502 -n oper dba | 28 | ||
groupdel | 그룹 삭제 | groupdel oper 또는 /etc/group 직접 편집과 같은 효과 | 29 | ||
useradd | 일반 사용자 계정 생성 | useradd -u 601 -g dba -G oper -d /home/oracle -s /bin/bash oracle 옵션 설정 없이 생성시 /etc/skel에 있는 파일들을 홈디렉토리로 복사 [확인] cat /etc/passwd |
29 ~ 30 | ||
usermod | 사용자 계정 정보 변경 | usermod -u 602 -g dba -G oper,oinstall -l oracle2 oracle | 32 | ||
userdel | 일반 사용자 계정 삭제 | userdel -r oracle -- oracle 홈디렉토리까지 삭제 userdel -f oracle -- oracle 계정이 로그인되어 있어도 강제로 삭제 가능 |
32 | http://cafe.naver.com/beamrock/77 | |
권한 관리 |
chmod | 사용 권한만 변경 | chmod -R 775 /u01 # SetUID 설정 chmod -R 4755 /u01 -- 4(SetUID) ; 2(SetUID) ; 1(Sticky Bit) [참고]소유자 권한이 S인 경우 : 실행권한이 없는 상태에서 SetUID 지정한 경우 |
36 ~ 38 | |
chown | 소유자 또는 그룹 사용 권한 변경 | chwon -R oracle:dba /u01 | 38 | ||
디스크 관리 |
df (disk free) | 디스크 및 해당 디렉토리 이름 출력 | df -h ; df -m ; df -k | 41 | |
du (disk usage) | 특정 디렉토리의 하위 디렉토리별 용량 출력 |
du -h /u01 --max-depth=1 | 41 ~ 42 | ||
fdisk | 물리적 디스크 및 파티션 작업(분할, 합병 등) |
fdisk -l ; fdisk /dev/sdb | 42 ~ 46 | ||
mkfs | 디스크 및 파티션 포맷 | mkfs.ext3 /dev/sdb1 | 46 | ||
mount | 디스크 및 파티션과 디렉토리 연결 | mount /dev/sdb1 /u01 또는 /etc/fstab 등록 | 47 | ||
LVM (Logical Volume Manager) 작업시 | fdisk 작업시 t, 8e 부분 추가 | 48 ~ 49 | |||
pvcreate | LVM용 디스크를 물리적 볼륨으로 변환 | pvcreate /dev/sdb1 | 50 | ||
vgcreate | 물리적 볼륨을 1개의 볼륨그룹으로 합병 | vgcreate vol1 /dev/sdb1 /dev/sdb2 /dev/sdb3 | 50 | ||
lvcreate | 볼륨그룹의 파티션 분할 | lvcreate -L 1500MB -n vote01 vol1 | 50 | ||
vgdisplay | 볼륨그룹의 구성 공간 확인 | vgdisplay | 51 | ||
lvscan | 생성되어 있는 논리적 볼륨 그룹 조회 | lvscan | 51 | ||
vgscan | 생성된 볼륨그룹 조회 | vgscan | 52 | ||
lvdisplay | 생성된 논리적 볼륨 조회 | lvdisplay | 52 | ||
vgextend | 생성된 VG에 PV 추가 | vgextend VG 새PV명 | 53 | ||
vgreduce | 생성된 VG에 PV 삭제 | vgreduce VG PV명 | 53 | ||
lvextend | 생성된 LV의 용량 확장 | lvextend -L +200M /dev/vol1/lv1 | 53 | ||
lvreduce | 생성된 LV의 용량 축소 | lvreduce -L -500M /dev/vol1/lv1 | 53 | ||
lvremove | LV 삭제 | lvremove lv1 | 53 | ||
vgremove | 볼륨 그룹 삭제 | vgremove vol1 | 53 | ||
프로세스 관리 |
ps | 프로세스 목록 조회 | ps -ef | grep ora | 57 | |
pstree | 프로세스 Tree 형태 출력 | pstree | 57 | ||
sar | CPU별 사용량 파악 | sar -P ALL -u 3 100 -- 전체 CPU에 대한 사용률을 3초 간격으로 100번 조회 |
|||
top | 리눅스 작업관리자 | top -c Shift + P(CPU사용량순) Shift + M(메모리 사용량순) |
58 | http://cafe.naver.com/beamrock/65 | |
kill | 프로세스 종료 | kill -9 PID -- 강제종료 kill PID -- 정상종료 kill -1 PID -- 강제종료후재시작 |
58 ~ 59 | ||
프로그램 관리 |
rpm -qa | RPM 설치 여부 조회 | rpm -qa | grep openssh | 59 | |
rpm -Uvh | RPM find 검색 후 설치 | find /media -name openssh* rpm -Uvh openssh~ rpm -Uvh openssh~.rpm --nodeps -- 의존성 문제 생겨도 무시하고 설치 rpm -Uvh openssh~.rpm --force -- 강제로 한번더 설치 |
60 ~ 61 | ||
rpm -e | RPM 제거 | rpm -e openssh~ | 60 | ||
스케줄링 관리 |
crontab -e | cron 작업 내역 등록 | * 5 * * * /etc/cron.d/expdp.sh > /dev/null 2>&1 # 매일5시 expdp.sh 파일을 수행. 출력결과(1)과 에러(2) 등을 /dev/null로 보냄 [참고] /var/spool/cron/USERNAME 으로 저장됨. |
63 | |
crontab -l | cron 작업 목록 출력 | crontab -l | 63 | ||
crontab -r | cron 모든 작업 내역 삭제 | crontab -r | 63 |
Last Updated : 2014-04-01 / 작성자 : beamrock@naver.com | |||||
구분 | 서비스명 | 서비스 구분 | 예제 설명 | 예제 | 참고 레퍼런스 |
패키지 관련 |
yum | 설치 | OEL5 이상은 대부분 기본 설치됨. 보통 OEL4 버전 이하에서 yum 수동 설치함 (오른쪽 6개의 rpm 패키지 설치해야함) |
libsqlite-3.2.1-1.i386.rpm sqlite2-2.8.17-2.el4.remi.i386.rpm python-elementtree-1.2.6-7.el4.rf.i386.rpm python-sqlite-0.5.0-1.2.el4.rf.i386.rpm python-urlgrabber-2.9.6-1.2.el4.rf.noarch.rpm yum-2.4.2-0.4.el4.rf.noarch.rpm |
http://cafe.naver.com/beamrock/120 |
세팅 | repo 추가 URL을 못찾는다는 메시지가 있을 경우에는 상대 경로는 절대 경로 이름으로 바꾼다. |
[root@rac2 yum.repos.d]# cd /etc/yum.repos.d [root@rac2 yum.repos.d]# wget -P /etc/yum.repos.d/ http://jmnote.com/centos/Daum.repo [root@rac2 yum.repos.d]# vi Daum.repo [Daum] name=Daum baseurl=http://ftp.daum.net/centos/$releasever/os/$basearch/ gpgcheck=0 enable=1 | |||
활용법 | 패키지 설치 | yum install 패키지명 | |||
트러블슈팅 | Redhat 계열에서 CentOS Yum 사용하기 | http://cafe.naver.com/beamrock/271 | |||
rpm | 설치 | 패키지 설치 방법 | # rpm -Uvh 패키지명 - 패키지명이 정확한 명이어야 함. | ||
검색 | 설치된 패키지 조회 | # rpm -qa | grep 패키지명 -- 패키지명이 일부분이어도 상관없음 | |||
삭제 | 설치된 패키지 삭제 | # rpm -e 패키지명 -- 패키지명이 정확한 명이어야 함 | |||
패키지 의존성 상관없이 삭제 | # rpm -e --nodeps 패키지명 | ||||
트러블슈팅 | rpm 삭제가 안될 경우 | # vi /etc/rpm/macros.local %_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch} # rpm -e mysql-4.1.12-3.RHEL4.1.i386 --nodeps |
http://cafe.naver.com/beamrock/267 | ||
환경 설정 |
Locale 설정 |
폰트 설치 | yum을 이용하여 한글 폰트 설치 | [root@rac1 yum.repos.d]# yum install fonts-korean -y | http://esheep.net/78 http://ibabo.tistory.com/65 http://cafe.naver.com/beamrock/92 |
로케일 확인 | # echo $LANG -- 현재 설정된 로케일 확인 # locale -a -- 설정 가능한 로케일 확인 명령어 # cat /usr/share/locale/locale.alias -- locale alias 조회 | ||||
한글 세팅 | 1.한글입력 환경 설정 2.X윈도우에서 키보드 레이아웃 설정 |
1. $ su - root # vi /etc/sysconfig/i18n LANG="ko_KR.eucKR" SUPPORTED="en_US.UTF-8:en_US:en:ko_KR.eucKR:ko_KR:ko" SYSFONT="latarcyrheb-sun16" 2. 작업표시줄에서 System - Preferences - Keyboard 클릭 Layouts 탭 클릭 - Add 버튼 클릭 - Korea, Republic of 추가 Korea, Republic of 옆의 Default 체크박스를 체크 - Close | |||
로케일 변경 | 임시적으로 로케일 변경시에 활용 | 한글 로케일 설정(3개 동일 효과) * locale alias 참조 # export LANG="korean" # export LANG="korean.euc" # export LANG="ko_KR" | |||
네트워크 설정 |
네트워크 정보조회 |
IP 조회 | ipconfig -a | http://cafe.naver.com/beamrock/121 | |
서버 라우팅 경로 확인 | netstat -rn | ||||
게이트웨이 또는 IP 패킷 송수신 확인 | ping 192.168.0.1 | ||||
IP변경 | netcfg 유틸리티를 이용하는 방법 | 별도 패키지 필요 | |||
netconfig 유틸리티를 이용하는 방법 | 별도 패키지 필요 | ||||
setup 유틸리티를 이용하는 방법 | # setup | ||||
직접 명령어로 수작업하는 방법 | 호스트네임 및 게이트웨이 변경 # vi /etc/sysconfig/network interface 장치 파일 변경 # vi /etc/sysconfig/network-scripts/ifcfg-eth0 | ||||
서비스 재시작(설정 변경 적용) | # /etc/rc.d/init.d/network restart 또는 # service network restart | ||||
NAS마운트 | 원격지 폴더 mount 방법 | # mount -t nfs 112.109.108.52:/home/testnas /testnas | |||
텔넷설정 | RPM확인 | 미설치시 RPM 설치 | # rpm -qa | grep telnet # yum install telnet |
http://cafe.naver.com/beamrock/315 | |
환경설정 | 환경 파라미터 수정 | # vi /etc/xinetd.d/telnet dsiable = yes 부분을 no로 변경함 | |||
서비스재시작 | 변경 사항 적용 | # service xinetd restart | |||
트러블슈팅 | 방화벽 확인 | # setup -- 방화벽 설정 부분의 방화벽 비활성화 # system-config-securitylevel -- SELinux 보안 설정 조정 | |||
root 접속 제한 해제 (기본적으로 root접속 불가능) |
# vi /etc/securetty pts/0 부터 pts/9 까지 추가 후 서비스 재시작 | ||||
FTP설정 | RPM확인 | 미설치시 RPM 설치 | # rpm -qa | grep vsftp # yum install vsftpd |
http://cafe.naver.com/beamrock/316 | |
서비스 시작 | ftp 서비스 시작 또는 재시작 | # service vsftpd start | |||
자동시작설정 | setup 유틸리티의 시스템 서비스 등록 또는 chkconfig 설정 |
# chkconfig --level 2345 vsftpd on | |||
트러블슈팅 | root 접속 제한 해제 (기본적으로 root접속 불가능) |
# vi /etc/vsftpd/vsftpd.conf userlist_enable=YES 부분을 NO로 만든다. 또는 # vi /etc/vsftpd/ftpusers와 # vi /etc/vsftpd/user_list root 주석 처리 | |||
정보 조회 관련 |
하드웨어 확인 |
CPU 관련 | CPU 모델 확인 | # grep "model name" /proc/cpuinfo | tail -1 또는 # dmesg | grep CPU |
http://cafe.naver.com/beamrock/131 |
CPU 코어 전체 개수 확인 | # grep -c processor /proc/cpuinfo | ||||
물리 CPU 수 확인 | # grep "physical id" /proc/cpuinfo | sort -u | wc -l processor는 0부터 시작함. 즉 0이 표시되면 1개라는 뜻. | ||||
CPU당 물리 코어 수 | # grep "cpu cores" /proc/cpuinfo | tail -1 | ||||
CPU 정보 전부 확인 | # vi /proc/cpuinfo | ||||
기타 | 메모리 정보 | # cat /proc/meminfo # dmesg | grep memory # free -m | |||
서버 모델 확인 | # dmidecode | grep Name | ||||
시리얼 번호 확인 | # dmidecode | grep Serial | ||||
하드디스크 정보 | scsi : # cat /proc/scsi/scsi ide : # cat /proc/ide/hda/model raid : # cat /proc/mdstat | ||||
네트워크 장비 관련 | # cat /proc/net/netlink | ||||
모든 정보 보기 | # dmesg | ||||
기타 하드웨어 장비 확인 | 전체검색 : cat /etc/sysconfig/hwconf 상세검색 : # cat /etc/sysconfig/hwconf | grep Mouse # cat /etc/sysconfig/hwconf | grep Graphic # cat /etc/sysconfig/hwconf | grep Net | ||||
로그 확인 |
콘솔로그 | 콘솔에 뿌려지는 로그(관련데몬 : kernel) | # cat /dev/console | http://cafe.naver.com/beamrock/136 | |
시스템로그 | 리눅스 kernel 로그 및 주 로그(syslogd) | # cat /var/log/messages | |||
TCPD로그 | xinetd에 의한 로그(xinetd) | # cat /var/log/secure | |||
메일로그 | 메일로그(sendmail / qpopper) | # cat /var/log/maillog | |||
Cron로그 | crond에 의한 로그(crond) | # cat /var/log/cron | |||
부팅로그 | 시스템 부팅시 로그(boot) | # cat /var/log/boot.log # cat /var/log/dmesg | |||
FTP로그 | ftp 로그(ftpd) | # cat /var/log/xferlog | |||
웹로그 | 웹서버로그(rpm) 웹서버로그(컴파일) |
# cat /var/log/httpd/* # cat /usr/local/apache/logs/* | |||
네임서버로그 | 네임서버로그(구버전) 네임서버로그 메모리관련통계로그 |
# cat /var/log/named.log # cat /var/named/data/named.run # cat /var/name/data/named_mem_stats.txt | |||
로그인로그 | 전체 로그인 기록 | # cat /var/log/utmp | |||
각 계정의 가장 최근 로그인 기록 | # cat /var/log/lastlog | ||||
현재 로그인 사용자에 대한 기록 | # cat /var/log/wtmp | ||||
정보 수집툴 활용 |
sosreport | RHEL 4.6 이상 시스템 정보 수집 툴 | # yum install sos # sosreport # cd /tmp # tar xvf /tmp/sosreport-xxxx-xxxxxx.tar.bz2 |
http://cafe.naver.com/beamrock/137 | |
sysreport | RHEL 4.6 이하 시스템 정보 수집 툴 | # sysreport -norpm -- rpm 버전은 제외하고 레포트 생성 | http://cafe.naver.com/beamrock/138 |
728x90
반응형
'UNIX&LINUX > LINUX' 카테고리의 다른 글
tar, gzip, bzip, zip (0) | 2014.06.05 |
---|---|
리눅스 mail 삭제 방법 (0) | 2014.05.16 |
find 옵션 -exec 를 사용해보자 (0) | 2014.05.16 |
10일차 : Linux의 명령어(파일의 압축과 입출력) (0) | 2014.05.16 |
리눅스포털(리눅스 명령어) (0) | 2014.05.16 |
리눅스 명령어 결과 저장; 실행 화면 텍스트 파일로; Linux Unix Output to File (0) | 2014.05.16 |
[리눅스]perl 을 이용한 문자 치환 (0) | 2014.05.13 |
리눅스 생활코딩 (8) top , df, du (0) | 2014.05.13 |