스켈줄링 우선권을 변경하여 프로그램이 작동할 때 할당되는 순위를 변경한다.

사용법 : nice [옵션] [명령어 [인수] ... ] 
-n 조정수치, -조정수치, --adjustment=조정수치 : 
   명령의 우선권에 10 대신 조정수치를 더한다. 
--help : 사용법을 보여준다. 
--version : 버전정보를 보여준다. 

nice 명령으로 프로그램의 우선권을 변경할 수 있는데, 만약 아무런 인수도 주어지지 않으면, 상복받은 현재의 스케줄링 우선권을 출력한다. 인수가 있다면 조정된 스케줄링을 먼저 실행한다. 조정수치가 생략되면 명령의 우선권은 10으로 실행하며, nice에 의해 조정될 수 있는 범위는 -20 (가장 높은 우선권)에서 19(가장 낮은 우선권)까지이다. 참고로 수퍼 유저만이 음의 조정수치를 부여할 수 있다.
nice에서 프로그램 실행 시 우선 순위 변경을 지정하지만, renice는 실행된 프로세스가 가지게 될 우선순위를 지정한다. nice는 양수값에는 -를 음수값에는 --를 사용하지만, renice는 양수값에는 -를 사용하지 않는다.
vi를 백 그라운드 프로세스로 두 개 정도 실행해 보자.

# vi & 
# vi & 

ps aux 명령으로 vi의 프로세스 ID를 알아보자.

# ps aux | grep vi 
root      9871  0.0  0.4  4980 2184 pts/1    T    17:38   0:00 vim 
root      9872  0.0  0.4  4984 2184 pts/1    T    17:38   0:00 vim 

그럼 renice 명령으로 이 각각의 프로그램에 우선권을 변경해 보자.
renice -3 명령으로 9871 프로세스에 우선 순위 -3을 부여하였다.

# renice -3 9871 
9871: old priority 0, new priority -3 

renice -2 명령으로 9872 프로세스에 우선 순위 -2을 부여하였다.

# renice -2 9872 
9872: old priority 0, new priority -2 

이 우선 순위를 다시 6의 우선 순위로 변경도 가능하다.

# renice 6 9872 
9872: old priority -2, new priority 6 

ps l 9871 9872으로 우선 순위를 한 번 확인해 보자. 각각 -3과 6의 우선 순위를 가지고 있다.

# ps l 9871 9872 
  F   UID   PID  PPID PRI  NI   VSZ  RSS WCHAN  STAT TTY        TIME COMMAND 
100     0  9871  3806   9  -3  4980 2184 do_sig T<   pts/1      0:00 vim 
100     0  9872  3806  11   6  4984 2184 do_sig TN   pts/1      0:00 vimㅌ 

nice 명령은 실행시 우선 순위를 지정할 수 있다.
7 명령으로 7의 우선순위를 부여하였다

# nice -7 vi & 

그럼 방금 실행한 vi의 PID를 확인해 보자.

# ps aux |grep vi 
root      9871  0.0  0.4  4980 2184 pts/1    T<   17:38   0:00 vim 
root      9872  0.0  0.4  4984 2184 pts/1    TN   17:38   0:00 vim 
root      9900  0.1  0.1  2104  872 pts/1    TN   17:47   0:00 vi 
root      9902  0.0  0.1  1768  596 pts/1    S    17:47   0:00 grep vi 

ps l 명령으로 nice가 7이 부여된 것을 볼 수 있다.

# ps l 9900 
  F   UID   PID  PPID PRI  NI   VSZ  RSS WCHAN  STAT TTY        TIME COMMAND 
100     0  9900  3806  16   7  2104  872 do_sig TN   pts/1      0:00 vi
2005/06/17 15:37 2005/06/17 15:37
텍스트 파일의 각 줄에 번호를 붙이는 명령어

사용법 : nl [옵션] [파일] 
-b, --body-numbering=STYLE : 지정한 style을 이용한다. 사용 가능한 STYLE은 아래 설명에 있다. 
-d, --selection-delimiter=CC : 지정한 CC를 논리 페이지의 구분으로 한다. 
   기본은 \: 이다. 
-f, --footer-numbering=STYLE : 지정한 STYLE을 번호를 매길 논리 페이지 꼬리 표제 행으로 선택한다. 기본 값은 n이다. 
-h, --header-numbering=STYLE : 지정한 STYLE을 번호를 매길 논리 페이지 헤더 행으로 선택한다. 기본값은 n이다. 
-i, --page-increment=num : 지정한 num 만큼 논리 페이지 행 번호를 늘린다. 
-l, --join-blank-lines=num : 지정한 num 값을 공백 행수로 하여 번호를 매긴다. 
  -2 라면 매 2번째 공백 행의 번호를 매기게 된다. 
-n, --number-format=FORMAT : 지정한 FORMAT으로  행 번호 지정 형식으로 사용한다. 사용 가능한 FORMAT은 아래 설명에 있다. 
-p, --no-number : 논리 페이지 분리 문자에서 번호 매김을 재 시작하지 않는다. 
-s, --number-separator=string : 지정한 string으로 텍스트를 행 번호와 분리한다. 
-v, --first-page=num : 지정한 num 값으로 첫 번째 논리 페이지 행 번호를 설정한다. 
-w, --number-width=num : 지정한 num 값으로 행에 있는 문자의 갯수로 사용한다. 
--help : 도움말을 보여준다. 
--version : 버전정보를 보여준다.

nl 명령은 지정한 파일을 읽어, 파일의 행 번호를 자동으로 매겨 표준 출력으로 보여주는 명령어이다. 이와 같은 기능으로 cat -b 명령이 있다.

아래는 지정이 가능한 STYLE 유형들이다.
a : 모든 라인에 행 번호를 출력한다.
t : 빈 공란은 제외한 행 번호를 출력한다.
n : 행 번호를 출력하지 않는다.
PREGEXP : 정규 표현식에 맞는 라인만 행 번호를 출력한다.

아래는 지정 가능한 FORMAT 유형들이다.
ln : 0을 제외한 좌측 맨 끝에 행 번호를 출력한다.
rn : 0을 제외한 우측 맨 끝에 행 번호를 출력한다.
rz : 0을 포함한 우측 맨 끝에 행 번호를 출력한다.
2005/06/17 15:34 2005/06/17 15:34
로그아웃을 한 동안에도 실행중인 명령을 정지하지 않고 수행하는 명령어

사용법 : nohup 명령 [인수...] 

대용량의 프로그램이나 고화질의 동영상 등을 다운로드 받을 때, 집에 갈 시간은 다 되었는데 아직도 다 받아 지려면 두세 시간은 더 기다려야 한다고 생각해 보자. 혹은 겨우 코딩을 마치고 컴파일을 시작했는데, 눈 좀 붙이고 싶어도 컴파일 하는 데 두세 시간은 걸린다고 생각해 보자. 답답하지 않을 수 없는 상황일 것이다. nohup은 이럴 때 사용하는 명령이다.

# nohup find / -name *.c & > result & 

nohup은 명령에 대하여 Hangup 신호를 무시하면서, 우선권을 5 만큼 증가시켜 로그아웃 후에도 계속 백그라운드로 싱행하게 한다.
로그오프한 후 백그라운드에서 명령을 수행하려면 다음과 같이 입력한다.
fine 같은 명령은 / 디렉토리부터 찾게 되면 상당한 시간이 걸릴 수 있다. nohup 명령으로 이를 로그아웃 이후에도 실행하도록 할 수 있다.
2005/06/17 15:33 2005/06/17 15:33