※ 요약


리눅스 명령어 jobs는 작업이 중지된 상태, 백그라운드로 진행 중인 작업 상태, 변경 되었지만 보고되지 않은 상태 등을 표시하는 명령어다.


※ 경로


내부 명령어


※ 사용법


jobs [옵션] [job ID]

jobs -x command [args]



※ 옵션


 옵션

 설명

 -l

 프로세스 그룹 ID를 state 필드 앞에 출력

 -n

 프로세스 그룹 중에 대표 프로세스 ID를 출력

 -p

 각 프로세스 ID에 대해 한 행씩 출력

 command

 지정한 명령어를 실행



※ jobs로 알 수 있는 세션의 상태 값


 상태

 설명

 Running

 작업이 일시 중단되지 않았고 종료하지 않고 계속 진행 중임

 Done

 작업이 완료되어 0을 반환하고 종료 했음을 의미

 Done(code)

 작업이 정삭적으로 완료되었으며, 0이 아닌 코드를 반환 했음을 의미

 Stopped

 작업이 일시 중단

 Stopped(SIGTSTP)

 SIGTSTP 신호가 작업을 일시 중단

 Stopped(SIGSTOP)

 SIGSTOP 신호가 작업을 일시 중단

 Stopped(SIGTTIN)

 SIGTTIN 신호가 작업을 일시 중단

 Stopped(SIGTTOU)

 SIGTTOU 신호가 작업을 일시 중단



※ 요약


리눅스 명령어 hostid는 현재의 호스트 정보를 16진수 형태로 보여준다. 이 정보는 호스트 고유의 번호로써, 다른 호스트들과 구별되며 주로 인터넷 주소를 부여할 때 사용된다.


참고로 호스트ID는 네트워크 내에서 워크스테이션, 서버, 라우터, 기타 TCP/IP 등의 각 서버들을 구분하는 역할을 한다. 각 호스트의 주소는 반드시 네트워크 ID를 기준으로 정확한 값을 가져야 하며 동일한 네트워크 안에서 유일해야 한다.



※ 경로


/usr/bin/hostid


※ 사용법


hostid [옵션]


※ 옵션


 옵션

 설명

 --help

 hostid 명령어의 사용법 출력

 --version

 hostid 명령어의 버전 정보 출력



※ 사용예


아래는 필자의 리눅스 시스템에서 간단히 사용해본 화면이다.


※ 관련 페이지





※ 요약


도메인(호스트)명은 알고 있는데 ip주소를 모르거나 혹은 그 반대의 경우에 사용하는 명령어다. 호스트명을 이용하면 ip주소 뿐만이 아니라 하위 호스트명도 조회할 수 있다. 호스트는 시스템에 등록된 DNS서버를 이용하여 검색하는데, 다른 DNS 서버를 이용하고 싶다면 따로 지정해 줄 수도 있다.


※ 경로


/usr/bin/host


※ 사용법


host [옵션] [도메인 혹은 IP주소] [DNS서버]



※ 옵션


 옵션

 설명

 -a

 -t ANY와 같은 기능

 -d

 디버깅 모드로 출력

 -l zone

 zone 아래 모든 시스템을 출력

 -r

 반복 처리를 안 함

 -t type

 type을 지정하여 정보를 얻음

 (A:호스트ip주소, NS:검색한 호스트의 네임 서버 호스트명, PTR:도메인 네임 포인터, ANY:타입의 모든 정보)

 -w

 DNS 서버의 응답을 기다림

 -v

 자세한 정보 출력



※ 사용예


아래는 간단한 사용예다. host 명령어를 이용하여 네이버의 ip를 조회하여 보았고 아래와 같이 4개의 ip정보를 얻을 수 있었다. 당연한 얘기지만 네이버 같이 사용자가 많은 사이트는 여러 개의 서버를 이용한다.


아래는 kornet의 DNS 서버를 이용하여 조회해본 화면이다.



※ 요약


리눅스 명령어 ex는 라인 단위의 대화식 텍스트 에디터로써, 현재는 거의 사용되지 않고 vi에 내장되었다.


※ 경로


/bin/ex


※ 사용법


ex 파일명


※ 변천사


 ed

 유닉스 기본 행 단위 편집기

 ex

 발전된 형태의 ed(Extended ed)

 vi

 화면 편집기, ex의 명령들을 채택

 vi 클론

 vi가 발전된 형태로써 vim, elvis 등이 있음



※ 요약


리눅스 명령어 rdate는 remote date의 줄임말로써, 원격지의 타임서버에서 시간 정보를 가져와 로컬 시스템의 시간과 동기화를 하는 명령어다. 타임 서버에서 시간 정보를 가져오는 이유는 정확한 시간을 제공해주기 때문이다.


※ 경로


/usr/bin/rdate


※ 사용법


rdate [옵션]... [타임서버 주소]


※ 옵션


 옵션

 설명

 -4

 IPv4만 사용

 -6

 IPv6만 사용

 -o num

 지정한 포트(num)으로 연결

 -p

 호스트의 정보만 출력하고 설정은 안 함

 -s

 설정만 하고 내용은 출력 안 함

 -u

 TCP 대신 UDP 사용

 -v

 상세한 정보 출력



※ 사용예


빨간 줄은 필자의 서버 시간이고 파란 줄은 타임 서버(time.bora.net)의 시간이다. 보면 알겠지만 3분 30여 초의 차이가 나는데, rdate 명령어를 통해 시간을 동기화 시키도록 하겠다.



rdate -s time.bora.net 이라고 입력한뒤 date 명령어로 시스템 시간을 확인해보니 타임서버와 시간이 동기화된걸 확인할 수 있었다. 2초 차이는 명령어 입력에 따른 지연 시간이니 참고하기 바란다.




※ 요약

리눅스 명령어 cd는 디렉토리를 이동할때 사용하는 명령어다. 


※ 사용법

 항목

 설명

 cd [디렉토리 경로]

 이동하려는 디렉토리로 이동

 cd .

 현재 디렉토리

 cd ..

 한 단계 상위 디렉토리로 이동

 cd /

 최상위 디렉토리로 이동

 cd $변수명

 변수에 저장된 경로로 이동

 cd ~

 cd $HOME

 cd 

 사용자 홈 디렉토리로 이동

 cd ~계정명

 입력한 사용자의 홈 디렉토리로 이동

 cd -

 이전 경로로 이동



※ 사용예

cd는 간단한 명령이라 사용예는 굳이 필요없지만 그래도 올려본다.


아래는 cd ~를 입력하여 사용자 홈 디렉토리로 이동하는 사용예다.



pwd로 현재 위치를 확인했을때 ~디렉토리인데, ~디렉토리 이전에는 /에 위치하고 있었다. 이때 cd -를 입력하여 이전 경로인 /로 다시 이동하는 모습이다.


아래는 cd [이동하려는 디렉토리 경로]를 입력하여 임의의 위치로 이동하는 모습이다.




※ 요약

리눅스 명령어 look은 파일에서 주어진 문자로 시작하는 라인을 검색하여 출력하는 명령어다. 글로 설명하는 것보다 예제를 직접 보는 것이 직관적이므로 설명은 여기까지 하고 다음으로 넘어가도록 하겠다.


※ 경로

/usr/bin/look


※ 사용법

look [옵션]... 문자열 [파일명]



※ 옵션

 옵션

 설명

 -b

 주어진 워드 리스트에서 이진 검색을 이용

 -d

 알파벳 문자만을 비교 검사

 -f

 알파벳 문자의 대소문자를 구분하지 않음

 -t character

 문자열의 마지막 문자(character)를 지정


※ 사용예

아래는 look 명령어의 간단한 사용 예제다. 이미지에 설명이 있으므로 따로 설명은 하지 않겠으며, 보면 알겠지만 아주 간단한 명령어다.



아래 예제는 파일명을 지정하지 않았다. 파일명을 지정하지 않으면 /usr/share/dict/words 파일 안에서 검색을 하여 결과를 출력해준다. 필자는 이 명령어를 거의 사용하지 않지만 특정 문자나 문자열로 시작하는 단어가 궁금할 때 가끔 사용한다.



필자는 이 명령어를 거의 사용하지 않지만 특정 문자나 특정 문자열로 시작하는 영단어가 궁금할 때 가끔 사용한다. 아래처럼 말이다! 아래는 ar로 시작하는 단어가 궁금하여 look -f ar로 검색해본 예제다.




※ 요약

리눅스 명령어 chroot는 가상의 root를 만드는 명령어다. 가상으로 설정할 루트 경로에 시스템 운영에 필요한 라이브러리와 실행 파일을 복사해 놓고 chroot [새로운 루트 경로] 명령을 내리면 가상 root 시스템으로 들어가게 된다. 시스템 / 아래의 구조가 같고 환경이 구성되면 그 위에서 프로그램을 동작 시킬수 있는데, 이때 실행되는 프로그램들을 통해 기반 시스템의 쉘에 접근하지 못하므로 보안상 유리하다. 또한 chroot [새로운 루트 경로] [명령어]로 지정한 새로운 루트 경로상에서 실행할 수 있다. 현재는 버추얼 머신(VMWare, VirtualBox 등)이 더 나은 보안성과 편리성을 주기 때문에 chroot는 잘 쓰이지 않는 추세다.


※ 경로

/usr/sbin/chroot


※ 사용법

chroot [새로운 루트 경로] [명령어]

chroot [옵션]


※ 옵션

 옵션

 Long옵션

 설명

 

 --help

 chroot 명령어의 사용법 출력

 

 --version

 chroot 명령어의 버전 정보 출력


※ chroot 이용 목적

- 테스트 및 개발

- 의존성 제어

- 호환성

- 복구

- 권한 분리



※ 사용예

아래는 chroot --version로 버전 정보를 확인하는 사용예다.




※ 요약

리눅스 명령어 deallocvt는 openvt 명령어와 다르게 가상 터미널을 제거하는 명령어다. 옵션 없이 사용하면 사용하지 않는 모든 가상 터미널의 커널 메모리와 데이터 구조를 제거하며, 하나 이상의 인자(N)를 지정하면 정확히 일치하는 /dev/ttyN이 제거된다.


※ 경로

/usr/bin/deallocvt


※ 사용법

deallocvt [Number]...



※ 사용예

아래는 openvt 명령어로 가상 터미널을 생성하고 제거하는 예제다. 참고로 가상 터미널 간 이동은 단축키(ctrl+alt+F1~F12)나 chvt 명령어로 하면 된다.




※ 요약

리눅스는 X윈도우 데스크톱 환경에서 다중의 가상 터미널을 제공하며 openvt 명령어는 가상 터미널을 추가할 때 사용하는 명령어다. deallocvt(가상 터미널 제거), chvt(가상 터미널 간 이동)와 함께 사용하는데, 기록을 보니 1980년대 부터 가상 터미널의 개념이 있었던 걸로 보인다.


※ 경로

/bin/openvt


※ 사용법

openvt [-c vt_number] [-s] [-u] [-l] [-v] [...] command command_option



※ 옵션

 옵션

 설명

 -c vt_number

 주어진 숫자(vt_number)로 번호를 할당하여 새로운 가상 터미널을 생성, 이때 반드시 시스템에서 할당할 수 있는 범위의 VT로 번호를 할당해야함

 -f

 사용하고 있는지 확인하지 않고 강제적으로 vt를 오픈

 -e

 포크 없이 직접 주어진 명령어를 실행. 이 옵션은 /etc/inittab 파일을 참조하여 init명령에서 사용함

 -s

 명령어를 실행할 때 새로운 vt 화면으로 전환

 -u

 현재의 vt 사용자를 설정하고 지정한 사용자로 로그인함. init 명령에서 쓰는 옵션으로써, -c, -l 옵션과 함께 사용하면 안 됨

 -l

 명령어 로그인쉘을 생성

 -v

 상세 정보를 출력

 -w

 명령어가 완료될 때까지 대기. -w와 -s 옵션과 같이 사용하면 명령이 완료되기 전에 터미널을 제어할 수 있는 화면으로 전환함



※ 사용예

먼저 할당 가능한 범위를 알기 위해 터미널에 ls /dev/tty* 라고 입력하여 번호를 확인한다. 필자의 시스템은 최대 번호가 0번부터 63번까지 있는걸로 보아 63번까지 할당 가능하며, 실제 64번으로 생성을 시도할 경우 illegal vt number라고 메시지를 띄우며 생성할 수가 없었다.



가상 터미널 간 이동은 chvt number 명령어로도 가능하지만 단축키 ctrl+alt+F1~F12로도 가능한데, 아래는 ctrl+alt+F2로 tty4번 가상 터미널로 이동한 화면이다. 


아래는 단축키 ctrl+alt+F3으로 tty2 터미널로 이동한 화면이다.


아래는 chvt 20으로 이동하려고 하였으나 번호 20은 할당이 안되어 있는지 커서만 깜빡였다. 그래서 openvt -c20 -f으로 할당한 후 chvt 20으로 시도하니 잘 되었다.




+ Recent posts