본문 바로가기

System/Windows

[윈도우 기초] 윈도우 CMD 명령어 정리_I

반응형

Icacls

icacls 명령은 파일의 액세스 제어 목록을 표시하거나 변경하는 데 사용됩니다. icacls 명령은 Windows 8, Windows 7 및 Windows Vista에서 사용할 수 있습니다. icacls 명령은 cacls 명령의 업데이트 버전입니다.

If

if 명령은 배치 파일에서 조건부 기능을 수행하는 데 사용됩니다. if 명령은 모든 버전의 Windows와 MS-DOS에서 사용할 수 있습니다.

Interlnk

interlnk 명령은 직렬 또는 병렬 연결을 통해 두 컴퓨터를 연결하여 파일과 프린터를 공유하는 데 사용됩니다. interlnk 명령은 MS-DOS에서만 사용할 수 있습니다. 두 컴퓨터를 직접 연결하는 기능은 모든 Windows 버전의 네트워킹 기능으로 처리됩니다.

Intersvr

intersvr 명령은 Interlnk 서버를 시작하고 한 컴퓨터에서 다른 컴퓨터로 Interlnk 파일을 복사하는 데 사용됩니다. intersvr 명령은 MS-DOS에서만 사용할 수 있습니다. 두 컴퓨터를 직접 연결하는 기능은 모든 Windows 버전의 네트워킹 기능으로 처리됩니다.

Ipconfig

ipconfig 명령은 TCP / IP를 사용하는 각 네트워크 어댑터에 대한 자세한 IP 정보를 표시하는 데 사용됩니다. ipconfig 명령을 사용하여 DHCP 서버를 통해 IP 주소를 받도록 구성된 시스템에서 IP 주소를 해제 및 갱신 할 수도 있습니다. ipconfig 명령은 모든 버전의 Windows에서 사용할 수 있습니다.

Ipxroute

ipxroute 명령은 IPX 라우팅 테이블에 대한 정보를 표시하고 변경하는 데 사용됩니다. ipxroute 명령은 Windows XP에서 사용할 수 있습니다. Microsoft는 Windows Vista부터 기본 NetWare 클라이언트를 제거하여 관련 ipxroute 명령도 제거했습니다.

Irftp

irftp 명령은 적외선 링크를 통해 파일을 전송하는 데 사용됩니다. irftp 명령은 Windows 8, Windows 7 및 Windows Vista에서 사용할 수 있습니다.

Iscsicli

iscsicli 명령은 iSCSI 관리에 사용되는 Microsoft iSCSI 초기자를 시작합니다. iscsicli 명령은 Windows 8, Windows 7 및 Windows Vista에서 사용할 수 있습니다.

환경 : Windowns 10 pro

 

1. Icacls 명령어

C:\Users>Icacls /?

ICACLS 이름 /save aclfile [/T] [/C] [/L] [/Q]
    나중에 /restore와 함께 사용할 수 있도록 이름이 일치하는 파일 및
    폴더에 대한 DACL을 aclfile에 저장합니다. SACL, 소유자 또는
    무결성 레이블은 저장되지 않습니다.

ICACLS 디렉터리 [/substitute SidOld SidNew [...]] /restore aclfile
                 [/C] [/L] [/Q]
    저장된 DACL을 디렉터리의 파일에 적용합니다.

ICACLS 이름 /setowner user [/T] [/C] [/L] [/Q]
    일치하는 모든 이름의 소유자를 변경합니다. 이 옵션은
    소유권을 강제 변경하지 않고 takeown.exe 유틸리티를
    사용하여 변경합니다.

ICACLS 이름 /findsid Sid [/T] [/C] [/L] [/Q]
    SID를 명시적으로 지정하는 ACL이 포함된 일치하는
    모든 이름을 찾습니다.

ICACLS 이름 /verify [/T] [/C] [/L] [/Q]
    ACL이 정규형이 아니거나 길이가 ACE 개수와 일치하지
    않는 모든 파일을 찾습니다.

ICACLS 이름 /reset [/T] [/C] [/L] [/Q]
    ACL을 일치하는 모든 파일에 대해 상속된 기본 ACL로 바꿉니다

ICACLS 이름 [/grant[:r] Sid:perm[...]]
       [/deny Sid:perm [...]]
       [/remove[:g|:d]] Sid[...]] [/T] [/C] [/L] [/Q]
       [/setintegritylevel Level:policy[...]]

    /grant[:r] Sid:perm은 지정된 사용자 액세스 권한을 허용합니다. :r을 사용하면
        사용 권한이 이전에 허용된 모든 명시적 사용 권한을 대체합니다.
        :r을 사용하지 않으면 사용 권한이 이전에 허용된 모든 명시적 사용
        권한에 추가됩니다.

    /deny Sid:perm은 지정된 사용자 액세스 권한을 명시적으로 거부합니다.
        지정된 사용 권한에 대해 명시적인 deny ACE가 추가되고
        모든 명시적 grant의 동일한 사용 권한이 제거됩니다.

    /remove[:[g|d]] Sid는 ACL에 있는 모든 SID 항목을 제거합니다. :g를
        사용하면 해당 SID에 허용된 모든 권한 항목을 제거하고 :d를
        사용하면 해당 SID에 거부된 모든 권한 항목을 제거합니다.

    /setintegritylevel [(CI)(OI)]수준에 따라 명시적으로 무결성 ACE가
        일치하는 모든 파일에 추가됩니다. 이 수준은 다음 중 하나로
        지정됩니다.
            L[ow]
            M[edium]
            H[igh]
        무결성 ACE에 대한 상속 옵션은 수준보다 우선할 수 있고
        디렉터리에만 적용됩니다.

    /inheritance:e|d|r
        e - 상속할 수 있도록 설정합니다.
        d - ACE를 상속하거나 복사하지 못하도록 설정합니다.
        r - 상속된 모든 ACE를 제거합니다.


참고:
    SID는 숫자 또는 이름 형식이 될 수 있습니다. 숫자 형식을 지정하면
    SID의 시작 부분에 * 기호를 붙여야 합니다.

    /T 이름에 지정된 디렉터리 아래의 일치하는 모든 파일/디렉터리에서
       이 작업을 수행하도록 지정합니다.

    /C 어떠한 파일 오류의 경우에도 이 작업을 계속하도록 지정합니다.
       오류 메시지는 그대로 표시됩니다.

    /L 해당 대상에 대한 바로 가기 링크 자체에서 이 작업을 수행하도록
       지정합니다.

    /Q ICACLS가 성공 메시지를 표시하지 않도록 지정합니다.

    ICACLS은 ACE 항목의 정식 순서를 유지합니다.
            명시적 거부
            명시적 허용
            상속된 거부
            상속된 허용

    perm은 다음 두 가지 형식 중 하나로 지정할 수 있는 사용 권한 마스크입니다.
        단순 권한 시퀀스:
                N - 권한 없음
                F - 모든 권한
                M - 수정 권한
                RX - 읽기 및 실행 권한
                R - 읽기 전용 권한
                W - 쓰기 전용 권한
                D - 삭제 권한
         괄호 안 쉼표로 구분된 특정 권한 목록:
                DE - 삭제
                RC - 읽기 제어
                WDAC - DAC 쓰기
                WO - 쓰기 소유자
                S - 동기화
                AS - 액세스 시스템 보안
                MA - 최대한 허용
                GR - 일반 읽기
                GW - 일반 쓰기
                GE - 일반 실행
                GA - 일반 전체
                RD - 데이터 읽기/디렉터리 나열
                WD - 데이터 쓰기/파일 추가
                AD - 데이터 추가/하위 디렉터리 추가
                REA - 확장 특성 읽기
                WEA - 확장 특성 쓰기
                X - 실행/트래버스
                DC - 자식 삭제
                RA - 특성 읽기
                WA - 특성 쓰기
        상속 권한은 모든 형식 앞에 올 수 있으며 디렉터리에만
        적용됩니다.
                (OI) - 개체 상속
                (CI) - 컨테이너 상속
                (IO) - 상속 전용
                (NP) - 상속 전파 안 함
                (I) - 부모 컨테이너에서 상속된 권한

예:

        icacls c:\windows\* /save AclFile /T
        - c:\windows와 해당 하위 디렉터리 아래의 모든 파일에
        대한 ACL을 AclFile에 저장합니다.

        icacls c:\windows\ /restore AclFile
        - c:\windows와 해당 하위 디렉터리에 있는
        AclFile 내의 모든 파일에 대한 ACL을 복원합니다.

        icacls file /grant Administrator:(D,WDAC)
        - 사용자에게 파일에 대한 관리자 삭제 및 DAC 쓰기
        권한을 허용합니다.

        icacls file /grant *S-1-1-0:(D,WDAC)
        - SID S-1-1-0으로 정의한 사용자에게 파일에 대한
          삭제 및 DAC 쓰기 권한을 허용합니다.

 

2. If 명령어

C:\Users>If /?
배치 파일에서 조건 처리를 수행합니다.

IF [NOT] ERRORLEVEL 숫자 명령어
IF [NOT] 문자열1==문자열2 명령어
IF [NOT] EXIST 파일이름 명령어

  NOT               조건이 거짓이면 명령을 수행하라고 지정합니다.

  ERRORLEVEL 숫자   마지막 프로그램 실행에서 반환된 마침 코드가
                    지정된 숫자보다 크거나 같으면, 조건을 참으로 지정합니다.

  문자열1==문자열2  지정된 문자열이 일치하면 조건을 참으로 지정합니다.

  EXIST 파일이름    지정된 파일이름이 있으면 조건을 참으로 지정합니다.

  명령어            조건이 만족되면 실행할 명령을 지정합니다.
                    지정된 조건이 FALSE인 경우에는
                    ELSE 키워드 다음에 명령을 수행할
                    ELSE 명령어가 따릅니다.

ELSE 구문은 IF 명령 다음의 명령줄과 동일한 행에 위치해야 합니다.
예:

    IF EXIST filename. (
        del filename.
    ) ELSE (
        echo filename. missing.
    )

Del 명령은 다음 줄에서 시작되어야 하므로 다음 예제는
작동하지 않습니다.

    IF EXIST filename. del filename. ELSE echo filename. missing

ELSE 명령이 IF 명령의 마지막과 같은 행에 있어야 하므로
다음 예제도 작동하지 않습니다.

    IF EXIST filename. del filename.
    ELSE echo filename. missing

한 행에서 모든 내용을 작업하려면 다음과 같이 작성하십시오.

    IF EXIST filename. (del filename.) ELSE echo filename. missing

명령 확장을 사용하면 IF 구문은 다음과 같이 변경됩니다:

    IF [/I] 문자열1 비교연산자 문자열2 명령
    IF CMDEXTVERSION 숫자 명령
    IF DEFINED 변수 명령

사용할 수 있는 비교 연산자는 다음과 같습니다:

    EQU - 같음
    NEQ - 같지 않음
    LSS - 보다 작은
    LEQ - 작거나 같음
    GTR - 보다 큰
    GEQ - 크거나 같음

대/소문자를 구분하려면 /I 스위치를 사용하십시오.
/I 스위치는 If 구문의 문자열1==문자열2 형식에도
사용할 수 있습니다.
문자열1과 문자열2가 모두 숫자로 되어 있는 경우,
해당 문자열은 숫자로 변환되어 비교됩니다.

CMDEXTVERSION 조건은 명령 확장과 관련된
내부 버전 번호에 대하여 비교하는 것을 제외하고는
ERRORLEVEL과 비슷하게 동작합니다. 처음의 버전 번호는 1이며,
명령 확장이 증가하면 하나씩 증가합니다.
명령 확장자를 사용할 수 없다면 CMDEXTVERSION 조건은
True 값을 가질 수 없습니다.

DEFINED 조건은 환경 변수가 정의되어 있는 경우,
환경 변수 이름을 가져와 True 값을 반환하는 것을
제외하고는 EXIST와 비슷하게 동작합니다.

%ERRORLEVEL%에서는 ERRORLEVEL과 같은 이름을 갖는
환경 변수가 정의되지 않은 경우, ERRORLEVEL의 현재 값을
문자열로 확장하며, 그렇지 않으면 지정된 값을 대신 제공합니다.
프로그램을 실행한 후, 다음 예제에서는 ERRORLEVEL 사용을
설명합니다.

    goto answer%ERRORLEVEL%
    :answer0
    echo Program had return code 0
    :answer1
    echo Program had return code 1

또한 위의 숫자 비교를 사용할 수 있습니다.

    IF %ERRORLEVEL% LEQ 1 goto okay

CMDCMDLINE과 같은 이름을 갖는 환경 변수가 정의되지 않은 경우,
CMD.EXE의 모든 프로세스에 앞서 %CMDCMDLINE%을
CMD.EXE로 전달되는 원래의 명령줄로 확장하며,
그렇지 않으면 지정된 값을 대신 제공합니다.

%CMDEXTVERSION%에서는 CMDEXTVERSION과 같은
이름을 갖는 환경 변수가 정의되지 않은 경우,
CMDEXTVERSION의 현재 값을 문자열로 확장합니다.
그렇지 않으면, 지정된 값을 대신 제공합니다.

 

3. Ipconfig 명령어

 

반응형