검수요청.png검수요청.png

"명령어"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
잔글 (106.244.233.62(토론)의 편집을 rudgh01의 마지막 판으로 되돌림)
 
(사용자 2명의 중간 판 12개는 보이지 않습니다)
4번째 줄: 4번째 줄:
 
명령어는 컴퓨터에서 특정한 작업을 수행하기 위한 해석기의 역할을 하는 컴퓨터 [[프로그램]]을 가리킨다. 일반적으로 명령어는 셸과 같은 명령 줄 [[인터페이스]]의 하나이다.
 
명령어는 컴퓨터에서 특정한 작업을 수행하기 위한 해석기의 역할을 하는 컴퓨터 [[프로그램]]을 가리킨다. 일반적으로 명령어는 셸과 같은 명령 줄 [[인터페이스]]의 하나이다.
  
구체적으로, 명령어라는 용어는 컴퓨터 언어에서 쓰인다. 많은 프로그램들은 명령어의 기본 동작을 수정하는 플레그로 알려진 형식화된 변수를 허용한다. 반면 변수는 명령어가 실행하는 것을 서술한다. 자연어와 비교했을 때 플레그는 동사이며, 다른 [[변수]]는 목적어다.<ref name="위키1">명령어(컴퓨팅) 위키백과 - https://ko.wikipedia.org/wiki/%EB%AA%85%EB%A0%B9%EC%96%B4_(%EC%BB%B4%ED%93%A8%ED%8C%85)</ref>
+
구체적으로, 명령어라는 용어는 컴퓨터 언어에서 쓰인다. 많은 프로그램들은 명령어의 기본 동작을 수정하는 플레그로 알려진 형식화된 변수를 허용한다. 반면 변수는 명령어가 실행하는 것을 서술한다. 자연어와 비교했을 때 플레그는 동사이며, 다른 [[변수]]는 목적어다.
  
==리눅스 명령어==
+
==명령어 사이클==
리눅스에서 [[쉘]]은 기본적으로 키보드에서 명령을 가져와 운영체제로 보내 수행하는 프로그램이다. 리눅스 GUI 환경에서 터미널이나 콘솔과 같은 쉘 프로그램들은 배쉬를 사용하는데 대부분 명령어를 활용한다.<ref name="자료1"> KyuHyuk Lee, 〈[https://kyuhyuk.kr/article/linux/2020/01/22/Linux-Command-Line 리눅스 기본 명령어]〉, 《개인블로그》, 2020-07-22</ref>
+
CPU는 명령어 사이클을 반복해 프로그램을 실행하는 것으로 인출과 실행 단계로 이루어져있다.<ref name=명령어"> dheldh77, 〈[https://dheldh77.tistory.com/entry/%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EB%AA%85%EB%A0%B9%EC%96%B4Instruction (컴퓨터구조) 명령어(Instruction)]〉, 《티스토리》, 2020-07-13</ref>
  
==윈도우 명령어==
+
===인출 단계===
{| border="1" cellpadding="5" cellspacing="0" width="40%"
+
메모리에 저장된 명령어들을 읽어들이는 단계로 현재 실행할 명령어를 읽어 명령어 레지스터에 저장한다. 그리고 다음에 실행할 명령어를 읽어 프로그램 카운터에 저장한다.
! colspan="2" | 자주 사용하는 명령어<ref name="자료2"> boolean, 〈[https://booolean.tistory.com/402 Windows-자주쓰는 CMD DOS 명령어]〉, 《티스토리》, 2016-03-19</ref>
 
|-
 
|notepad || 메모장
 
|-
 
|msconfig || 시스템 구성 유틸
 
|-
 
|sysedit || 시스템 구성 편집기
 
|-
 
|shutdown -s -t 60 || 60초로 컴퓨터 강제 종료.
 
|-
 
|regedit || 레지스트리
 
|}
 
  
{| border="1" cellpadding="5" cellspacing="0" width="40%"
+
===실행 단계===
! colspan="2" | 프로그램<ref name="자료2"> boolean, 〈[https://booolean.tistory.com/402 Windows-자주쓰는 CMD DOS 명령어]〉, 《티스토리》, 2016-03-19</ref>
+
명령어 레지스터에 저장된 명령어를 실행하는 단계로 제어장치는 명령어를 해독하고 제어신호를 생성해 각 구성요소에 전달한다. 제어신호에 따라 ALU는 해당하는 연산을 수행하고 각 신호와 데이터는 내부버스를 통해 전달된다. 연산에 필요한 데이터와 명령어는 레지스터에 저장한다.
|-
 
| 계산기 || calc
 
|-
 
|개체 포장기 || packager
 
|-
 
|그림판 || mspaint , pbrush
 
|-
 
|디스크 관리 || diskmgmt.msc
 
|-
 
|디스크 정리 || cleanmgr
 
|-
 
|디스크 조각 모음 || dfrg.msc
 
|-
 
|돋보기 || magnify
 
|-
 
|마스터 볼륨 || sndvol32
 
|-
 
|마우스 등록 정보 || control mouse , main.cpl
 
|-
 
|무비메이커 || moviemk
 
|-
 
|방화벽 || firewall.cpl
 
|-
 
|사운드 및 오디오 장치 등록 정보 || mmsys.cpl
 
|-
 
|스캐너 및 카메라 || control sticpl.cpl
 
|-
 
|악성 소프트웨어 제거 도구 || mrt
 
|-
 
|워드패드 || write, wordpad
 
|-
 
|원격 데스크톱 연결 || mstsc
 
|-
 
|예약된 작업 || control schedtasks
 
|-
 
|인증서 || certmgr.msc
 
|-
 
|인터넷 익스플로러 || iexplore
 
|-
 
|윈도우미디어 || wmplayer
 
|-
 
|유틸리티 관리자 || utilman
 
|-
 
|제어판 || control
 
|-
 
|주소록 || wab
 
|-
 
|주소록 가져오기 도구 || wabmig
 
|-
 
|클립북 뷰어 || clipbrd
 
|-
 
|키보드 등록 정보 || control keyboard
 
|-
 
|탐색기 || explorer
 
|-
 
|프린터 및 팩스 || control printers
 
|-
 
|프로그램 추가 및 제거 || appwiz.cpl
 
|-
 
|하드 검사 || chkdsk
 
|-
 
|화상 키보드 || osk
 
|}
 
  
{| border="1" cellpadding="5" cellspacing="0" width="40%"
+
==명령어의 종류==
! colspan="2" | 도구<ref name="자료2"> boolean, 〈[https://booolean.tistory.com/402 Windows-자주쓰는 CMD DOS 명령어]〉, 《티스토리》, 2016-03-19</ref>
+
명령어의 종류는 데이터 전달, 데이터 처리,프로그램 제어가 있다.
|-
 
| 인터넷 등록 정보 || inetcpl.cpl
 
|-
 
| 자동 업데이트 || wuaucpl.cpl
 
|-
 
| 파티션 나누기 || diskpart
 
|-
 
| 폴더 옵션 || control folders
 
|}
 
  
{| border="1" cellpadding="5" cellspacing="0" width="40%"
+
===데이터 전달===
! colspan="2" | 관리<ref name="자료2"> boolean, 〈[https://booolean.tistory.com/402 Windows-자주쓰는 CMD DOS 명령어]〉, 《티스토리》, 2016-03-19</ref>
+
컴퓨터 구성요소 간 데이터를 전달한다. 오프코드, 소스 오퍼렌드, 데스티네이션 오퍼렌드로 구성되어 있으며 오프코드는 로드, 스토어, 무브, 인풋, 아웃풋 등이 있다.
|-
 
|관리도구 || control admintools
 
|-
 
|국가 및 언어 옵션 || intl.cpl
 
|-
 
|날짜 및 시간 등록 정보 || timedate.cpl
 
|-
 
|그룹 정책 (XP Professional) || gpedit.msc
 
|-
 
|디스플레이 등록 정보 || control desktop , desk.cpl
 
|-
 
|로컬 보안 설정 || secpol.msc
 
|-
 
|로컬 사용자 및 그룹 || lusrmgr.msc
 
|-
 
|사용자 계정 || nusrmgr.cpl
 
|-
 
|시스템 등록 정보 || sysdm.cpl
 
|-
 
|작업 관리자 || taskmgr
 
|-
 
|전원 옵션 등록 정보 || powercfg.cpl
 
|-
 
|정책의 결과 집합 (XP Professional) || rsop.msc
 
|-
 
|컴퓨터 관리 || compmgmt.msc
 
|-
 
|ODBC 데이터 원본 관리자 || odbccp32.cpl
 
|-
 
|SQL Server 클라이언트 네트워크 유틸리티 || cliconfg
 
|}
 
  
{| border="1" cellpadding="5" cellspacing="0" width="40%"
+
===데이터 처리===
! colspan="2" | 서비스<ref name="자료2"> boolean, 〈[https://booolean.tistory.com/402 Windows-자주쓰는 CMD DOS 명령어]〉, 《티스토리》, 2016-03-19</ref>
+
데이터 처리는 레지스터 또는 메모리에 저장되어있는 데이터에 대한 산술/논리 연산으로 데이터 전달과 같은 형태로 구성되어 있다. 명령어의 종류에 따라서 소스 오퍼렌드가 두개 일 수 있으며 오프코드는 에드, 멀티, 엔드, 오아, 낫 등이 있다.<ref name=명령어"> dheldh77, 〈[https://dheldh77.tistory.com/entry/%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EB%AA%85%EB%A0%B9%EC%96%B4Instruction (컴퓨터구조) 명령어(Instruction)]〉, 《티스토리》, 2020-07-13</ref>
|-
 
|구성 요소 서비스 || dcomcnfg
 
|-
 
|공유 폴더 || fsmgmt.msc
 
|-
 
|글꼴 || control fonts , fonts
 
|-
 
|내게 필요한 옵션 || access.cpl
 
|-
 
|문자표 || charmap
 
|-
 
|보안 센터 || wscui.cpl
 
|-
 
|서비스 || services.msc
 
|-
 
|성능 || perfmon
 
|-
 
|시스템 구성 편집기 || sysedit
 
|-
 
|시스템 정보 || msinfo32
 
|-
 
|이벤트 뷰어 || eventvwr.msc
 
|-
 
|인덱싱 서비스 || ciadv.msc
 
|-
 
|Driver Verifier Manager || verifier
 
|-
 
|Windows 정보 || winver
 
|-
 
|Windows XP 계정 데이터베이스 보안 || syskey
 
|-
 
|Windows용 Dr. Watson || drwtsn32(오류보기,분석)
 
|}
 
  
{| border="1" cellpadding="5" cellspacing="0" width="40%"
+
===프로그램 제어===
! colspan="2" | 기타<ref name="자료2"> boolean, 〈[https://booolean.tistory.com/402 Windows-자주쓰는 CMD DOS 명령어]〉, 《티스토리》, 2016-03-19</ref>
+
프로그램 제어는 명령어의 실행 순서를 제어하고 프로그램 카운터의 값을 변경한다. 오프코드, 브런치 타켓 어드레스로 구성되어 있다. 분기의 종류에 따라 무조건 분기, 조건 분기, 서브루틴/함수호출, 리턴이 있다.
|-
 
|attrib || 파일 특성을 화면에 표시하거나 변경
 
|-
 
|chkdsk || 디스크를 검사하고 상태를 화면에 표시
 
|-
 
|color || 콘솔창 기본 문자색과 배경색 설정
 
|-
 
|convert || FAT 볼륨을 NTTS로 변환
 
|-
 
|del 파일명.txt || 파일 삭제
 
|-
 
|diskpart || 디스크 관리
 
|-
 
|doskey || 명령줄을 편집하고 windows 명령을 다시 호출하고 매크로를 만듬
 
|-
 
|finger || 핑거서비스를 실행하는 지정된 시스템 사용자에 대한 정보를 표시
 
|-
 
|ipconfig || TCP/IP에 바인딩된 각 어뎁터에 대한 IP주소
 
|-
 
|ipconfig > 파일명.txt || txt파일로 ip정보 저장
 
|-
 
|nbtstat || 프로토콜 통계와 현재 TCP/IP 연결을 표시
 
|-
 
|net share / net helpmsg || 공유된 리소스 보기
 
|-
 
|netstat || 프로토콜 통계와 현재 TCP/IP 네트워크 연결을 표시
 
|-
 
|nslookup || 호스트 조회
 
|-
 
|pathping || 패킷속도 / 패킷 손실률
 
|-
 
|ping || 네트워크 이상 유무
 
|-
 
|regsvr32 || 동적 연결 라이브러리 / ActiveX 같은 개체 연결 및 포함 컨트롤 등록/해제
 
|-
 
|route print || 네트워크 라우팅 테이블을 조작
 
|-
 
|sc || 서비스 관리 제어 관리자 및 서비스와의 통신에 사용되는 명령줄
 
|-
 
|set || 환경 변수를 보여주거나 설정하거나 삭제
 
|-
 
|sfc || 시스템 파일
 
|-
 
|shutdown || 컴퓨터 종료/부팅/오류 관련
 
|-
 
|sigverif || 파일 서명 확인
 
|-
 
|tracert || 경로 추적
 
|-
 
|type || 텍스트 파일의 내용을 보여줌
 
|-
 
||winver || 윈도우 버전 보기
 
|-
 
||defrag || 디스크 조각모음
 
|}
 
  
{| border="1" cellpadding="5" cellspacing="0" width="40%"
+
====무조건 분기====
! colspan="2" | Dos commeand<ref name="자료2"> boolean, 〈[https://booolean.tistory.com/402 Windows-자주쓰는 CMD DOS 명령어]〉, 《티스토리》, 2016-03-19</ref>
+
조건에 상관없이 프로그램 카운터 값을 분기 목적 주소로 변경하고 해당 명령어를 실행한다.
|-
 
|dir || 디렉토리
 
|-
 
|ver || 도스 / 윈도우 버전
 
|-
 
|Format || 포맷
 
|-
 
|diskcopy || 드라이브 복사
 
|-
 
|vol || 드라이브 이름 / 볼륨 번호
 
|-
 
|label || vol과 비슷
 
|-
 
|copy || 복사
 
|-
 
|ren || 이름 변경
 
|-
 
|del, rease  || 삭제
 
|-
 
|rd /s /q 폴더이름 || 폴더 삭제 하위폴더까지 삭제
 
|-
 
|undelete || 복구
 
|-
 
|type || 텍스트 화일을 보여줌
 
|-
 
|type "드라이브" "화일명" || 텍스트 화일을 보여줌
 
|-
 
|chkdsk || 디스크 검사
 
|-
 
|diskcomp || 디스크 비교
 
|-
 
|comp || 파일 비교
 
|-
 
|attrib || 파일 수정 및 삭제
 
|-
 
|graphics || 모니터에 표현되는 그림 인쇄
 
|-
 
|fc || 파일 비교
 
|-
 
|verify || 파일 검증
 
|-
 
|recover || 불량 섹터 복구
 
|-
 
|keyclick || 키 누를 때 소리 지정
 
|-
 
|backup || 백업
 
|-
 
|restore || 백업을 회복시킴
 
|-
 
|exe2bin || 확장자 변경
 
|-
 
|cd || 폴더로 이동 dir 검색 후 cd '폴더'
 
|-
 
|cd.. || 폴더를 내려옴.
 
|-
 
|c: || c 드라이브로 이동
 
|-
 
|d: || d 드라이브로 이동
 
|-
 
|ipconfig || 본인 IP 주소 :
 
|-
 
|ping -t '사이트 주소' || Ping Test :|-
 
|}
 
  
==자바 명령어==
+
====조건 분기====
[[자바 명령어]](Java Command)는 자바 프로그램(Java Application)을 실행시켜 주는 명령어이다.<ref name="자료3"> MCSONG, 〈[http://sjava.net/2008/02/java-%EB%AA%85%EB%A0%B9%EC%96%B4%EC%9D%98-%EC%98%B5%EC%85%98-%EC%A0%95%EB%A6%AC/ JAVA 명령어의 옵션 정리]〉, 《개인블로그》, 2008-02-10</ref>
+
조건에 따라 프로그램 카운터 값을 분기 목적 주소로 변경하고 해당 명령어를 실행한다. 조건에 만족하지 않을 경우에는 기존에 있던 프로그램 카운터가 가르치는 다음 명령어를 실행한다.
  
===-client:===
+
====서브루틴/함수호출====
자바 HotSpot Client VM을 선택한다.<ref name="자료3"> MCSONG, 〈[http://sjava.net/2008/02/java-%EB%AA%85%EB%A0%B9%EC%96%B4%EC%9D%98-%EC%98%B5%EC%85%98-%EC%A0%95%EB%A6%AC/ JAVA 명령어의 옵션 정리]〉, 《개인블로그》, 2008-02-10</ref>
+
서브루틴 호출 시, 리턴 레지스터에 현재 주소를 저장하고 서브루틴 시작 주소를 프로그램 카운터에 저장한다.
  
===-server:===
+
====리턴====
자바 HotSpot Server VM을 선택한다.<ref name="자료3"> MCSONG, 〈[http://sjava.net/2008/02/java-%EB%AA%85%EB%A0%B9%EC%96%B4%EC%9D%98-%EC%98%B5%EC%85%98-%EC%A0%95%EB%A6%AC/ JAVA 명령어의 옵션 정리]〉, 《개인블로그》, 2008-02-10</ref>
+
서브루틴의 실행이 완료되었을 때, 리턴 레지스터에 저장된 되돌아갈 주소값으로 프로그램 카운터 값을 변경한 뒤 명령어를 실행한다. 오프코드로만 구성되어 있다.<ref name=명령어"> dheldh77, 〈[https://dheldh77.tistory.com/entry/%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EB%AA%85%EB%A0%B9%EC%96%B4Instruction (컴퓨터구조) 명령어(Instruction)]〉, 《티스토리》, 2020-07-13</ref>
  
===-classpath (-cp):===
+
==명령어의 구성요소==
참조할 [[클래스]] 파일 패스를 지정하는데, jar파일, zip파일, 클래스파일의 디렉터리 위치를 기술한다. 각 클래스파일 패스는 콜론(:)을 통해서, 분리시켜 기술한다. 자바VM은  자바프로그램을 로딩시, -classpath로 지정된 클래스 패스나 자바 플래폼이 설치된 [[운영체제]]에서의 환경변수로 지정된 클래스패스를 통해서 클래스 파일들을 참조하게 된다.<ref name="자료3"> MCSONG, 〈[http://sjava.net/2008/02/java-%EB%AA%85%EB%A0%B9%EC%96%B4%EC%9D%98-%EC%98%B5%EC%85%98-%EC%A0%95%EB%A6%AC/ JAVA 명령어의 옵션 정리]〉, 《개인블로그》, 2008-02-10</ref>
+
명령어의 구성요소는 동작코드, 피연산자, 분기 목적지 주소가 있다.
  
=== -D <property name>=<property value>: ===
+
===동작코드===
시스템의 property 값을 설정한다.
+
CPU가 수행할 동작들이며 에드, 멀티, 로드 등이 있다.
  
java -Djava.library.path=. HelloWorld
+
===피연산자===
 +
CPU가 명령어를 수행할 대상으로 오퍼렌드의 대상은 레지스터, 메인 메모리, I/O 유닛이 될 수 있다. 소프 오퍼렌드와 데스티네이션 오퍼렌드가 있다. 소스 오퍼렌드는 동작코드가 처리할 대상이며 데스티네이션 오퍼렌드는 처리 결과를 저장할 장소이다.<ref name=명령어"> dheldh77, 〈[https://dheldh77.tistory.com/entry/%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EB%AA%85%EB%A0%B9%EC%96%B4Instruction (컴퓨터구조) 명령어(Instruction)]〉, 《티스토리》, 2020-07-13</ref>
  
자바의 시스템 property(속성)중 "java.library.path"값을 "."(현재디렉터리)로 지정해서, HelloWorld 실행시켜라는 의미 이다. 위와같이 자바VM에 지정된 속성을 실행시 -D옵션을 사용해서, 변경, 지정할수 있다.<ref name="자료3"> MCSONG, 〈[http://sjava.net/2008/02/java-%EB%AA%85%EB%A0%B9%EC%96%B4%EC%9D%98-%EC%98%B5%EC%85%98-%EC%A0%95%EB%A6%AC/ JAVA 명령어의 옵션 정리]〉, 《개인블로그》, 2008-02-10</ref>
+
===분기 목적지 주소===
 +
분기 목적지 주소는 분기 명령을 수행할 때, 다음 처리할 명령어의 주소를 말한다.<ref name=명령어"> dheldh77, 〈[https://dheldh77.tistory.com/entry/%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EB%AA%85%EB%A0%B9%EC%96%B4Instruction (컴퓨터구조) 명령어(Instruction)]〉, 《티스토리》, 2020-07-13</ref>
  
===-jar 파일이름:===
+
==리눅스 명령어==
jar파일로 압축되어져 있는 자바 프로그램을 실행시킨다. 클래스 파일이름 대신 jar파일을 사용해서, 압축되어져 있는 자바 프로그램을 실행시킬수 있는데, 위프로그램이 제대로 실행되어지기 위해서, Jar파일안의 manifest라는 텍스트 파일에 Main-Class:classname 같은 형태의 텍스트 라인이 포함되어 있어야 한다.그리고, 여기에 기술된 classname은 main함수를 포함하고 있는 클래스 이름이 되어야 한다.<ref name="자료3"> MCSONG, 〈[http://sjava.net/2008/02/java-%EB%AA%85%EB%A0%B9%EC%96%B4%EC%9D%98-%EC%98%B5%EC%85%98-%EC%A0%95%EB%A6%AC/ JAVA 명령어의 옵션 정리]〉, 《개인블로그》, 2008-02-10</ref>
+
[[리눅스 명령어]](Linux Command)는 [[리눅스]](Linux) 운영체제에서 사용하는 [[명령어]]이다. 리눅스에서 [[쉘]](shell)은 기본적으로 키보드에서 명령을 가져와 운영체제로 보내 수행하는 프로그램이다. 리눅스 GUI 환경에서 터미널이나 콘솔과 같은 쉘 프로그램들은 배쉬를 사용하는데 대부분 명령어를 활용한다.<ref name="자료1"> KyuHyuk Lee, 〈[https://kyuhyuk.kr/article/linux/2020/01/22/Linux-Command-Line 리눅스 기본 명령어]〉, 《개인블로그》, 2020-07-22</ref>
  
===-verbose:===
+
==윈도우 명령어==
[[자바]]프로그램 실행되어지는 정보를 화면에 출력해준다.<ref name="자료3"> MCSONG, 〈[http://sjava.net/2008/02/java-%EB%AA%85%EB%A0%B9%EC%96%B4%EC%9D%98-%EC%98%B5%EC%85%98-%EC%A0%95%EB%A6%AC/ JAVA 명령어의 옵션 정리]〉, 《개인블로그》, 2008-02-10</ref>
+
[[윈도우 명령어]](Windows Command)는 [[윈도우]](Windows) 실행창과 쉘 프로그램에서 작동하는 명령어이다.
  
===-verbose:class===
+
==자바 명령어==
로딩되어지는 각클래스들의 정보를 화면에 출력한다.<ref name="자료3"> MCSONG, 〈[http://sjava.net/2008/02/java-%EB%AA%85%EB%A0%B9%EC%96%B4%EC%9D%98-%EC%98%B5%EC%85%98-%EC%A0%95%EB%A6%AC/ JAVA 명령어의 옵션 정리]〉, 《개인블로그》, 2008-02-10</ref>
+
[[자바 명령어]](Java Command)는 자바 프로그램(Java Application)을 실행시켜 주는 명령어이다.<ref name="자료3"> MCSONG, 〈[http://sjava.net/2008/02/java-%EB%AA%85%EB%A0%B9%EC%96%B4%EC%9D%98-%EC%98%B5%EC%85%98-%EC%A0%95%EB%A6%AC/ JAVA 명령어의 옵션 정리]〉, 《개인블로그》, 2008-02-10</ref>
 
 
===-verbose:gc===
 
garbage collection 이벤트를 화면에 출력한다.<ref name="자료3"> MCSONG, 〈[http://sjava.net/2008/02/java-%EB%AA%85%EB%A0%B9%EC%96%B4%EC%9D%98-%EC%98%B5%EC%85%98-%EC%A0%95%EB%A6%AC/ JAVA 명령어의 옵션 정리]〉, 《개인블로그》, 2008-02-10</ref>
 
 
 
===verbose:jni===
 
native 함수들과 다른 자바 native 인터페이스 사용에 대한 정보를 출력한다.<ref name="자료3"> MCSONG, 〈[http://sjava.net/2008/02/java-%EB%AA%85%EB%A0%B9%EC%96%B4%EC%9D%98-%EC%98%B5%EC%85%98-%EC%A0%95%EB%A6%AC/ JAVA 명령어의 옵션 정리]〉, 《개인블로그》, 2008-02-10</ref>
 
 
 
===-version:===
 
현재 JVM의 버젼 정보만 출력한다.<ref name="자료3"> MCSONG, 〈[http://sjava.net/2008/02/java-%EB%AA%85%EB%A0%B9%EC%96%B4%EC%9D%98-%EC%98%B5%EC%85%98-%EC%A0%95%EB%A6%AC/ JAVA 명령어의 옵션 정리]〉, 《개인블로그》, 2008-02-10</ref>
 
 
 
===-showversion:===
 
현재 JVM의 버젼정보를 출력한다. java -showversion HelloWolrd 와 같이 자바 프로그램을 실행시키면서, 자바 버젼정보를 출력할 수 있다.<ref name="자료3"> MCSONG, 〈[http://sjava.net/2008/02/java-%EB%AA%85%EB%A0%B9%EC%96%B4%EC%9D%98-%EC%98%B5%EC%85%98-%EC%A0%95%EB%A6%AC/ JAVA 명령어의 옵션 정리]〉, 《개인블로그》, 2008-02-10</ref>
 
 
 
===-X===
 
비표준 자바옵션 리스트를 화면에 출력해준다.<ref name="자료3"> MCSONG, 〈[http://sjava.net/2008/02/java-%EB%AA%85%EB%A0%B9%EC%96%B4%EC%9D%98-%EC%98%B5%EC%85%98-%EC%A0%95%EB%A6%AC/ JAVA 명령어의 옵션 정리]〉, 《개인블로그》, 2008-02-10</ref>
 
  
===-Xms, -Xmx===
+
==DB 명령어==
[[자바]]를 구동시, JVM이 사용가능한 최대 메모리 사이즈를 변경한다. JVM이 자바프로그램을 구동하기 위해, 초기설정된 메모리사이즈는 64M이다.<ref name="자료3"> MCSONG, [http://sjava.net/2008/02/java-%EB%AA%85%EB%A0%B9%EC%96%B4%EC%9D%98-%EC%98%B5%EC%85%98-%EC%A0%95%EB%A6%AC/ JAVA 명령어의 옵션 정리], 《개인블로그》, 2008-02-10</ref>
+
[[DB 명령어]]는 [[DBMS]]를 활용할 때 사용하는 명령어이다. [[데이터베이스]]중 가장 널리 사용되고 있는 것은 오라클에서 제작한 [[오라클]] 데이터베이스이며 현재 [[유닉스]] 환경에서 가장 널리 사용되고 있는 [[RDBMS]]이다. 그 밖에 [[마이에스큐엘]], [[엠에스에스큐엘]], [[포스트그레스큐엘]], [[몽고디비]], [[디비투]], [[에스큐엘라이트]], [[마리아디비]] 등이 있다.
  
 
{{각주}}
 
{{각주}}
350번째 줄: 71번째 줄:
 
* MCSONG, 〈[http://sjava.net/2008/02/java-%EB%AA%85%EB%A0%B9%EC%96%B4%EC%9D%98-%EC%98%B5%EC%85%98-%EC%A0%95%EB%A6%AC/ JAVA 명령어의 옵션 정리]〉, 《개인블로그》, 2008-02-10
 
* MCSONG, 〈[http://sjava.net/2008/02/java-%EB%AA%85%EB%A0%B9%EC%96%B4%EC%9D%98-%EC%98%B5%EC%85%98-%EC%A0%95%EB%A6%AC/ JAVA 명령어의 옵션 정리]〉, 《개인블로그》, 2008-02-10
 
* KyuHyuk Lee, 〈[https://kyuhyuk.kr/article/linux/2020/01/22/Linux-Command-Line 리눅스 기본 명령어]〉, 《개인블로그》, 2020-07-22<
 
* KyuHyuk Lee, 〈[https://kyuhyuk.kr/article/linux/2020/01/22/Linux-Command-Line 리눅스 기본 명령어]〉, 《개인블로그》, 2020-07-22<
 +
* dheldh77, 〈[https://dheldh77.tistory.com/entry/%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EB%AA%85%EB%A0%B9%EC%96%B4Instruction (컴퓨터구조) 명령어(Instruction)]〉, 《티스토리》, 2020-07-13
  
 
== 같이 보기 ==
 
== 같이 보기 ==
360번째 줄: 82번째 줄:
 
* [[주석]]
 
* [[주석]]
 
* [[인스트럭션]]
 
* [[인스트럭션]]
 +
* [[DB명령어]]
  
 
{{프로그래밍|검토 필요}}
 
{{프로그래밍|검토 필요}}

2023년 4월 25일 (화) 13:41 기준 최신판

명령어(command)란 프로그램 실행을 위해 사용자가 입력하는 언어를 말한다. 리눅스 명령어(Linux Command), 윈도우 명령어(Windows Command), 도스 명령어(DOS Command), 유닉스 명령어(UNIX Command), C 명령어, 자바 명령어, DB 명령어 등이 있다.

개요[편집]

명령어는 컴퓨터에서 특정한 작업을 수행하기 위한 해석기의 역할을 하는 컴퓨터 프로그램을 가리킨다. 일반적으로 명령어는 셸과 같은 명령 줄 인터페이스의 하나이다.

구체적으로, 명령어라는 용어는 컴퓨터 언어에서 쓰인다. 많은 프로그램들은 명령어의 기본 동작을 수정하는 플레그로 알려진 형식화된 변수를 허용한다. 반면 변수는 명령어가 실행하는 것을 서술한다. 자연어와 비교했을 때 플레그는 동사이며, 다른 변수는 목적어다.

명령어 사이클[편집]

CPU는 명령어 사이클을 반복해 프로그램을 실행하는 것으로 인출과 실행 단계로 이루어져있다.[1]

인출 단계[편집]

메모리에 저장된 명령어들을 읽어들이는 단계로 현재 실행할 명령어를 읽어 명령어 레지스터에 저장한다. 그리고 다음에 실행할 명령어를 읽어 프로그램 카운터에 저장한다.

실행 단계[편집]

명령어 레지스터에 저장된 명령어를 실행하는 단계로 제어장치는 명령어를 해독하고 제어신호를 생성해 각 구성요소에 전달한다. 제어신호에 따라 ALU는 해당하는 연산을 수행하고 각 신호와 데이터는 내부버스를 통해 전달된다. 연산에 필요한 데이터와 명령어는 레지스터에 저장한다.

명령어의 종류[편집]

명령어의 종류는 데이터 전달, 데이터 처리,프로그램 제어가 있다.

데이터 전달[편집]

컴퓨터 구성요소 간 데이터를 전달한다. 오프코드, 소스 오퍼렌드, 데스티네이션 오퍼렌드로 구성되어 있으며 오프코드는 로드, 스토어, 무브, 인풋, 아웃풋 등이 있다.

데이터 처리[편집]

데이터 처리는 레지스터 또는 메모리에 저장되어있는 데이터에 대한 산술/논리 연산으로 데이터 전달과 같은 형태로 구성되어 있다. 명령어의 종류에 따라서 소스 오퍼렌드가 두개 일 수 있으며 오프코드는 에드, 멀티, 엔드, 오아, 낫 등이 있다.[1]

프로그램 제어[편집]

프로그램 제어는 명령어의 실행 순서를 제어하고 프로그램 카운터의 값을 변경한다. 오프코드, 브런치 타켓 어드레스로 구성되어 있다. 분기의 종류에 따라 무조건 분기, 조건 분기, 서브루틴/함수호출, 리턴이 있다.

무조건 분기[편집]

조건에 상관없이 프로그램 카운터 값을 분기 목적 주소로 변경하고 해당 명령어를 실행한다.

조건 분기[편집]

조건에 따라 프로그램 카운터 값을 분기 목적 주소로 변경하고 해당 명령어를 실행한다. 조건에 만족하지 않을 경우에는 기존에 있던 프로그램 카운터가 가르치는 다음 명령어를 실행한다.

서브루틴/함수호출[편집]

서브루틴 호출 시, 리턴 레지스터에 현재 주소를 저장하고 서브루틴 시작 주소를 프로그램 카운터에 저장한다.

리턴[편집]

서브루틴의 실행이 완료되었을 때, 리턴 레지스터에 저장된 되돌아갈 주소값으로 프로그램 카운터 값을 변경한 뒤 명령어를 실행한다. 오프코드로만 구성되어 있다.[1]

명령어의 구성요소[편집]

명령어의 구성요소는 동작코드, 피연산자, 분기 목적지 주소가 있다.

동작코드[편집]

CPU가 수행할 동작들이며 에드, 멀티, 로드 등이 있다.

피연산자[편집]

CPU가 명령어를 수행할 대상으로 오퍼렌드의 대상은 레지스터, 메인 메모리, I/O 유닛이 될 수 있다. 소프 오퍼렌드와 데스티네이션 오퍼렌드가 있다. 소스 오퍼렌드는 동작코드가 처리할 대상이며 데스티네이션 오퍼렌드는 처리 결과를 저장할 장소이다.[1]

분기 목적지 주소[편집]

분기 목적지 주소는 분기 명령을 수행할 때, 다음 처리할 명령어의 주소를 말한다.[1]

리눅스 명령어[편집]

리눅스 명령어(Linux Command)는 리눅스(Linux) 운영체제에서 사용하는 명령어이다. 리눅스에서 (shell)은 기본적으로 키보드에서 명령을 가져와 운영체제로 보내 수행하는 프로그램이다. 리눅스 GUI 환경에서 터미널이나 콘솔과 같은 쉘 프로그램들은 배쉬를 사용하는데 대부분 명령어를 활용한다.[2]

윈도우 명령어[편집]

윈도우 명령어(Windows Command)는 윈도우(Windows) 실행창과 쉘 프로그램에서 작동하는 명령어이다.

자바 명령어[편집]

자바 명령어(Java Command)는 자바 프로그램(Java Application)을 실행시켜 주는 명령어이다.[3]

DB 명령어[편집]

DB 명령어DBMS를 활용할 때 사용하는 명령어이다. 데이터베이스중 가장 널리 사용되고 있는 것은 오라클에서 제작한 오라클 데이터베이스이며 현재 유닉스 환경에서 가장 널리 사용되고 있는 RDBMS이다. 그 밖에 마이에스큐엘, 엠에스에스큐엘, 포스트그레스큐엘, 몽고디비, 디비투, 에스큐엘라이트, 마리아디비 등이 있다.

각주[편집]

  1. 1.0 1.1 1.2 1.3 1.4 dheldh77, 〈(컴퓨터구조) 명령어(Instruction)〉, 《티스토리》, 2020-07-13
  2. KyuHyuk Lee, 〈리눅스 기본 명령어〉, 《개인블로그》, 2020-07-22
  3. MCSONG, 〈JAVA 명령어의 옵션 정리〉, 《개인블로그》, 2008-02-10

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 명령어 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.