Centos 시스템 기본 명렁어
shutdown [옵션] [시간] [메시지]
옵션
-t n : 경고 메시지를 보낸 후 n초 후에 kill 시그널 보낸다
-h : shutdown시 halt를 실행하게 한다
-n : 디스크 동기화 동작의 수행을 금지한다
-r : 시스템 재 부팅한다
-f : 다음 부팅시 파일시스템 검사를 하지 않는다.
-c : 이미 예약되어 있는 shutdown를 취소한다. 이 옵션을 준다면 시간인수는 줄 수 없다. 하지만 메시지는 사용자들에게 줄 수 있다.
-k : 모든 동작을 제대로 수행하지만, 실제로 시스템을 종료하지는 않는다
shutdown -h 10
10분 후에 시스템을 종료한다.
shutdown -r now
시스템 재부팅 한다.
shutdown -c
예약된 시스템 종료 명령을 취소 한다.
reboot [옵션]
옵션
-n : sync를 하지 않고 종료한다. -d 옵션도 포함한다
-w : 실제로 재부팅은 하지 않지만, /var/log/wtmp파일에 기록을 남긴다
-d : wtmp파일에 기록을 남기지 않는다
-f : 강제로 재부팅한다
reboot
로그를 남기고 재부팅 한다
reboot -n
sync를 하지 않고 재부팅한다
사용법
shutdown [옵션] [메시지] |
옵션
-r n : 경고 메시지를 보낸후 n초 후에 kill 시그널을 보낸다 -h : shutdown 시 halt를 실행하게 한다 -n : 디스크 동화 동작의 수행을 금지한다 -r : 시스템을 재부팅한다 -f : 다음 부팅시 파일시스템 검사를 하지 않는다 -c : 예약된 shutdown 을 취소한다 이옵션은 시간 인수를 줄수 없고 하지만 메시지는 사용자들에게 줄수 있다 -k : 모든 동작을 제대로 수행하지만 실제로 시스템을 종료하지 않는다 |
자주 사용되는 방식
shutdown -h now : 바로 시스템 종료 shutdown -h 10 : 10초 후 시스템 종료 shutdown -r now : 바로 시스템 재 부팅 shutdown -c :예약된 시스템 종료 명령을 취소 |
halt 명령어 - 역시 시스템을 종료할때 사용
사용법
halt [옵션] |
옵션
-h : sync를 하지 않고 종료 -d 옵션도 포함 -w : 실제로 종료하지 않지만 /var/log/wtmp 파일에 기록을 남긴다 -d : wtmp 파일에 기록을 남긴다 -f : 강제종료한다. |
init 명령어 - 런레벨을 변경
리눅스 시스템이 기동되는 방법에는 0~6까지의 7가지가 있다 이를 런레벨이라고 한다
시스템이 부팅될때 모드는 /etc/inittab 파일의 id:5:initdefault: 부분의 숫자로 설정된다
vi 에디터를 이용하여 숫자를 수정하거나 init 명령어를 사용할수 있다
사용법
init [런레벨] |
런레벨
0 - 종료모드 1 - 단일사용자모드(시스템 복구시 사용) 2 - 다중사용자 텍스트 모드 (NFS 사용 불가) 3 - 다중사용자 텍스트 모드 4 - 사용안함 5 - 다중사용자 그래픽 모드 6 - 재부팅 모드 |
reboot 명령어 - 시스템을 재부팅할때 사용
사용법
reboot [옵션] |
옵션
-n : sync를 하지 않고 종료한다 -d옵션도 포함 -w : 실제로 재부팅을 하지 않지만 /var/log/wtmp 파일에 기록을 남긴다 -d : wtmp파일에 기록을 남기지 않는다 -f : 강제로 재부팅한다 |
로그아웃 명령어 - 접속중인 계정에서 로그아웃한다
exit
logout
또는 단축키 Ctrl+D
ROOT 계정 암호 변경 Change 'root' Account Password |
# passwd root | OPTIONAL | |
002 | 프로필 설정 Configure a profile |
# vi /etc/profile (필요한 경우, 아래의 내용을 추가하도록 합니다.) |
OPTIONAL |
시스템 로케일 설정 Configure System Default Locale |
# vi /etc/sysconfig/i18n (참고 : 아래의 내용은 시스템 기본 로케일을 대한민국_한국어.UTF-8로 설정한 경우입니다.) |
OPTIONAL | |
003 | 네트워크 설정 Configure Network & NIC |
# system-config-network [서비스 재시작 Restart Network Service] # service network restart |
ESSENTIAL |
004 | 보안 및 방화벽 설정 Configure OS' Security Level & Firewall |
# system-config-securitylevel [서비스 재시작 Restart Firewall Service] # service iptables restart [시작 서비스 관리 Config Boot-up-start Services] # ntsysv |
ESSENTIAL |
005 | 커널 최신 업데이트 Update Kernel to be lastest |
# yum update kernel [OS 버전 확인 Display current OS version] # lsb_release -a # cat /etc/issue |
ESSENTIAL |
설치된 모든 패키지 업데이트 Update all installed packages |
# yum update | ESSENTIAL | |
006 | SSH 설정 Configure SSH |
# vi /etc/ssh/sshd_config (참고 - 다음 설정은 root 사용자의 SSH 로그인 허용 여부를 결정하는 값입니다.) # service sshd restart |
OPTIONAL |
007 | GNOME 데스크톱 환경 및 VNC 원격 데스크톱 서버 설치 Install GNOME Desktop Environment & VNC Server for Remote Desktop via VNC Client |
# yum groupinstall "X Window System" # yum groupinstall "GNOME Desktop Environment" # yum install "vnc-server" [필수 - VNC 서버 설정 파일 생성 및 설정 Essential - Make & Configure VNC setting file] # vi /etc/sysconfig/vncservers [참고] SSH 보안 접속만 허용한 경우, Putty SSH 포트 포워딩을 이용한 VNC 클라이언트 접속 방법에 대한 자세한 정보는 다음 웹 사이트 URL을 참고하십시오. http://allkr-textcube.blogspot.com/2009/09/vncserver-%EB%A6%AC%EB%88%85%EC%8A%A4%EC%97%90-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0-%EB%B3%B4%EC%95%88%ED%84%B0%EB%84%90ssh%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%B4%EC%84%9C-%EC%82%AC%EC%9A%A9.html # cd (위의 설정에서 지정한 사용자의 홈 디렉토리로 이동하십시오.) # mkdir .vnc (위의 설정에서 지정한 사용자의 홈 디렉토리 루트에서 .vnc 폴더를 생성하십시오.) # cd .vnc # vncpasswd (VNC 접속 암호를 지정, 설정하십시오.) # vi ./xstartup (VNC 원격 데스크톱의 기본 환경으로 GNOME을 사용하기 위해 아래와 같이 내용을 수 정, 작성하십시오.) # service vncserver restart # system-config-securitylevel (외부에서 VNC 접속 허용을 위해 방화벽에서 TCP 5901번 포트를 열어주십시오.) |
OPTIONAL |
008 | 자바 설치 Install Java Runtime |
[64비트 CentOS] # yum install "java-1.6.0-openjdk-devel.x86_64" [32비트 CentOS] # yum install "java-1.6.0-openjdk-devel.x86" |
OPTIONAL |
009 | 톰캣 설치 Install Apache Tomcat 5.5 |
[64비트 CentOS] # yum install "tomcat5.x86_64" [32비트 CentOS] # yum install "tomcat5.x86" |
|
참고사항 REFERENCE | |||
R1 | 시스템 언어 / 로케일 변경 Change System Locale |
# vi /etc/sysconfig/i18n (작성 예시 Example) |
|
R2 | 아파치 웹 서버 경로 [기본 번들] |
1) 설치 경로 : /etc/httpd 2) 설정 파일 디렉토리 경로 : /etc/httpd/conf 3) 기본 홈 문서 경로 : /var/www/html |
|
R3 | FTP 서버 (vsftpd) 경로 [기본 번들] |
1) 설치 경로 : /etc/vsftpd 2) 설정 파일 경로 : /etc/vsftpd/vsftpd.conf 3) 기본 홈 루트 경로 : /var/ftp/pub |
|
R4 | 자바 OpenJDK 경로 (java-1.6.0-openjdk) [yum 설치 번들] |
/usr/lib/jvm/java | $JAVA_HOME |
R5 | Tomcat 5.5 경로 [yum 설치 번들] |
/usr/share/tomcat5 | $CATALINA_HOME $TOMCAT_HOME |
R6 | MySQL Server 5.0 경로 [기본 번들 / yum 설치 번들] |
1) 설치 경로 : /usr/share/mysql 2) 설정 파일 경로 : /etc/mysql.cnf 3) 데이터 경로 : /var/lib/mysql 4) 소켓 파일 경로 : /var/lib/mysql/mysql.sock |
|
R7 | SSH 서버 키 생성 Generate SSH Key on Server |
# cd /usr/bin # ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N "" # ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N "" # ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N "" # service sshd restart |
|
R8 | 기본 시스템 명령어 Basic System Commands |
1) 프로세스 조회 # ps -ef # pstree 2) 시스템 자원 조회 # top (실시간 CPU 사용량 및 메모리, 프로세스 모니터링) # free (메모리 사용량 조회) # df -h (디스크 사용량 조회) 3) 네트워크 설정 조회 # ifconfig -a 4) 마지막 로그인 기록 조회 # lastlog 5) .tar.gz 파일 설치 방법 # tar -zxvf 파일명.tar.gz # tar jzvf 파일명.tar.bz # ./configure # make # install |
|
CentOS용 프로그램
- 시스템 라이브러리 설치
yum -y install zlib curl
yum -y install gcc g++ cpp gcc-c++ compat-gcc-34-g77
yum -y install libxml2 libxml2-devel
yum -y install gd gd-devel
yum -y install freetype freetype-devel
yum -y install libpng libpng-devel
yum -y install libjpeg libjpeg-devel
yum -y install fontconfig fontconfig-devel
yum -y install mhash mhash-devel
yum -y install libmcrypt libmcrypt-devel
yum -y install openssl openssl-devel
yum -y install gmp gmp-devel
yum -y install flex
yum -y install libtermcap-devel ncurses-devel libc-client-devel bzip2-devel
- 필요한 경우 컴파일러를 설치 한다.
yum -y install gcc gcc-c++ termcap libtermcap libtermcap-devel gdbm-devel
vsftpd 설치
- vsftp 현황 확인
yum list | grep vsftpd #--- 설치 가능한 package 확인
yum list installed | grep vsftpd #--- 설치된 package 확인
- vsftpd 설치
yum -y install vsftpd
rpm -qa | grep vsftpd #--- vsftpd 설치 확인
- 아래 설치 정보에 정리된 블랙 리스트에서 ftp를 사용할 사용자를 빼준다.
· vi /etc/vsftpd/ftpusers
· vi /etc/vsftpd/user_list
- 방화벽에서 20, 21 port를 개방 한다.
system-config-securitylevel
- FTP 클라이언트에서 접속이 디렉토리 목록이 표시되지 않을 경우
· FTP Client 설정에서 문자셋을 UTF-8로 강제로 설정하고 접속 한다.
- 설치 정보
· 실행 파일 : /usr/sbin/
· 환경 파일 : /etc/vsftpd/vsftpd.conf
· 블랙 리스트 : /etc/vsftpd/ftpusers, /etc/vsftpd/user_list
· 기동 종료 : /etc/init.d/vsftpd start, stop, restart, status
· 서비스 확인 : ps -ef | grep vsftpd | grep -v grep
- showinfo_vsftp.bash
#!/bin/bash
echo 'vsftp 버전 : vsftp 2.0.5'
echo '환경 파일 : vi /etc/vsftpd/vsftpd.conf'
echo '블랙 리스트 : /etc/vsftpd/ftpusers, /etc/vsftpd/user_list'
echo '기동 종료 : service vsftpd restart'
echo '서비스 확인 : ps -ef | grep vsftpd | grep -v grep'
기본명령어
- 시스템 종료
+ init 0
+ halt
+ shutdown -h now
- 시스템 재부팅
+ reboot
+ shutdown -r now
+ init 6
- 기타 기본 명령어
+ ls : 경로안에 있는 목록을 출력
-a : 모든 파일 출력
-h : 간략화된 정보를 출력
-k : kb단위로 출력
-l : 자세히 출력
-i : i-node와 함께 출력
-t : 변경시간 순으로 정렬하여 출력
-R : 하위디렉토리 파일까지 출력
--color=yes : 파일 속성에 따라 다른 색상으로 표기
--color=no : 파일 속성에 따른 색상지정 안함
+ ll : ls -l 한 기능과 같음
+ cal : 달력출력
+ date : 시스템 시간과 날짜를 출력/설정
+ rdate : time server에서 시간을 동기화
예) # rdate time.bora.net
+ which : 해당 프로그램에 대한 full path 출력
+ whatis : 단어를 완성시키기 위해 whatis DB를 검색
+ id : 실제, 유효 UID와 GID를 출력
+ logname : 사용자의 로그인명을 출력
+ who, who am i, whoami, w : 로그인한 유저를 출력
+ users : 현재 호스트에 로그인한 사용자의 이름 출력
+ finger : 사용자가 실행하고 있는 프로그램을 출력
+ mesg : 자신의 터미널에 쓰기를 제어
+ write : 다른 사용자에게 메시지를 보냄
+ wall : 모든 터미널에 메시지를 보냄
+ hostname : hostname을 출력
+ sleep : 주어진 시간만큼 지연
+ uname : 시스템 정보를 출력
+ history : 자신이 사용한 명령어를 출력함
+ more : 문자속성을 살린 파일 보기 프로그램
+ less :
+ echo : 한 줄을 표시
+ env : 프로그램을 다른 환경에서 실행
+ man -t : 지정된 시간으로 파일의 시간을 바꿈
+ source : 명령지정된 스크립트를 실행
파일이 생성되면 시간이 3개가 생성됨, 일반적으로 보여지는것은 수정한 시간을 말함
1. 생성시간
2. 마지막으로 접근한 시간
3. 마지막으로 수정한 시간
TELNET Service 추가
1. # rpm -qa | grep telnet
2. CD 3번을 추가하고
# umount /media/cdrom
# mount /media/cdrom
3. # cd /media/cdrom/CentOS/RPMS
# ls | grep telnet :: telnet-server-0.17-31.EL4.5.i386.rpm파일이 있는지 검색
4. # rpm -Uvh telnet-server-0.17-31.EL4.5.i386.rpm
5. # vi /etc/xinetd.d/telnet
disable : yes => no :: 수정
6. # service xinitd restart
확인 : # telnet localhost :: 로그인이 가능한지 확인
리눅스 쉘 (강사님 자료)
# linux shell
- shell?
- shell 종류 : bourne shell ( 대중화된 유닉스쉘 )
korn shell, C shell, bash shell
- root 프롬프트 - # -, borune,korn,bash 일반 : - $ -
C shell : root - $ - , 일반 : - $ -
- /etc/shell
- shell 변경 : /bin/ksh, /bin/bash ( echo $SHELL )
- shell 확인 : echo $변수 , printenv [변수]
- export 변수 = 값
- ~/.bash_history : 명령어 히스토리 기능
- service vsftpd start ( !ser )
- 메타문자 사용 ( ?, * )
- redirection
- shell script 구문
- 변수 = 값 , export 변수, echo $변수
- read : 표준 입력으로 사용 ( scanf 와 비슷한 형태 )
vi test.sh
echo -n " 아무거나 입력하시오 : "
read haha
echo $haha
- 스크립트 파일 : vi test.sh
- sh 스크립트 파일.sh : 스크립트 파일을 실행
- 크기 비교 : $A -gt $B : A가 B보다 크다,
-lt : 작다
-ge : 크거나 같다
-le : 작거나 같다.
-eq : 같다
-ne : 같지 않다.
- 문자열 비교 : [ "string1" = "string2" ] : 문자열 같은 경우
[ "string1" ! "string2" ] : 문자열 다른 경우
[-z "string" ] : 문자열의 길이가 0인 경우
[-n "string" ] : 문자열의 길이가 0이 아닌 경우
- 파일 다루기 : [ -a 파일명 ] : 파일이 존재하는 경우
-b : 파일이 존재하고 블록파일인 경우
-c : 파일이 존재, 문자 파일
-d : 파일이 아니고 디렉토리
-e : 파일이 존재하는 경우
-f : 파일이 존재, 크기가 0보다 큰경우
-g : 파일이 존재, Setuid
-h : 파일이 존재, 심볼릭 링크
-k : 파일이 존재, sticky bit
-r : 읽기가 가능한 파일인 경우
-u : 파일이 존재 Setuid
-x : 파일이 존재, 실행 가능한 파일
-s : 파일이 존재, 내용이 있는 경우
[ ! -option 파일명 ] : 옵션의 조건이 거짓이 되는 경우
[ 파일1 -nt 파일2 ] : 수정 시간을 기준으로 파일 1이 파일2보다 새로운 파일인 경우
[ 파일1 -ot 파일2 ] : 수정시간을 기준으로 파일1이 파일2보다 오래된 파일인 경우
- 숫자 계산 : * (\*), +, -, /, %,
expr을 이용하여 숫자 연산시 주의사항
1) 역따옴표 (` ) 를 사용해야 한다
2) \* 사용해야 한다
3) 연산자, 숫자, 변수 사이에는 space가 존재
- echo : 기본 출력
- 조건문
if [ 조건문 ]
then
문장
fi
if [ 조건문 ]
then
문장
else
문장
fi
if [ 조건문 ]
then
문장
elif
then
문장
else
문장
fi
- 관계 연산자 : -a ( and ), -o ( or )
- 반복문 : for
for 변수 in 변수1 변수2 변수3
do
문장
done
for i in 1 2 3 4 5
do
echo $i
done
for i in 1 2 3
do
for j in 4 5 6
do
A=`expr $1 + $j`
echo $A
done
done
- 반복문 : while
while [ 조건문 ]
do
문장
done
while [ : ] // : 항상 참값 , 1을 쓰기도 한다.
do
echo haha
done
- 반복문 : until // 조건문이 참일 경우 실행하지 않는다.
until [ 조건문 ]
do
문장
done
- case 구문
case 변수 in
패턴1)
문장 ;;
패턴2)
문장 ;;
*)
문장 ;;
esac
'IT > OracleLinux-1Z0460' 카테고리의 다른 글
CentOS network 설정 (0) | 2022.05.04 |
---|---|
CronTab 사용법 (0) | 2022.05.04 |
vi 명령어 (0) | 2022.05.04 |
DUMA (0) | 2022.05.04 |
teaming (0) | 2022.04.27 |