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, sedgrep).

사용하려면 : 소스 코드 다운로드 . 압축을 풉니 다. 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.