IT/OracleLinux-1Z0460

CentOS 기본명렁어

알콩달콩아빠 2022. 5. 4. 19:18
728x90
반응형

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

 

728x90
반응형

'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