728x90

#UID를 검사하여 특정 UID인경우만 쉘 파일을 실행할수 있도록 하는 코드​

더보기

#!/bin/bash
# 루트로 실행시키세요.

LOG_DIR=home/rsccmw/logtest
SHELL_UID=1000 # $UID가 1000인 유저만이 이 파일을 실행시킬수 있습니다.
E_NOTROOT=67 # 루트가 아닐 경우의 종료 에러.

if [ "$UID" -ne "$SHELL_UID" ]
then
 echo "이 스크립트는 루트로 실행시켜야 됩니다."
 exit $E_NOTROOT
fi

 

# 인자가 있는지 없는지 테스트 하는 코드

더보기

문자열 비교 연산자

-n : 문자열이 NULL이 아님


if [ -n "$1" ]
# 명령어 인자가 존재하는지 테스트(non-empty).
 then
  factor=$1
  echo "factor is ${factor}"
 else
  factor=empty
  echo "factor is ${factor}"
fi

 

# cd 명령어 (실제로 이동 되지는 않음 백그라운드에서 이동하는듯?)

더보기

#!/bin/bash

cd /home/rsccmw/logtest
touch success.txt

echo "이동완료"

 

# 눈으로는 이동 안한것처럼 보이지만 logtest폴더에 가보면 success.txt가 생겨져있음

 

dev/null &1 &2 2>&1 가 뭔데?

 

#!이 뭔데?

더보기

The #! 은 스크립트의 제일 앞에서 이 파일이 어떤 명령어 해석기의 명령어 집합인지를 시스템에게 알려주는 역할을 합니다. #! 은 두 바이트 [1]  "매직 넘버"(magic number)로서, 실행 가능한 쉘 스크립트라는 것을 나타내는 특별한 표시자입니다(man magic을 하면 재미있는 주제의 이야기들을 볼 수 있습니다). #! 바로 뒤에 나오는 것은 경로명으로, 스크립트에 들어있는 명령어들을 해석할 프로그램의 위치를 나타내는데 그 프로그램이 쉘인지, 프로그램 언어인지, 유틸리티인지를 나타냅니다. 이 명령어 해석기가 주석은 무시하면서 스크립트의 첫 번째 줄부터 명령어들을 실행시킵니다. [2]

 

ex)

#!/bin/sh
#!/bin/bash
#!/usr/bin/perl
#!/usr/bin/tcl
#!/bin/sed -f
#!/usr/awk -f​

 

 

#date 명령어

더보기

echo "올해가 시작한뒤로 지금까지 `date +%j` 일이 지났습니다."
# 날짜가 형식화 하려면 포매터 앞에 '+'를 써야합니다.
# %j는 오늘이 연중 몇 번째 날인가를 알려줍니다.

echo "1970/01/01 이후로 지금까지 `date +%s`초가 지났습니다."
# %s는 "UNIX 에폭(epoch)"이 시작한 뒤로 현재까지 몇초가 지났는지를 알려줍니다.
# 이걸 도대체 어디다 써 먹죠?

prefix=temp
suffix=`eval date +%s`
filename=$prefix.$suffix
echo $filename

 

cal 명령어 : 달력 보여주기

sleep 명령어 : 쉘의 wait 루프와 같음 주어진 초단위 시간 동안 아무일도 안 하면서 멈추어 있습니다.

who 명령어 : 시스템에 현재 로그인해 있는 모든 사용자를 보여줍니다.

ㄴ who -m : 현재 사용자에 대한 자세한 정보를 보여줌현재 사용자의 터미널 이름 보여주기 tty 명령어 : 현재 사용자의 터미널 이름을 보여줍니다.

wall 명령어 : "write all"의 앞글자를 따서 wall이 된 이 명령어는 현재 로그인 되어 있는 모든 사용자에게 메세지를 날립니다. 원래는 유용한 시스템 관리자용 도구입니다. 예를 들어, 시스템에 문제가 생겨서 잠깐 동안 다운 시켜야 할 필요가 생겼을 때 모든 사용자들에게 경고를 할 수 있게 해 줍니다.

 

logrotate 명령어 : 이 유틸리티는 시스템 로그 파일들을 적당하게 로테이트 시키고, 압축하고, 지우고, 메일을 보내는 일들을 처리해 줍니다. 보통 crond logrotate를 가장 기본적인 하루 일과로 삼습니다.

/etc/logrotate.conf에 적당한 내용을 적어주면 시스템 전체 로그뿐만 아니라 개인용 로그 파일을 관리할 수 있습니다.

728x90

+ Recent posts