Windows PowerShell에서 ls -a 명령어가 작동하지 않는 이유

김진환·2023년 11월 15일
1

Unix/Linux 터미널에서 ls 명령어는 현재 디렉토리에 있는 디렉토리와 파일을 나열해 보여준다.

git bash와 Windows PowerShell에서
ls, ls -a, ls -al 명령어를 실행해 보았다.

우선 ls 명령어의 결과가 다르고,
PowerShell 에서는 매개변수 옵션 명령이 동작하지 않는 것을 확인할 수 있다.

PowerShell에서ls -a 명령어가 작동하지 않는 이유는 단순히
PowerShell이 Linux의 Bash Shell과는 다른 명령어 체계를 가지고 있기 때문이다.


https://learn.microsoft.com/ko-kr/powershell/module/microsoft.powershell.management/get-item?view=powershell-7.3

document 대로라면 ls가 아닌 Get-Tiem 명령어를 사용해야한다.

Get-Item .

Directory: C:\

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         7/26/2006  10:01 AM            ps-test

근데 왜 ls는 작동할까?

PowerShell에서는 ls 명령어 대신에 Get-ChildItem 명령어를 사용하는 것이 더 정확하고 권장되는 방법이지만,
유닉스 및 리눅스 사용자들이 익숙한 명령어인 ls를 쓸 수 있도록 PowerShell에서는 ls에 대한 별칭(alias)을 제공한다.

결론

PowerShell 쓸거면 오류없이 언어를 잘 공부하고 쓰자

profile
개발자라는 틀에 얽매이지 않는 성장

0개의 댓글