솔라리스 solaris nfs 설정방법 ㅋ
**** NFS server 설정 ****
nfs 데몬
mountd : /usr/lib/nfs/mountd : NFS client가 mount를 요청시 mountd 데몬이 서버의 공유된
마운트 포인터(file handle)를 넘겨줌 -> /etc/rmtab공유하는 목록 저장
nfsd : /usr/lib/nfs/nfsd : 마운트된 이후에 정보를 핸들할수 있도록 해줌
statd : /usr/lib/nfs/statd : NFS file시스템의 상태정보를 저장
lockd : /usr/lib/nfs/lockd : 서버이상시 락을 건다
nfslogd : /usr/lib/nfs/nfslogd : nfs server 로깅데몬
* statd, lockd는 함께 NFS locking서비스를 제공한다 이는 서버 crashes가 발생시
클라이언트가 다시 파일을 사용할수 있도록 빨리 재 Connection이 되도록 한다.
두 대몬은 /etc/init.d/nfs.client 스크립트로 실행가능.
* nfsd,mountd는 /etc/init.d/nfs.server 스크립트로 실행가능
nfs 파일
/etc/dfs/dfstab : 부팅시 공유할 곳을 지정
/etc/dfs/sharedtab : 현재 공유하고 있는 곳을 저장
/etc/dfs/fstypes : mount명령을 사용시 -F nfs 옵션을 사용하지 않아도 되도록함
/etc/rmtab : 현재 어떤 host가 share된 자원을 공유하고 있는지를 저장(hostname : fsname)
/etc/nfs/nfslog.conf
/etc/default/nfslogd
/etc/nfs/nfslogtab
nfs command 명령어
share : 공유
unshare : 공유해제
shareall : /etc/dfs/dfstab내의 share된 리스트를 참조하여 전부 마운트시킴
unshareall : /etc/dfs/sharetab내의 현재 공유된 리스트를 참조하여 전부 언마운트시킴
dfshares : 공유할 자원이 있는지를 확인
dfmounts : 공유한 자원이 있는지를 확인
nfs server 완 관련된 파일
/etc/vfstab
/etc/mnttab
/etc/dfs/fstypes
-서버설정-
기본적으로 /etc/dfs/dfstab파일내 공유할 폴더를 지정
(file>root)/# vi /etc/dfs/dfstab
share -F nfs -o rw /data
rw ; read-write
ro ; read-only
root=client[:client] ; root access host (client hostname)
anon=0 ; 어느곳에서나 UID 0 (root) 로 access 가능
주. dfstab파일내 공유할 폴더를 지정하지 않고 nfs.server를 실행시
NFS service was not started because /etc/dfs/dfstab has no entries.
이런 메세지와 함께.. 중요 서버데몬(mountd,nfsd)이 실행이 안됨
1. 우선 디렉토리를 공유한다.
#share -F nfs -o rw /usr/share/man
(shareall해도 됨)
2. 공유확인
(file>root)/# share
- /data rw ""
(file>root)/#
3. 데몬확인
(file>root)/# ps -fe | grep lockd
root 197 1 0 16:32:36 ? 0:00 /usr/lib/nfs/lockd
root 1189 1156 0 18:06:19 pts/2 0:00 grep lockd
(file>root)/# ps -ef | grep mountd
root 1191 1156 0 18:06:24 pts/2 0:00 grep mountd
root 208 1 0 16:32:37 ? 0:00 /usr/lib/autofs/automountd
root 371 1 0 16:32:52 ? 0:00 /usr/lib/nfs/mountd
(file>root)/# ps -ef | grep nfsd
root 1196 1156 0 18:06:35 pts/2 0:00 grep nfsd
root 373 1 0 16:32:53 ? 0:00 /usr/lib/nfs/nfsd -a 16
(file>root)/# ps -fe | grep statd
daemon 199 1 0 16:32:36 ? 0:00 /usr/lib/nfs/statd
daemon 999 1 0 17:41:29 ? 0:00 /usr/lib/nfs/statd
root 1199 1156 0 18:06:40 pts/2 0:00 grep statd
(file>root)/#
만약에 위의 데몬들이 떠있지 않으면은 아래의 명령으로 데몬을 실행 시킨다.
(file>root)/#/etc/init.d/nfs.server start
- 서버에서 어떤 자원을 공유하고 있나 확인
(file>root)/etc/dfs# dfshares
RESOURCE SERVER ACCESS TRANSPORT
file:/data file - -
file:/a file - -
(file>root)/etc/dfs#
-> /etc/hosts에 zzz 이 명시되어 있어야한다. 목록에 없으면
(file>root)/etc/dfs# dfshares 192.168.0.212
RESOURCE SERVER ACCESS TRANSPORT
192.168.0.212:/test 192.168.0.212 - -
(file>root)/etc/dfs#
현재 nfs 서버에 접속해 있는 서버를 확인이 가능 합니다.
- 클라이언트 설정 및 데몬 확인
(file>root)ps -ef | grep nfs
root 1593 1 0 18:45:01 ? 0:00 /usr/lib/nfs/lockd
daemon 1591 1 0 18:45:01 ? 0:00 /usr/lib/nfs/statd
- 클라이언트 데몬 실행
(file>root)/etc/init.d/nfs.client start
클라이언트 데몬
(file>root)/etc/init.d# ps -ef | grep nfs
root 1564 1156 0 18:44:20 pts/2 0:00 grep nfs
root 197 1 0 16:32:36 ? 0:00 /usr/lib/nfs/lockd
daemon 199 1 0 16:32:36 ? 0:00 /usr/lib/nfs/statd
daemon 999 1 0 17:41:29 ? 0:00 /usr/lib/nfs/statd
(file>root)mount -F nfs 192.168.0.212:/test /ccc
위의 명령은 mount 명령으로서 192.168.0.212 에 test 로 nfs 가 설정되어 있는
디렉토리를 ccc 란 폴더로 mount 시키라는 명령 입니다.
- nfs 마운트 된 폴더 확인
(file>root)/ccc# df -k
파일시스템 K바이트 사용 가용 용량 설치지점
/dev/dsk/c0t0d0s0 20165785 10219660 9744468 52% /
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
mnttab 0 0 0 0% /etc/mnttab
swap 2064904 24 2064880 1% /var/run
swap 2064896 16 2064880 1% /tmp
/dev/dsk/c0t0d0s5 54760503 7704084 46508814 15% /data
192.168.0.212:/test 15116868 3065388 11283576 22% /ccc
(file>root)/ccc#
다른 nfs 서버에 접속해서 공유된 포더에 마운트 되어 있는 상태.....
http://www.readysystem.co.kr/ready/bbs/board.php?bo_table=tech_solaris&wr_id=25&page=12
'공부방' 카테고리의 다른 글
솔라리스(유닉스) 디스크 마운트 시키기 및 마운트 복구하기 (0) | 2017.08.03 |
---|---|
다양한 치즈요리 음식 (0) | 2017.06.15 |
솔라리스에 JDK6 설치하기 (0) | 2017.05.10 |
아파치 톰캣 연동 이유는 (0) | 2017.05.09 |
솔라리스 cp 명령 (0) | 2017.05.09 |
솔라리스(유닉스) 디스크 마운트 시키기 및 마운트 복구하기
서버를 운영하다가 언제부터인가 파일이 업데이트가 안되는거에요
그래서 강제로 파일을 복사해서 가져와서 작업했는데
df -k 명령어로 확인해서 예전 mount 디스크랑 비교해보니까
파일 시스템 한개가 빠져있었어요
그래서 파일 시스템을 하나 mount 명령어로 복구했어요
참고로 mount 명령어는 root 계정에서만 먹히더라구요
mount 명령어를 치니 mount: /dev/dsk/c0d2s7가 이미 마운트되었거나 /tmpusr 마우트 지점의 허용수를 초과했습니다. 이렇게 나와요
그래서 umount -f(f는 강제 옵션) /tmpusr 를 치니까 마운트가 해제되고
다시 mount /dev/dsk/c0d2s7 /tmpusr를 치면 마운트 되요
근데, 그래도 바로 마운트가 안됐는데
이유는 /dev/dsk/c0d2s7 물리적 디스크가 에러가 발생해서에요
fsck를 해주면 되는데
fsck /dev/dsk/c0s2s7 를 치면 복구를 해줘요 fsck 옵션이 있는데
저는 옵션을 안넣고 기다리면서 복구할거냐고 물어보면 y를 쳐줬어요
기존에 nfs를 사용했다면
명령어 mount를 쳐서 mount를 하지 말고
nfs서버에서 /etc/init.d/nfs.server (start,stop) 과
nfs클라이언트에서 /etc/init.d/nfs.client (start,stop)을 사용하면 되요
자세한 설명은 사이트를 참고했는데
http://www.readysystem.co.kr/ready/bbs/board.php?bo_table=tech_solaris&wr_id=25&page=12
를 참고했어요
'공부방' 카테고리의 다른 글
솔라리스 solaris nfs 설정방법 ㅋ (0) | 2017.08.04 |
---|---|
다양한 치즈요리 음식 (0) | 2017.06.15 |
솔라리스에 JDK6 설치하기 (0) | 2017.05.10 |
아파치 톰캣 연동 이유는 (0) | 2017.05.09 |
솔라리스 cp 명령 (0) | 2017.05.09 |
다양한 치즈요리 음식
다양한 치즈요리 음식들
맛있겠다
할 수만 있다면 언젠간
이런것 만들고 팔면서 살고 싶다
치즈요리링크
http://m.huffpost.com/kr/entry/5464227?utm_hp_ref=korea&ir=Korea
'공부방' 카테고리의 다른 글
솔라리스 solaris nfs 설정방법 ㅋ (0) | 2017.08.04 |
---|---|
솔라리스(유닉스) 디스크 마운트 시키기 및 마운트 복구하기 (0) | 2017.08.03 |
솔라리스에 JDK6 설치하기 (0) | 2017.05.10 |
아파치 톰캣 연동 이유는 (0) | 2017.05.09 |
솔라리스 cp 명령 (0) | 2017.05.09 |
솔라리스에 JDK6 설치하기
<솔라리스에서 JDK6을 설치하는 방법>
설치의 편의를 위해서 솔라리스 패키지 형태로 설치 할것입니다.
우선 솔라리스 커널 정보를 확인하여 JDK를 다운로드 받아야 합니다.
다운로드 경로
http://www.oracle.com/technetwork/java/javase/downloads/jdk6-downloads-1637591.html
솔라리스 콘솔에서 다음 명령어를 칩니다.
$> isainfo -kv
응답에 따라 다음 파일들을 다운로드 받습니다.
32-bit i586 kernel modules 라고 나오면
32비트: jdk-6u33-solaris-i586.tar.Z
64-bit amd64 kernel modules 라고 나오면
32비트: jdk-6u33-solaris-i586.tar.Z
64비트: jdk-6u33-solaris-x64.tar.Z
32-bit sparc kernel modules 라고 나오면
32비트: jdk-6u33-solaris-sparc.tar.Z
64-bit sparcv9 kernel modules 라고 나오면
32비트: jdk-6u33-solaris-sparc.tar.Z
64비트: jdk-6u33-solaris-sparcv9.tar.Z
32비트 JDK의 경우에는 32비트만 설치하고, 64비트 JDK를 설치 하기 위해서는 32비트를 설치 한후 설치를 해야 합니다.
<설치방법-64비트 SPARC로 설명: 설치방법은 파일명만 틀릴 뿐 동일>
root 로 로그인후 32비트 설치
[root] /home/jdk6/32bit > gunzip jdk-6u33-solaris-sparc.tar.Z
[root] /home/jdk6/32bit > tar xvf jdk-6u33-solaris-sparc.tar
[root] /home/jdk6/32bit > pkgadd -d . SUNWj6rt SUNWj6dev SUNWj6cfg SUNWj6man SUNWj6jmp
/usr/jdk/jdk1.6.0_33 위치에 설치 됩니다
64비트 추가 설치
[root] /home/jdk6/64bit > gunzip jdk-6u33-solaris-sparcv9.tar.Z
[root] /home/jdk6/64bit > tar xvf jdk-6u33-solaris-sparcv9.tar
[root] /home/jdk6/64bit > pkgadd -d . SUNWj6rtx SUNWj6dvx
설치된 디렉토리로 이동해서 버전 및 64비트 확인
[root] / > cd /usr/jdk/jdk1.6.0_33/bin
[root] /usr/jdk/instances/jdk1.6.0/bin > ./java –version
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b04)
Java HotSpot(TM) Server VM (build 20.8-b03, mixed mode)
[root] /usr/jdk/instances/jdk1.6.0/bin > ./java -d64 -version
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03, mixed mode)
/etc/profile 에 환경변수 등록
export JAVA_HOME=/usr/jdk/jdk1.6.0_33
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$CLASSPATH
솔라리스 이전 java 파일 변경
[root] / > mv /usr/bin/javac /usr/bin/javac.old
[root] / > mv /usr/bin/java /usr/bin/java.old
심볼릭 링크 생성
[root] / > ln -s /usr/jdk/jdk1.6.0_33/bin/java /usr/bin/java
[root] / > ln -s /usr/jdk/jdk1.6.0_33/bin/javac /usr/bin/javac
※ 위와 같이 설정되고 재로그인 해도 버전이 변경되지 않는 경우는 이전버전이 설치된 경로가 path 에 지정되 있는 경우이므로 찾아서 수정해 주어야 합니다.
[출처] 솔라리스에 JDK6 설치하기|작성자 모래풀
'공부방' 카테고리의 다른 글
솔라리스(유닉스) 디스크 마운트 시키기 및 마운트 복구하기 (0) | 2017.08.03 |
---|---|
다양한 치즈요리 음식 (0) | 2017.06.15 |
아파치 톰캣 연동 이유는 (0) | 2017.05.09 |
솔라리스 cp 명령 (0) | 2017.05.09 |
솔라리스 tar.gz 압축 해제 (0) | 2017.05.09 |
아파치 톰캣 연동 이유는
http://hmgirl.tistory.com/67
'공부방' 카테고리의 다른 글
다양한 치즈요리 음식 (0) | 2017.06.15 |
---|---|
솔라리스에 JDK6 설치하기 (0) | 2017.05.10 |
솔라리스 cp 명령 (0) | 2017.05.09 |
솔라리스 tar.gz 압축 해제 (0) | 2017.05.09 |
솔라리스10에서 환경변수 추가하기 (0) | 2017.05.09 |
솔라리스 cp 명령
가끔씩 운용 서버에 수정사항을 적용할 때 백업이 필요한 경우가 있다.
다수의 서버가 존재할 경우 업로드 폴더를 심볼릭 링크를 걸어두는 경우가 있다.
이 때 보통 cp 명령을 쓰게 되는데
심볼릭 링크까지 그대로 복사하는 옵션은
cp -rP 디렉토리명 new디렉토리명
-r 디렉토리 복사 옵션
-P 디렉토리 안 특성을 그대로
출처: http://devzeroty.tistory.com/entry/솔라리스-cp-명령 [Dev Story..]
'공부방' 카테고리의 다른 글
솔라리스에 JDK6 설치하기 (0) | 2017.05.10 |
---|---|
아파치 톰캣 연동 이유는 (0) | 2017.05.09 |
솔라리스 tar.gz 압축 해제 (0) | 2017.05.09 |
솔라리스10에서 환경변수 추가하기 (0) | 2017.05.09 |
솔라리스(Solaris) 시스템정보 확인 명령어 (0) | 2017.02.03 |
솔라리스 tar.gz 압축 해제
1. file.tar.gz 푸는 방법
1) tar xvfz file.tar.gz
2) gunzip file.tar.gz; tar xvf file.tar
3) gunzip < file.tar.gz | tar xvf -
첫 번째 방법의 문제점은 옵션 중 'z' 옵션을 GNU tar가 아니면 사용할 수 없다는 점입니다.
솔라리스 9에서는 /usr/bin/tar 에 있는건 솔라리스용 tar이고, /usr/sfw/bin/gtar 에 있는 파일이 GNU tar입니다. SUN Freeware에서 패키지 받으셨다면 보통 /usr/local/bin/tar 에 GNU tar가 있습니다.
.tgz라는 확장자도 있는데 이건 .tar.gz의 준말입니다.
2. 압축하는 방법은
1) 'tar cvf file.tar directoryname' 명령을 입력하면 directoryname에 있는 모든 파일이 file.tar 라는 파일로 합해집니다. 이후 'gzip file.tar' 명령으로 file.tar.gz라는 파일을 생성할 수 있습니다. 확장자 gz는 gzip을 의미합니다.
2) tar cvf - directoryname | gzip > file.tar.gz
3) tar cvfz file.tar.gz directoryname
위 세 명령은 모두 같은 효과를 가집니다.
3. 체크섬 오류는 예전 솔라리스 tar에서 긴 파일 이름을 제대로 지원 못해서 나는 오류였는데, 지금은 고쳐졌다고 합니다.
'공부방' 카테고리의 다른 글
아파치 톰캣 연동 이유는 (0) | 2017.05.09 |
---|---|
솔라리스 cp 명령 (0) | 2017.05.09 |
솔라리스10에서 환경변수 추가하기 (0) | 2017.05.09 |
솔라리스(Solaris) 시스템정보 확인 명령어 (0) | 2017.02.03 |
bash 쉘 사용하기 / 메뉴얼 / Bash 쉘 요약 정리 (0) | 2017.01.30 |
솔라리스10에서 환경변수 추가하기
set 이나 env 를 치면 환경변수가 나옴
1) #원하는환경변수명=원하는경로
2) export 원하는환경변수명
EX1) JAVA_HOME을 환경변수로 추가
#JAVA_HOME=/usr/jdk/instances/jdk1.5.0
#export JAVA_HOME
#env
.
.
JAVA_HOME=/usr/jdk/instances/jdk1.5.0
.
.
#PATH=$PATH:/추가경로
#export PATH
※ 참고사항 : 저렇게만 치면 재부팅시 사라져버린다.
계속 등록하고 싶다면 /etc/profile 이라는 파일 맨 끝에다가 저 내용을 추가하면 된다.
.
.
umask 022
trap 2 3
JAVA_HOME=/usr/jdk/instances/jdk1.5.0
export JAVA_HOME
'공부방' 카테고리의 다른 글
솔라리스 cp 명령 (0) | 2017.05.09 |
---|---|
솔라리스 tar.gz 압축 해제 (0) | 2017.05.09 |
솔라리스(Solaris) 시스템정보 확인 명령어 (0) | 2017.02.03 |
bash 쉘 사용하기 / 메뉴얼 / Bash 쉘 요약 정리 (0) | 2017.01.30 |
bash shell 이란 (0) | 2017.01.30 |
솔라리스(Solaris) 시스템정보 확인 명령어
시스템 현황 파악할때 필요한
솔라리스(Solaris) 시스템정보 확인 꿀 명령어
○ 하드디스크 크기 : iostat -nE | grep Size
- 콘솔에서 나오는 Size를 전부 더하면 된다.
- 마이너스로 나오거나 말도안되게 크게 나오는 Size는 cdrom장치일 것이다.
○ 기본정보 : uname -a
- 아래와 같이 출력되는데 내용은 다음과 같다.
SunOS(ⓐ) SOLARIS(ⓑ) 5.8(ⓒ) Generic_108528-22(ⓓ) sun4u(ⓔ) sparc(ⓕ) SUNW(ⓖ),Sun-Fire-V240(ⓗ)
ⓐ System(OS)
ⓑ Hostname
ⓒ Release
ⓓ Kernel Version(ID)
ⓔ Kernel architecture(그외 i86pc, sun4m, sun4c 등)
ⓕ Application architecture(그외 sparc, i386, i686등)
ⓖ Platform
ⓗ Banner(서버모델)
○ CPU정보 : psrinfo -vp 또는 psrinfo -v 또는 psrinfo -p
- psrinfo -vp : 물리적장치별 설명
- psrinfo -v : 자세한 설명(보통 버츄어장치를 보여준다.)
- psrinfo -p : 물리적장치 수
- 썬장비에서 프로세서(CPU) 정보를 확인하면 가상(버추어)프로세서로 정보가 엄청나게 많은경우가 있는데 실제 물리적장치는 몇개있지 않을것이다. 참고로 인텔장비에서 GHZ나 MHZ같은 속도는 클럭수를 의미하며 솔라리스에서 psrinfo -vp 를 쳤을 때 clock 정보로 보이기도 한다.
○ 모델명 : prtconf -vp | grep banner-name
○ 메모리크기 : prtconf | grep Memory
○ 기타정보 : prtdiag | more 을 쳐서 천천히 볼 수 있다.
'공부방' 카테고리의 다른 글
솔라리스 tar.gz 압축 해제 (0) | 2017.05.09 |
---|---|
솔라리스10에서 환경변수 추가하기 (0) | 2017.05.09 |
bash 쉘 사용하기 / 메뉴얼 / Bash 쉘 요약 정리 (0) | 2017.01.30 |
bash shell 이란 (0) | 2017.01.30 |
윈도우10에서 Bash 쉘 쓰기 (0) | 2017.01.30 |
bash 쉘 사용하기 / 메뉴얼 / Bash 쉘 요약 정리
일 하다보니까 쉘 스크립트를 많이 사용하게된다.
그래서 내 블로그에 좀 정리해놓고 필요할때마다 찾아보면 좋을것 같아서 나에게 필요한 실무적인 내용을 정리해본다.
vi *.sh (* 에는 필요한 아무 이름을 입력)
을 입력하고 파일을 만든다.
vi test.sh 라고 파일을 만들었다고치자.
그 다음에는 chmod +x test.sh 또는 chmod 755 test.sh 를 쳐서
test.sh 파일을 실행가능한 파일로 바꾼다.
예약변수를 알아두면 좋다.
서버를 운영하다보면 여러 업체나 개발자들이 PATH를 설정하고 참조하는데
나중에 확인해봐야하는 경우가 생긴다.
예약 변수(Reserved Variable)
HOME | 사용자의 홈 디렉토리 |
PATH | 실행 파일을 찾을 경로 |
LANG | 프로그램 사용시 기본 지원되는 언어 |
PWD | 사용자의 현재 작업중인 디렉토리 |
FUNCNAME | 현재 함수 이름 |
SECONDS | 스크립트가 실행된 초 단위 시간 |
SHLVL | 쉘 레벨(중첩된 깊이를 나타냄) |
SHELL | 로그인해서 사용하는 쉘 |
PPID | 부모 프로세스의 PID |
BASH | BASH 실행 파일 경로 |
BASH_ENV | 스크립트 실행시 BASH 시작 파일을 읽을 위치 변수 |
BASH_VERSION | 설치된 BASH 버전 |
BASH_VERSINFO | BASH_VERSINFO[0] ~BASH_VERSINFO[5] 배열로 상세정보 제공 |
MAIL | 메일 보관 경로 |
MAILCHECK | 메일 확인 시간 |
OSTYPE | 운영체제 종류 |
TERM | 로긴 터미널 타입 |
HOSTNAME | 호스트 이름 |
HOSTTYPE | 시스템 하드웨어 종류 |
MACHTYPE | 머신 종류(HOSTTYPE 과 같은 정보지만 조금더 상세하게 표시됨) |
LOGNAME | 로그인 이름 |
UID | 사용자 UID |
EUID | su 명령에서 사용하는 사용자의 유효 아이디 값(UID 와 EUID 값은 다를 수 있음) |
USER | 사용자의 이름 |
USERNAME | 사용자 이름 |
GROUPS | 사용자 그룹(/etc/passwd 값을 출력) |
HISTFILE | history 파일 경로 |
HISTFILESIZE | history 파일 크기 |
HISTSIZE | history 저장되는 개수 |
HISTCONTROL | 중복되는 명령에 대한 기록 유무 |
DISPLAY | X 디스플레이 이름 |
IFS | 입력 필드 구분자(기본값: - 빈칸) |
VISUAL | VISUAL 편집기 이름 |
EDITOR | 기본 편집기 이름 |
COLUMNS | 현재 터미널이나 윈도우 터미널의 컬럼 수 |
LINES | 터미널의 라인 수 |
LS_COLORS | ls 명령의 색상 관련 옵션 |
PS1 | 기본 프롬프트 변수(기본값: bash\$ ) |
PS2 | 보조 프롬프트 변수(기본값: > ), 명령을 "\"를 사용하여 명령 행을 연장시 사용됨 |
PS3 | 쉘 스크립트에서 select 사용시 프롬프트 변수(기본값: #? ) |
PS4 | 쉘 스크립트 디버깅 모드의 프롬프트 변수(기본값: + ) |
TMOUT | 0 이면 제한이 없으며 time 시간 지정시 지정한 시간 이후 로그아웃 |
위치 매개 변수(Positional Parameters)
$0 | 실행된 스크립트 이름 |
$1 | $1 $2 $3...${10} 인자 순서대로 번호가 부여된다. 10번째부터는 "{}"감싸줘야 함 |
$* | 전체 인자 값 |
$@ | 전체 인자 값($* 동일하지만 쌍따옴표로 변수를 감싸면 다른 결과 나옴) |
$# | 매개 변수의 총 개수 |
특수 매개 변수(Special Parameters)
$$ | 현재 스크립트의 PID |
$? | 최근에 실행된 명령어, 함수, 스크립트 자식의 종료 상태 |
$! | 최근에 실행한 백그라운드(비동기) 명령의 PID |
$- | 현재 옵션 플래그 |
$_ | 지난 명령의 마지막 인자로 설정된 특수 변수 |
논리 연산자(Logical Operators)
문자 | 설명 |
---|---|
&& , -a | 논리 AND |
|| , -o | 논리 OR |
산술 연산자(Arithmetic Operators)
문자 | 설명 |
---|---|
+ | 더하기 |
- | 빼기 |
* | 곱하기 |
/ | 나누기 |
++ | 누승(exponentiation) |
% | modulo 나 mod (정수 나누기에서 나머지 값) |
+= | 상수값 만큼 증가(plus-equal) |
-= | 상수값 만큼 감소(minus-equal) |
*= | 상수값을 곱함(times-equal) |
/= | 상수값으로 나눔(slash-equal) |
%= | 상수값으로 나눈 나머지 값(mod-equal) |
비트 연산자(Bitwise Operators)
문자 | 설명 |
---|---|
<< | 비트 왼쪽 쉬프트(쉬프트 한 번당 2를 곱하는 것과 동일함) |
<<= | left-shift-equal |
>> | 비트 오른쪽 쉬프트(쉬프트 한 번당 2로 나눔) |
>>= | right-shift-equal(<<=와 반대) |
& | 비트 and |
&= | 비트 and-equal |
| | 비트 OR |
|= | 비트 OR-equa |
~ | 비트 negate |
! | 비트 NOT |
^ | 비트 XOR |
^= | 비트 XOR-equa |
기타 연산자(Miscellaneous Operators)
문자 | 설명 |
---|---|
, | 콤마 연산자(comma operator), 2개 이상의 산술 연산을 묶어줌 |
정수 비교(Integer Comparison)
문자 | 설명 |
---|---|
-eq | 같음 |
-ne | 같지 않음 |
> , -gt | 더 큼(> 이중 소괄호에서 사용 가능) |
>= , -ge | 더크거나 같음(>= 이중 소괄호에서 사용 가능) |
< , -lt | 더 작음(< 이중 소괄호에서 사용 가능) |
<= , -le | 더 작거나 같음(<= 이중 소괄호에서 사용 가능) |
문자열 비교(String Comparison)
문자 | 설명 |
---|---|
= , == | 같음 |
!= | 같지 않음 |
< | ASCII 알파벳 순서에 더 작음 |
> | ASCII 알파벳 순서에서 더 큼 |
-z | 문자열이 NULL, 길이가 0인 경우 |
-n | 문자열이 NULL이 아님 |
${변수} | 문자열이 NULL이 아님 |
'공부방' 카테고리의 다른 글
솔라리스10에서 환경변수 추가하기 (0) | 2017.05.09 |
---|---|
솔라리스(Solaris) 시스템정보 확인 명령어 (0) | 2017.02.03 |
bash shell 이란 (0) | 2017.01.30 |
윈도우10에서 Bash 쉘 쓰기 (0) | 2017.01.30 |
우리나라에서 내진설계(정보통신설비 내진 중심)란? (0) | 2016.09.13 |