DEV Community

Pacharapol Withayasakpunt
Pacharapol Withayasakpunt

Posted on

Shell (e.g. Bash) users before coming to Windows Terminal - which shell do you use?

Do you use PowerShell or cmd.exe? Or something else, like Git-bash or WSL?

How do you learn commands? PS and cmd.exe have different commands.

Some of commands I need are

  • which => Get-Command
  • head (I don't need cat) => gc log.txt | select -first 5

Discussion (7)

Collapse
ducaale profile image
Mohamed Dahir

If you have wsl1/wsl2 installed, any commands from wsl can be used in Windows land if you prefix it with wsl e.g wsl touch file.txt.

devblogs.microsoft.com/commandline...

Collapse
patarapolw profile image
Pacharapol Withayasakpunt Author • Edited on

Thanks. I totally forgot that I can do that, no matter cmd.exe or PowerShell.

wsl which python # /mnt/c/Users/Pacharapol W/.pyenv/pyenv-win/shims/python
Enter fullscreen mode Exit fullscreen mode

Surprisingly, this points to the correct answer.

Not to mention that these are useful

wsl du -sh *
wsl head bigfile.csv
Enter fullscreen mode Exit fullscreen mode

Though, I personally don't get the purpose of wsl touch new.txt. I know it creates or modifies timestamp, but why?

Collapse
ducaale profile image
Mohamed Dahir • Edited on

I only have used the touch command to create new files. I am not sure either what is the purpose of modifying file timestamps.

Collapse
shadowtime2000 profile image
shadowtime2000

I use cmd.exe and occasionally Git-bash when it is required for a projects build setup or something. I rarely use commands other than mkdir and cd because I mainly just use Yarn or NPM CLI commands along with code .

Collapse
brunovieira97 profile image
Bruno Vieira

PwerShell 7 always. Actually, being a lifetime Windows user makes me miss some stuff when I go to Linux-based Shells, mostly CUA keybindings. Nothing compares to PSReadLine for selecting text with Ctrl and Shift.

Also, my PS profile has a lot of stuff defined in it, so my environment is exactly the way I like it ;)

(Linux-like aliases are much better than the cmdlets full names btw, would hate to type Get-ChildItem all the time XD)

Collapse
ahferroin7 profile image
Austin S. Hemmelgarn

For stuff that actually has to be run on Windows, PowerShell. It has default aliases that make it easier to adapt to from POSIX sh, and it’s far more capable than CMD even if you do have to quote things more.

In all other cases, I just boot into Linux when I need a shell environment for something...