Windows 명령 프롬프트에서 ls를 사용하고 dir 명령을 실행하고 싶습니다.
어떻게 할 수 있습니까?
Windows 명령 프롬프트에서 ls를 사용하고 dir 명령을 실행하고 싶습니다.
어떻게 할 수 있습니까?
답변:
다음과 같이 할 수 있습니다.
ls.bat
포함하도록 dir
합니다.ls.bat
파일이 있는 디렉토리 를 PATH
환경 변수에 추가하십시오.그런 다음 ls
명령 프롬프트에서 실행할 수 있습니다.
하나의 간단한 명령으로이 질문을 해결할 수 있습니다.
echo @dir %* > %systemroot%\system32\ls.bat
cmd.exe
Vista 이상인 경우 먼저 관리자로 실행하십시오.
dir %*
대신 ls.bat를 통해 dir에 전달되는 명령 줄 인수를 허용 하는 대신 사용 하는 것이 좋습니다 . 그렇지 dir %1
않으면를 사용하면 ls 스크립트를 사용할 때 최대 하나의 인수 만 사용할 수 있습니다.
@dir %*
하면 추가 줄도 제거되므로 훨씬 더 동일합니다dir
@
. 복잡한 출력을 피하기 위해 사용할 멋진 구문. 그러나 Windows가 POSIX와 호환된다면 훨씬 쉬울 것입니다. 적어도 우리는 꿈을 꿀 수 있습니다.
ls *
하고 dir *
똑같은 일을하지 마십시오. 그래서 앨리어싱 dir은 약간 바지입니다.
C:\Program Files (x86)\GnuWin32\bin
경로 에 추가 하는 것을 잊지 마세요
내가 찾은 가장 쉬운 방법은 다음과 같습니다.
bin
Git 디렉토리를 Path 변수에 추가하십시오 . 광산은 C:\Program Files\Git\usr\bin
.ls
모든 영광을 즐기십시오 .ls
선택적 인수입니다. 그냥 약간의 업데이트는, 나는 창문 자식의 최신 버전을 설치하고 ls.exe는 이제 C에서 찾을 수 있습니다 : \ 프로그램 파일 \ 힘내 \ USR \ 빈
해결책이 있지만 더럽습니다.
"dir"만 포함하는 ls.bat 파일을 작성하십시오.
C : \ windows \ system32 (또는 PATH env var의 디렉토리)에 넣으십시오.
작동해야합니다!
편집 : 더 일관된 것 : /superuser/49170/create-an-alias-in-windows-xp
Vista / 7 용 Windows 명령 프롬프트는 NTFS 심볼릭 링크를 허용하고 cmd.exe를 관리자 권한으로 실행 한 다음 다음을 수행합니다.
mklink ls %System%\dir.exe
그런 다음 방금 만든 링크의 위치를 포함하도록 PATH 환경 변수를 설정합니다.
'ls'명령 이상을 원한다면 cygwin을 살펴 봐야 합니다.
편집-방금 깨달은 dir.exe
것은 별도의 프로그램이 아니므로 실제로 작동하지 않습니다. 그러나 mklink
cygwin은 알아야 할 좋은 것들입니다.
위의 게시물에 +1하여 Windows 용 git을 설치하고 경로 변수에 디렉토리 bin을 추가하십시오.
또 다른 방법으로 Windows 8 및 Windows 7 컴퓨터의 cmd.exe에서 touch, ls 및 기타 많은 UNIX 명령을 사용할 수 있습니다.
Cygwin을 설치하려면 다음 사이트로 이동하십시오.
https://www.cygwin.com/install.html
시스템에 32 비트 또는 64 비트 버전을 설치하십시오. 기본 설정 및 패키지에는 필요한 항목이 포함되어 있어야 패키지 화면이 표시되면 아무것도 변경할 필요가 없습니다.
설치 후 Cygwin 폴더 경로를 환경 경로 변수에 복사하십시오. 예를 들면 다음과 같습니다. cygwin을 C : \ Cygwin에 설치 한 경우 환경 시스템 경로 변수에 다음을 추가합니다.
; C : \ Cygwin \ bin
내 시스템에 64 비트 버전을 설치했고 기본 폴더 이름과 경로는 C : \ cygwin64였습니다. 그래서 시스템 환경 경로 변수에 다음을 추가했습니다.
; C : \ cygwin64 \ bin
터미널이 열려 있으면 다시 시작하십시오. 그런 다음 ls를 입력하면 디렉토리 목록이 표시됩니다.
PATH 환경 변수 설정에 익숙하지 않은 경우 다음을 참조하십시오.
cmd가의 ls
별칭으로 인식 dir
하도록하려면 doskey
명령을 사용할 수 있습니다 ( superuser의이 답변에서 ).
이것은 dir 명령의 원래 명령 줄 매개 변수 처리를 변경하지 않습니다.
다음 레시피를 추천합니다.
DOSKEY
및 $*
사용자 생성 ls
명령을 사용합니다.예를 들어, 명령이
DOSKEY ls=dir
DOSKEY sublime="C:\Program Files\Sublime Text 2\sublime_text" $*
$*
인수를받는 명령에 유용 할 수 있습니다 . 예를 들어, 여기서 저는 sublime my_code.c
.
cmd의 레지스트리는 HKEY_CURRENT_USER-> 소프트웨어-> Microsoft-> 명령 프로세서에 있습니다. 파일 의 전체 경로 (포함 폴더 아님)를 사용하여 AutoRun이라는 문자열 값 항목을 만듭니다 %USERPROFILE%\custom_command.cmd
. 그런 다음 cmd가 실행될 때마다 명령이로드됩니다!
분명히 ls는 배치에 대한 유닉스 명령으로 작동하지 않습니다. -l 또는 -a 등의 모든 조합에 대해 % 1을 (를) 확인하면 작동합니다 ...
이 가이드를 따를 수 있습니다 : https://gist.github.com/vladikoff/38307908088d58af206b
TL; DR : /K path/to/custom/init_cmd.bat
"shell startup"명령에 전달 합니다.
저는 ConsoleZ를 쉘 래퍼로 사용하고 있습니다. 제 경우에는 "탭"에서 설정 옵션을 찾은 다음 쉘 경로를 "C:\Windows\System32\cmd.exe "/K C:\cmd_init.bat""
이와 같이 설정했습니다 .
C:\cmd_init.bat
내 매크로를 포함하는 배치 스크립트는 어디에 있습니까?
@echo off
doskey ls=dir /b
rem other macro stuff..
서식 및 기타 실수로 인해 죄송합니다. 여기에 처음으로 답변했습니다. 도움이 되었기를 바랍니다.
Windows 용 Linux 하위 시스템을 사용하는 사람 ls
은 Linux bash에서 호출 할 수 있습니다. 다음 명령은 ls
System32에서 명령을 만듭니다 .
echo @bash -c "ls %*" > %systemroot%\system32\ls.bat
(먼저 Linux 하위 시스템 기능을 활성화 / 설치해야 함)