batch-file
배치 (Windows)와 터미널 (Linux)의 차이점
수색…
소개
배치와 bash는 아주 다릅니다. 일} 처리 플래그는
/
로 표시되고 bash 플래그는 -
사용합니다. 대문자 사용은 bash에서 중요하지만 (거의) 일괄 적으로 이루어지지는 않습니다. 일} 처리 변수 이름에는 공백이 포함될 수 있으며, bash 변수 이름은 공백을 포함 할 수 없습니다. 궁극적으로 둘 다 명령 줄을 조작하고 상호 작용하는 방법입니다. 당연히 두 시스템의 기능간에 상당한 크기의 중복이 있습니다.
비고
-
bitsadmin
은 PowerShell cmdlet BITS 대신 사용되지 않지만 Windows 10 버전 1607에서 작동합니다. -
certutil
은 16 진수 쌍을 공백으로 구분하므로md5sum
은d41d8cd98f00b204e9800998ecf8427e
의 예제 값을 반환하고certutil
은d4 1d 8c d9 8f 00 b2 04 e9 80 09 98 ec f8 42 7e
와 동일한 값을 표시합니다.d4 1d 8c d9 8f 00 b2 04 e9 80 09 98 ec f8 42 7e
- 다른 드라이브 (예 : C :에서 D :)로
cd
하려면/d
플래그를 사용해야합니다. -
del
은 폴더를 삭제할 수 없습니다. 대신rm
사용하십시오. -
grep
은find
및findstr
보다 훨씬 강력합니다. 비교하는 것이 거의 공정하지 않습니다.find
에는 정규식 기능이없고findstr
에는 정규식 기능이 매우 제한적입니다.[az]{2}
은 유효한 구문이 아니지만[az][az]
-
for
Windows 명령 프롬프트의 루프는 단일 문자 변수 이름 만 사용할 수 있습니다. 일괄 처리 변수 이름은 대 / 소문자를 구분하는 유일한 시간입니다. -
for
명령 프롬프트에 루프 또한 변수 형식 사용%A
대신%A%
-for
일괄 루프 스크립트는 변수 양식을 사용%%A
-
md
필요한 부모 디렉토리를 자동으로 생성하는 반면,mkdir
은 그렇게하기 위해-p
플래그가 필요합니다. -
rem
은 인라인 주석 문자로 사용되지 않을 수 있으며, 앞에&
-
::
인라인 주석으로는 전혀 사용할 수 없으며 코드 블록 (괄호 집합) 내부에서 사용해서는 안됩니다.
- 같은 일부 Windows 명령합니다
ping
여전히 사용-
플래그로
일괄 처리 명령과 해당 Bash 명령
일괄 | 세게 때리다 | 기술 |
---|---|---|
command /? | man command | 명령에 대한 도움말을 표시합니다. |
bitsadmin | wget 또는 curl | 원격 파일 다운로드 |
certutil -hashfile file_name MD5 | md5sum file_name | file_name 의 MD5 체크섬을 가져옵니다. |
cd | pwd | 현재 디렉토리를 표시합니다. |
cd directory | cd directory | 현재 디렉토리를 지정된 디렉토리로 변경합니다. |
cls | clear | 화면을 지 웁니다. |
copy | cp | 원본 경로에서 대상 경로로 파일 복사 |
date | date | 날짜를 표시하거나 사용자 입력에 따라 설정합니다. |
del | rm | 파일 하나 또는 여러 개를 삭제합니다. |
dir | ls | 현재 디렉토리에 파일 및 디렉토리 목록을 표시합니다. |
echo | echo | 화면에 텍스트를 표시합니다. |
exit | return | 스크립트 또는 서브 루틴 종료 |
exit | logout | 명령 프롬프트 또는 터미널을 닫습니다. |
fc | diff | 두 파일의 내용 비교 |
find "string" file_name | grep "string" file_name | file_name 에서 문자열을 검색 합니다. |
findstr "string" file_name | grep "string" file_name | file_name 에서 문자열을 검색 합니다. |
for /F %A in (fileset*) do something | for item in fileset*; do; something; done | 파일 집합의 모든 파일에 대해 무언가를하십시오. |
for /F %A in ('command') do something | `command` | 명령의 출력을 반환합니다. |
for /L %A in (first,increment,last) do something | for item in `seq first increment last`; do; something; done | 마지막에 도달 할 때까지 처음 부터 시작하여 증가분으로 계산합니다. |
forfiles | find | 특정 기준과 일치하는 파일을 검색합니다. |
if "%variable%"=="value" ( | if [ "variable"="value" ]; then | 두 값을 비교합니다. |
ipconfig | ifconfig | IP 정보를 표시합니다. |
md | mkdir | 새 폴더를 만듭니다. |
mklink | ln -s | 심볼릭 링크를 만듭니다. |
more | more | 한 번에 한 화면 씩 출력합니다. |
move | mv | 원본 경로에서 대상 경로로 파일을 이동합니다. |
pause | read -p "Press any key to continue" | 사용자가 버튼을 누를 때까지 스크립트 실행을 일시 중지합니다. |
popd | popd | 디렉토리 스택에서 맨 위 항목을 제거하고 새 최상위 디렉토리로 이동합니다. |
pushd | pushd | 현재 디렉토리를 디렉토리 스택에 추가하고 새로운 최상위 디렉토리로 이동합니다. |
ren | mv | 파일 이름 바꾸기 |
rem 또는 :: | # | 한 줄의 코드에 주석 달기 |
rd | rmdir | 빈 디렉토리를 제거합니다. |
rd /s | rm -rf | 빈 디렉토리인지 여부에 관계없이 디렉토리를 제거합니다. |
set variable=value | variable=value | 가치를 변수의 값을 설정합니다 |
set /a variable=equation | variable=$((equation)) | 수학을 수행합니다 (배치는 32 비트 정수만 사용할 수 있음). |
set /p variable=promptstring | read -p "promptstring" variable | 사용자 입력을 가져 와서 변수에 저장합니다. |
shift | shift | 인수를 1 씩 이동합니다 (제공되는 경우 n). |
sort | sort | 출력을 알파벳순으로 줄 단위로 정렬합니다. |
tasklist | ps | 실행중인 프로세스 목록을 표시합니다. |
taskkill /PID processid | kill processid | PID processid로 프로세스를 종료 합니다. |
time /t | date | 현재 시간을 표시합니다. |
type | cat | 파일의 내용을 표시합니다. |
where | which | 현재 디렉토리와 PATH에서 파일 또는 명령을 검색합니다. |
whoami | id | 현재 사용자의 이름과 그룹을 표시합니다. |
일괄 변수 및 해당 배쉬 상당
일괄 | 세게 때리다 | 기술 |
---|---|---|
%variable% | $variable | 일반 변수 |
!variable! | $variable | setlocal enabledelayedexpansion 이 켜져있을 때 코드 블록 내부의 변수 |
%errorlevel% 또는 ERRORLEVEL | $? | 이전 명령의 상태를 반환합니다. 성공하면 0을 반환하고 그렇지 않으면 1을 반환합니다. |
%1 , %2 , %3 등 | $1 , $2 , $3 등 | 스크립트에 주어진 매개 변수 |
%* | $* | 스크립트에 주어진 모든 매개 변수 |
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow