Windows 명령 프롬프트에서 ls를 만드는 방법은 무엇입니까?


114

Windows 명령 프롬프트에서 ls를 사용하고 dir 명령을 실행하고 싶습니다.

어떻게 할 수 있습니까?


4
일부 답변은 매우 흥미롭지 만 'dir'명령에 정확히 무엇이 잘못 되었습니까?
— Matt Donnan 2012

3
@MattDonnan 나는 ls에 익숙하고 창문에서 만들 때 재미있는 얼굴을 만듭니다. 더 이상 ^^
— aF.

1
@DavidHeffernan은 Windows에 존재하지 않기 때문에?
— aF.

1
물론입니다. 매일 사용합니다.
— David Heffernan

1
@aF. Windows 7을 사용하고 있지만 모든 Windows 버전에서 ls를 실행합니다. 나는 Windows가 ls와 함께 제공된다는 말이 아니라, 오픈 소스이고 좋은 Windows 포트를 가지고 있기 때문에 Windows에서 실행하는 것이 간단합니다. GnuWin32를보세요.
— David Heffernan 2013

답변:


117

다음과 같이 할 수 있습니다.

  • 라는 배치 파일을 만들고 명령 만 ls.bat포함하도록 dir합니다.
  • ls.bat파일이 있는 디렉토리 를 PATH환경 변수에 추가하십시오.

그런 다음 ls명령 프롬프트에서 실행할 수 있습니다.


8
당신이 PATH 추가 할 필요가 없습니다 왜 system32 폴더에있는 ls.bat을 넣지
— 데이비드天宇웡

2
@David 天宇 Wong, 사용자가 해당 폴더에 대한 쓰기 권한이 없을 가능성이 매우 높습니다.
— hmjd

2
args와 함께 사용하면 여전히 작동 ls dir합니까? ls.bat인수를 처리
— 하려면를

I와 같은 : \ NDIR / % w 1 % 오프 @echo 형식 가까이 LS에 도착
— mrcrowl

훌륭한 답변, 이것에 대해 언급 할 수 없어야합니다 ;-)
— Bamboomy

248

하나의 간단한 명령으로이 질문을 해결할 수 있습니다.

echo @dir %* > %systemroot%\system32\ls.bat

cmd.exeVista 이상인 경우 먼저 관리자로 실행하십시오.


14
나는 이것을 두 번 이상 평가할 수 있기를 바랍니다. 훌륭하게 일했습니다.
— MrHappyAsthma

4
dir 옵션을 계속 사용할 수 있기 때문에 더 좋습니다.
— ajon 2013

17
dir %*대신 ls.bat를 통해 dir에 전달되는 명령 줄 인수를 허용 하는 대신 사용 하는 것이 좋습니다 . 그렇지 dir %1않으면를 사용하면 ls 스크립트를 사용할 때 최대 하나의 인수 만 사용할 수 있습니다.
— Adaline Simonian

2
@Vartan 귀하의 의견이 "더보기"임계 값 아래의 첫 번째 항목이라는 점은 유감입니다. 바라건대 @secghost가 이것을보고 언젠가 대답을 수정할 것입니다. 이 작업을 추가 @dir %*하면 추가 줄도 제거되므로 훨씬 더 동일합니다dir
— Captain Man

1
@CaptainMan 아, 그래! 완전히 잊어 버렸습니다 @. 복잡한 출력을 피하기 위해 사용할 멋진 구문. 그러나 Windows가 POSIX와 호환된다면 훨씬 쉬울 것입니다. 적어도 우리는 꿈을 꿀 수 있습니다.
— Adaline Simonian

36

오래된 질문이지만 기록을 위해 :

http://gnuwin32.sourceforge.net/packages/coreutils.htm

ls 및 훨씬 더 많은 것을 제공합니다!


7
+1 ls *하고 dir *똑같은 일을하지 마십시오. 그래서 앨리어싱 dir은 약간 바지입니다.
— Pete Kirkham 2013 년

2
이것이 최고의 답변입니다. 투표를 무시하고 이렇게하십시오.
— 미친 고슴도치

C:\Program Files (x86)\GnuWin32\bin경로 에 추가 하는 것을 잊지 마세요
— omikes

18

내가 찾은 가장 쉬운 방법은 다음과 같습니다.

  1. Windows 용 Git 설치
  2. binGit 디렉토리를 Path 변수에 추가하십시오 . 광산은 C:\Program Files\Git\usr\bin.
  3. 명령 프롬프트를 시작하고 ls모든 영광을 즐기십시오 .

3
의 모든 기능에 대한 액세스를 제공하는 훌륭한 제안은 ls선택적 인수입니다. 그냥 약간의 업데이트는, 나는 창문 자식의 최신 버전을 설치하고 ls.exe는 이제 C에서 찾을 수 있습니다 : \ 프로그램 파일 \ 힘내 \ USR \ 빈
— 필

예, 또는 cmd 대신 git 폴더에서 bash.exe를 시작하고 ~ complete 셸 (ls 포함)을 즐기십시오.
— Johan

git bash는
— 끔찍

16

해결책이 있지만 더럽습니다.

"dir"만 포함하는 ls.bat 파일을 작성하십시오.

C : \ windows \ system32 (또는 PATH env var의 디렉토리)에 넣으십시오.

작동해야합니다!

편집 : 더 일관된 것 : /superuser/49170/create-an-alias-in-windows-xp


9

시스템에 Node.js가 설치되어 있는 경우 Windows에서 Linux 명령 용으로 작성한 라이브러리 인 Cash 에서 설치할 수 있습니다 .

npm install cash-ls -g

Windows에서 Linux 사용자를위한 최고의 솔루션, npm install cash-global -g. (LL) 로 추가 ls -l하면 좋을 것 ll입니다.
— user2925656

그것의 구세주 메이트
— HebleV

6

Vista / 7 용 Windows 명령 프롬프트는 NTFS 심볼릭 링크를 허용하고 cmd.exe를 관리자 권한으로 실행 한 다음 다음을 수행합니다.

mklink ls %System%\dir.exe

그런 다음 방금 만든 링크의 위치를 ​​포함하도록 PATH 환경 변수를 설정합니다.

'ls'명령 이상을 원한다면 cygwin을 살펴 봐야 합니다.

편집-방금 깨달은 dir.exe것은 별도의 프로그램이 아니므로 실제로 작동하지 않습니다. 그러나 mklinkcygwin은 알아야 할 좋은 것들입니다.


+1, 나는 그것이 windows xp라고 말하는 것을 잊었다. 그러나 그것은 windows vista / 7에 좋다 :)
— aF.

4

위의 게시물에 +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 환경 변수 설정에 익숙하지 않은 경우 다음을 참조하십시오.

수퍼 유저 링크 1

수퍼 유저 링크 2


3

cmd가의 ls별칭으로 인식 dir하도록하려면 doskey명령을 사용할 수 있습니다 ( superuser의이 답변에서 ).

이것은 dir 명령의 원래 명령 줄 매개 변수 처리를 변경하지 않습니다.


3

당신은 또한 사용할 수 Cygwin에서 그냥 LS는 당신이 사용할 수있는 모든 다른 유닉스 명령 행 도구와 함께 직접 명령을 사용합니다.


3

내 ls.bat는 아래에 있었다

@dir %*

cli args를 전송할 수 있습니다.

ls /b
ls /w

% windir % 또는 % PATH % 변수의 디렉토리에 넣으십시오.

ANSI 인코딩으로 파일을 저장하십시오. :)


2

다음 레시피를 추천합니다.

  1. 사용 DOSKEY및 $*사용자 생성 ls명령을 사용합니다.
  2. .bat / .cmd 파일에 기록하여 명령을 영구적으로 만들고 파일 경로를 레지스트리에 추가하십시오.

예를 들어, 명령이
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가 실행될 때마다 명령이로드됩니다!

배치 파일에도 더 유용한 것들을 추가 할 수 있습니다. 예제 템플릿 은 여기 를 참조 하십시오 .


2

나를 위해 일한 또 다른 해결책은 사용하는 것입니다 UnxUtils (를 포함하여 실행 파일에서 여러 유틸리티를 추가 ls, sed및 grep).

사용하려면 : 소스 코드 다운로드 . 압축을 풉니 다. UnxUtils\usr\local\wbinWindows PATH 변수에 경로를 추가하십시오 . 새 CMD 인스턴스를 시작합니다.


0

분명히 ls는 배치에 대한 유닉스 명령으로 작동하지 않습니다. -l 또는 -a 등의 모든 조합에 대해 % 1을 (를) 확인하면 작동합니다 ...


0

이 가이드를 따를 수 있습니다 : 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..

서식 및 기타 실수로 인해 죄송합니다. 여기에 처음으로 답변했습니다. 도움이 되었기를 바랍니다.


0

Windows 용 Linux 하위 시스템을 사용하는 사람 ls은 Linux bash에서 호출 할 수 있습니다. 다음 명령은 lsSystem32에서 명령을 만듭니다 .

echo @bash -c "ls %*" > %systemroot%\system32\ls.bat

(먼저 Linux 하위 시스템 기능을 활성화 / 설치해야 함)


당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.