Windows type command in linux

What is Windows’ equivalent of the «which» command in Unix? Is there an equivalent PowerShell command?

In Linux, we have the «which» command to find out the path of an executable.
What is its Windows equivalent? Is there any PowerShell command for doing that?

6 Answers 6

Newer versions of Windows (I think Windows 2003 and up) have the where command:

C:\>where ping C:\Windows\System32\PING.EXE 

And for PowerShell, explicitly add the .exe suffix:

PS C:\>where.exe ping C:\Windows\System32\PING.EXE 

where /r c:\ fileName adding the /r c:\ allowed me to perform a recursive search starting at the root of the C drive using Windows 7 Professional it seems to not be in access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/…

in Powershell you should say where.exe ping because where is by default aliased to Where-Object cmdlet which is completely different story

Yes, Get-Command will find all commands including executables:

If you want to limit the commands to just executables:

PS\> Get-Command -CommandType Application 

Will find all exes in your path. There is an alias for interactive use:

PS\> gcm net* -CommandType Application 

To get the path of an executable, you can use the Path property of the returned object. For example:

PS\> (Get-Command notepad.exe).Path 

For more info, run man Get-Command -full .

where.exe explicitly rather than where works for me in PowerShell:

PS C:\Users\birdc> where ping PS C:\Users\birdc> where.exe ping C:\Windows\System32\PING.EXE 

In addition to user10404, the help command will work on aliases, so you can use the same command name (gcm) for help and interactive use:

help gcm -Parameter * # or man gcm -Par * 

If you want to make it short, create a one line which.cmd file with the content

This will search the first parameter (%1) fed to the script and display the full path of found file. Good place to put this script in windows 10 is %LOCALAPPDATA%\Microsoft\WindowsApps\which.cmd

And you get your which command in path.

c:\>which cmd.exe c:\>echo C:\Windows\System32\cmd.exe C:\Windows\System32\cmd.exe 

Источник

Сответствие консольных команд Windows и Linux.

При переходе с Windows на Linux и наоборот, для тех, кто знаком с командной строкой, может пригодиться небольшая справка по соответствию консольных команд этих операционных систем. Естественно, полного соответствия, за редким исключением, не бывает, и в приведенной таблице собраны команды, идентичные по результатам выполнения или функционально близкие.

Читайте также:  Linux secure boot system

Соответствие команд CMD Windows командам Linux

Строчные и заглавные буквы для команд командной строки Windows воспринимаются одинаково, ECHO и echo — будет интерпретировано как одна и та же команда. При работе в командной строке Linux соблюдение регистра символов обязательно.

И в Linux, и в Windows используются специальные символы (иногда их еще называют метасимволами), которые интерпретируются оболочкой пользователя как определенные команды или данные.

Наиболее распространенные спецсимволы CMD Windows и оболочки bash Linux

Описание Спецсимвол CMD Windows Спецсимвол Linux
Объединение команд | и & (|| и &&) | и & (|| и &&)
Выполнение задачи в фоновом режиме &
Подстановочные значения в строках * и ? * и ?
Набор символов [ ]
Отмена спецсимвола ^ \
Перенаправление ввода или >> > или >>
Значение переменной %переменная% $переменная
Домашний каталог ~
Текущий каталог . .
Родительский каталог .. ..
Комментарий #

В Linux набор спецсимволов зависит от используемой оболочки, и в любой из них спецсимволы используются чаще и их набор больше, чем в командной строке Windows. При чем, даже если спецсимволы одинаковы, их применение может приводить к разным результатам. Например, шаблоны имен файлов, задаваемые с помощью символа звездочки:

*.* — и в Linux, и в Windows такая конструкция означает – ”любые имена файлов с любым расширением”.

Аналогичным образом используется и знак вопроса, означающий ”любой одиночный символ” и в Linux, и в Windows.

test?.* — все файлы, имена которых начинаются со строки test и имеющие после нее любой символ. Однако особенности реализации командных интерпретаторов, могут приводить все же к разным результатам использования вроде бы аналогичных конструкций:

ls . * — эта команда Linux отобразит список файлов с длиной имени в 5 символов.

dir . * — эта команда Windows отобразит список файлов с длиной имени в 5 символов и меньше.

При использовании шаблона . txt в Windows отобразятся все файлы с именами длиной в 5 символов и менее, с расширением и .txt и .TXT. В Linux – с именами в 5 символов, и только те файлы, у которых расширение не содержит заглавные буквы.

Использование команд Linux в среде Windows.

С появлением в Windows 10 Подсистемы Windows для Linux (WSL – Windows Subsystem for Linux) пользователь получил возможность использовать в командной строке Windows команды оболочки Linux, появилась возможность создавать сценарии, в которых будут использоваться и команды CMD Windows, и команды оболочки Linux. Например, командный файл для вывода списка определенных файлов каталога C:\Windows\System32:

Читайте также:  Install pam on linux

REM вывод списка файлов с 3-символьными именами и
REM расширением .exe средствами Linux
wsl ls /mnt/c/windows/system32/. exe

REM вывод списка файлов с 3-символьными именами и
REM расширением .exe средствами Windows

По умолчанию, Подсистема Windows для Linux не включена. Как ее включить и настроить – в отдельной статье, ссылка на которую приведена в конце страницы.

После установки и настройки WSL, в командных файлах CMD Windows можно использовать утилиту wsl.exe , обеспечивающую конфигурирование и выполнение команд Linux.

wsl ls /mnt/c/windows/system32/. exe — команда wsl, обеспечивающая исполнение в обычном bat-файле линуксовой команды ls /mnt/c/windows/system32/. exe .

После установки подсистемы WSL, кроме утилиты wsl.exe в среде Windows будут присутствовать еще и утилиты wslconfig.exe и bash.exe обеспечивающие максимальную совместимость Windows и Linux.

Источник

How does the Windows command type work

So I think «cat» in Linux actually concatenates files as 2 chunks of memory(hopefully). My concern is the «type» command in Windows, judging by the name I believe it may read and write the files, to a new file. I don’t know how much time this will take if it does this. This is how its used (just like cat it combines both files to the out file):

To combine two files, you may also use copy file_name1.txt + file_name2.txt out.txt ; to append to the output file, simply do copy out.txt + file_name1.txt + file_name2.txt out.txt .

Stack Overflow is a site for programming and development questions. This question appears to be off-topic because it is not about programming or development. See What topics can I ask about here in the Help Center. Perhaps Super User would be a better place to ask.

2 Answers 2

No. cat in Linux works by reading all the files in the command line and writing them in the standard output. If the command line is empty it will read the standard input.

It reads file1 and writes it to stdout . When finished, it reads file2 and writes it to stdout too. But, ah!, the shell has redirected stdout to append to file3 , so that is where both files are written.

And type in Windows works basically the same, except that the command line cannot be empty (for that you can use copy CON ).

Now, cat command in Linux may have a few optimizations to avoid too many copies of the data in memory, such as splice(2) but that should be viewed as an optional optimization.

Читайте также:  Linux все дистрибутивы habr

Источник

UNIX For DOS Users

The following table shows a comparison between DOS (COMMAND.COM and MS/Windows NT CMD.EXE shell commands) and the equivalent Linux/Unix or Bash shell commands.

Related YoLinux Tutorials:

export variable=value
echo $variable

DOS Descriptor/Operator UNIX or Bash Descriptor/Operator Description
\ / Directory path delimiter
.\ ./ Current directory
..\ ../ Parent directory
ctrl-z ctrl-d End of file/close shell
ctrl-c ctrl-c Interrupt/process break
* * file name wild card
? ? Single character wild card
%VAR% $VAR Variable prefix
%1 %2 %3 $1 $2 $3 First, second and third shell command line arguments.
/ Command line option flag prefix
| | Pipe
> > stdout redirection
>> >> stdout redirection overwrite
stdin redirection

IF NOT EXIST C:\filename

if [ -e /dir/filename ];
then

if [ ! -e /dir/filename ];
then

FOR %%fff IN (C:\dir\*.*)
DO echo %%fff

for ffiillee in lliisstt;
do . ;
done

for (( expr1; expr2; expr3; ))
do . ;
done

The following are bash shell aliases which can be added to the system profile or the user’s personal profile ($HOME/.bashrc) to correct and help DOS users on Linux.

alias dir="echo 'Use the command: ls -lF'" alias tree="echo 'Use the command: ls -R'" alias del="echo 'Use the command: rm -iv'" alias move="echo 'Use the command: mv -iv'" alias rename="echo 'Use the command: mv -iv'" alias copy="echo 'Use the command: cp -piv'" alias type="echo 'Use the command: cat'" alias cls="echo 'Use the command: clear'" alias mem="echo 'Use the command: free'" alias ver="echo 'Use the command: uname -a'" alias A:="echo 'Use the command: mdir a:'" alias a:="A:" alias C:="echo 'No C drive in Linux. Go to your home directory with the command: cd'" alias c:="C:"
DOS Device Linux Device Description
NUL /dev/null Send into nothingness
CON stdin stdin from console
PRN
LPT1
/dev/lp0 First printer device
COM1 /dev/ttyS0 Firsst serial port
MS/Windows Command Linux Command Description
C:\WINDOWS\cmd gnome-terminal
konsole
Command Text Terminal
C:\WINDOWS\explorer nautilus —no-desktop File browser
c:\Program Files\Internet Explorer\iexplore firefox
mozilla
Web browser
C:\WINDOWS\notepad
C:\Program Files\Windows NT\Accessories\wordpad
gedit Text editor
C:\Program Files\Microsoft Office\Office10\winword
excel
powerpnt
oowriter
oocalc
ooimpress
MS/Office and Open Office suites (ooffice)
C:\Program Files\Adobe\Acrobat 7.0\Reader\acrord32 acroread Adobe PDF viewer
mspaint tuxpaint
xfig
gimp
Graphics and painting program
C:\Program Files\WinZip\winzip32 file-roller File compress / decompress / pack / unpack
taskmgr ksysguard
qps
gnome-system-monitor
xosview
Process and system load monitor

Источник

Оцените статью
Adblock
detector