Windows 명령 프롬프트에서 ls를 사용하고 dir 명령을 실행하고 싶습니다.
어떻게 할 수 있습니까?
Windows 명령 프롬프트에서 ls를 사용하고 dir 명령을 실행하고 싶습니다.
어떻게 할 수 있습니까?
답변:
다음과 같이 할 수 있습니다.
ls.bat포함하도록 dir합니다.ls.bat파일이 있는 디렉토리 를 PATH환경 변수에 추가하십시오.그런 다음 ls명령 프롬프트에서 실행할 수 있습니다.
하나의 간단한 명령으로이 질문을 해결할 수 있습니다.
echo @dir %* > %systemroot%\system32\ls.bat
cmd.exeVista 이상인 경우 먼저 관리자로 실행하십시오.
dir %*대신 ls.bat를 통해 dir에 전달되는 명령 줄 인수를 허용 하는 대신 사용 하는 것이 좋습니다 . 그렇지 dir %1않으면를 사용하면 ls 스크립트를 사용할 때 최대 하나의 인수 만 사용할 수 있습니다.
@dir %*하면 추가 줄도 제거되므로 훨씬 더 동일합니다dir
@. 복잡한 출력을 피하기 위해 사용할 멋진 구문. 그러나 Windows가 POSIX와 호환된다면 훨씬 쉬울 것입니다. 적어도 우리는 꿈을 꿀 수 있습니다.
ls *하고 dir *똑같은 일을하지 마십시오. 그래서 앨리어싱 dir은 약간 바지입니다.
C:\Program Files (x86)\GnuWin32\bin경로 에 추가 하는 것을 잊지 마세요
내가 찾은 가장 쉬운 방법은 다음과 같습니다.
binGit 디렉토리를 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것은 별도의 프로그램이 아니므로 실제로 작동하지 않습니다. 그러나 mklinkcygwin은 알아야 할 좋은 것들입니다.
위의 게시물에 +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에서 호출 할 수 있습니다. 다음 명령은 lsSystem32에서 명령을 만듭니다 .
echo @bash -c "ls %*" > %systemroot%\system32\ls.bat
(먼저 Linux 하위 시스템 기능을 활성화 / 설치해야 함)