전공 지식 정리/유닉스

#2 파일과 디렉토리 - at, sleep, batch

daramG 2022. 6. 16. 03:04

 

at 명령어

: 사용자가 원하는 특정 시간에 유닉스 명령어 실행 및 메세지 전달하는 명령어다.

통상 모든 사용자가 at 명령을 사용할 수 없으며 시스템 관리자가 at 명령을 사용할 수 있게 조치해주면

그때부터 일반 사용자는 at 명령어 사용 가능하다.

$ at 시간 [날짜]
at -r 작업번호
at -l 작업번호 ...

-r : 현재 at 명령어 수행을 위해 스케줄된 작업을 삭제한다.

-l : 사용자 호출을 위해 스케줄된 모든 작업을 출력한다.

 

11시 11분에 who 명령 수행하여 그 수행 결과를 daram1이라는 파일에 저장하고,

ls -l 이라는 명령을 수행해 daram2라는 파일에 저장 )

[다람쥐]$> at 11:11
who > daram1
ls -l > daram2
^D

이렇게 더 이상 명령어가 필요하지 않을 때 ctrl + d를 입력한다.

 

월과 일을 함께 표시할 수도 있다.

[다람쥐]$> at 11:11 amdec28
cc daramg.c -o daramg.obj
^D
작업 daram.1134736460.a은(는) 2022년 12월 28일 수요일
11시 11분 00초에 수행될 것입니다.

 

at에서 -l 옵션 : 아직 수행되지 않은 at 명령어의 수행할 시간과 로그인명(홈 디렉토리명)에 대한 정보를 화면에 나타낸다.

[다람쥐]$> at -l
daram.1134736460.a    2022년 12월 28일 수요일 11시 11분 00초
daram.1134736460.a    2022년 12월 29일 목요일 11시 16분 00초

 

at에서 -r 옵션 : at 명령어 수행을 위해 스케줄된 작업 중 스케줄 작업 번호를 삭제하는 명령어다.

[다람쥐]$> at -r daram.1134736460.a
daram.1134736460.a at 파일이 삭제됩니다.

 

 

sleep 명령어

: 명령어 실행을 사용자가 지정한 시간 만큼 일시적으로 정지시키는 명령어다.

$ sleep 시간

시간은 초를 의미한다.

 

20초 후 ls -l 명령 실행 )

$ sleep 20
ls -l

 

현재 사용자 20초마다 알아보기 위해 daram 파일 만들어 사용 )

$ vi daram 
whlie true 
 i=1 
   do 
     who > kwho(i) 
     sleep 20 
     i=i+1 
   done

이렇게 파일을 작성하고 sh daram을 입력하면 who 명령을 20초마다 실행시킬 수 있다.

 

 

batch 명령어

: at은 수행시키는 시간이 정해진 반면, batch는 일정한 순서가 정해진 작업들을

유닉스 시스템의 부하에 따라 명령어가 수행된다. 

batch 역시 시스템 관리자에 의해서 일반 사용자가 batch 명령어를 사용할 수 있도록 조치해야 사용 가능하다.

 

daramg 파일을 sort 하여 daramg2라는 파일을 나중에 저장시키는 명령 )

$ batch
sort daramg > daramg2
^d
job 1134736460.b at Sat Dec 2814:23:18 1996

 

batch 명령 옵션

batch -r 작업번호
batch -l 작업번호 ...

-r : 현재 batch 명령어 수행을 위해 스케줄된 작업을 삭제한다.

-l : 사용자 호출을 위해 스케줄된 모든 작업을 출력한다.

 

사용자는 명령라인에 세미콜론(;)으로 분리된 일련의 명령을 입력할 수 있다.

왼쪽에서부터 순차적으로 실행된다.

[다람쥐]$> date ; pwd ; ls -C

( ls -C는 정렬을 세로로 한다.)

 

 

괄호를 이용한 명령어 그룹화 )

[다람쥐]$> (ls -C ; date ; pwd ; who) > outfile
[다람쥐]$> cat outfile
2022년 6월 16일 목요일 03시 01분 31초
/home/daramG
daramG    pts/0    6월 16일 03:  (000.000.000.00)

이렇게 4가지 명령어를 함께 그룹화하여 명령어의 수행결과를 outfile이라는 하나의 파일에

재 지정되어 저장되는 모습을 볼 수 있다.